Terminal Mac OS X: dukungan mouse?

75

Apakah ada opsi asli (mis. Tanpa menginstal soft soft / package / plugins) untuk mengaktifkan dukungan mouse di aplikasi Terminal?

Sebenarnya, saya menggunakan banyak vimdengan opsi set mouse=a(mengaktifkan fitur mouse).

Tetapi sepertinya Terminal tidak mendukung semua fitur xterm.

Tampaknya (setelah beberapa googling) bahwa Terminal pernah mendukung mouse, tapi saya ingin tahu kemana perginya.

NB: Saya sangat ingin dukungan mouse di Terminal, tidak hanya untuk vim, jadi tolong, jangan sarankan MacVim:]

avetis.kazarian
sumber
Apa yang didukung xterm yang tidak dimiliki Terminal? Salin pada sorotan dan tempel tengah?
Ignacio Vazquez-Abrams
Pelaporan mouse. Ini adalah dukungan mouse asli. Copy-on-highlight, middle-paste, dll. Tidak benar-benar terkait dengan Terminal sejauh yang saya tahu.
2
copy-on-highlight dan paste-tengah makan Terminal terkait - di Terminal yang tidak melakukannya - Anda bisa mencoba ITerm untuk mereka
Mark
@ Mark: Saya memeriksanya dan menyukainya. Padahal Terminal menangani karakter tebal yang jauh lebih baik. Bagaimanapun, terima kasih.
2
@Arjan: beberapa aplikasi CLI interaktif mendukung mouse; misalnya, memposisikan kursor teks dalam vim.
DAPAT DITERIMA

Jawaban:

104

Saya menemukan jawabannya!

Seorang teman memberi tahu saya triknya, sangat mudah sehingga saya malu.

Cukup tekan tombol alt dan klik! (dengan dukungan mouse yang sebelumnya diaktifkan di vim)


UPDATE untuk OSX 10.11 El Capita

Silakan lihat jawaban Chris Page .

avetis.kazarian
sumber
11
Saya telah menjadi pengguna daya OS X untuk apa yang terasa seperti setengah abad, dan saya tidak pernah tahu ini. Saya sangat terkesan. Saya berharap saya bisa memberi Anda seratus suara, bukannya satu.
DAPAT DITERIMA
4
Pokoknya untuk menonaktifkan persyaratan untuk digunakan alt?
philfreo
8
Itu tidak sama, bagi saya toh. Seringkali saya mengklik sebuah karakter dan kursor berakhir di tempat lain, agak dekat dengannya. Ini juga tidak berfungsi untuk mengganti tab di vim. Tampaknya juga tidak berfungsi dengan baik untuk beralih windows di tmux.
andyortlieb
1
@andyortlieb: itu sebabnya saya pindah ke iTerm2.
avetis.kazarian
2
tidak ada pekerjaan untuk saya.
Mike Graf
23

Pada OS X 10.11 El Capitan, Terminal mendukung Pelaporan Mouse.

Perhatikan bahwa program yang mendukung Pelaporan Mouse harus mengaktifkannya melalui urutan penyelamatan, dan bahwa sebagian besar program yang mendukung Pelaporan Mouse harus dikonfigurasikan untuk mengaktifkannya. Misalnya, di Vim Anda harus menjalankan set mouse=a(biasanya di ~/.vimrcfile Anda ).

Terminal mendukung pelaporan tiga tombol mouse dan roda gulir. Untuk mensimulasikan pers tombol-tiga dengan perangkat dua tombol, Anda dapat menggunakan Command-Right-Click. (Command-Right-Click juga melakukan Edit> Paste Selection ketika Mouse Reporting mati, jadi Middle-Click akan menempelkan teks yang paling baru dipilih apakah Anda menggunakan Mouse Reporting atau tidak.)

Saat Pelaporan Mouse diaktifkan, tombol Option ⌥pengubah dipetakan ke Meta untuk mengklik dan menggulir, dan tidak terpengaruh oleh preferensi keyboard “Gunakan Opsi sebagai kunci Meta”, yang hanya berlaku untuk input keyboard.

Untuk memotong secara sementara Pelaporan Mouse dan berinteraksi dengan tampilan terminal, tekan tombol Fnpengubah sambil mengklik atau menggulir. Ada juga item menu View> Allow Mouse Reporting (⌘R) yang dapat Anda gunakan untuk mem-bypass Reporting Mouse untuk periode waktu yang lebih lama, atau jika kunci pengubah tidak tersedia.

Perhatikan bahwa, ketika diaktifkan, Pelaporan Mouse menggantikan perilaku Opsi-Klik Terminal yang ada (yang mengirimkan input tombol panah untuk menggerakkan kursor) dan perilaku “Gulir layar alternatif”. Selain itu, item menu Izinkan Pelaporan Mouse dan Fnpengubah juga berlaku untuk "Gulir layar alternatif" untuk membiarkan Anda melewati sementara perilaku ini.

Chris Page
sumber
"Izinkan Pelaporan Mouse" adalah jawaban untuk saya. iTerm2 memiliki fitur ini tetapi saya hanya ingin menggunakan aplikasi Terminal builtin karena sifatnya yang ringan.
Kay
@Kay: Saya senang Anda menyukainya, tetapi, agar lebih jelas, item menu "Izinkan Pelaporan Mouse" tidak mengaktifkan Pelaporan Mouse. Ini hanyalah perintah untuk membiarkan Anda berinteraksi sementara dengan tampilan terminal alih-alih mengirim input mouse ke program jarak jauh ketika Mouse Reporting telah diaktifkan. Program mengaktifkan Pelaporan Mouse dengan mengirimkan urutan kontrol ke terminal.
Chris Page
12

Sebagai alternatif untuk menggunakan Alt-klik untuk mengatur kursor in vi dengan OS X Terminal, saya ingin menyarankan menggunakan iTerm 2:

Saya ingin dukungan mouse di Terminal vi (Mac OS X 10.7 Lion), tetapi tidak ada dukungan untuk bergulir dengan roda gulir. Saya akhirnya beralih dari Terminal ke iTerm 2, yang mendukung pengguliran roda gulir vi, dan Anda tidak perlu menahan alt untuk mengatur kursor.

Jika Anda tidak menggunakan beberapa fitur yang lebih canggih di aplikasi Lion's Terminal , Anda mungkin cukup senang dengan iTerm 2.

Sunting : Untuk mengaktifkan dukungan mouse di Vim saat menggunakan iTerm 2, tambahkan baris berikut ke .vimrc Anda:

:set mouse=a
Steve HHH
sumber
Bagaimana Anda bisa menggulir ke bawah menggunakan roda mouse? Itu hanya naik buffer layar, dan Anda bisa mendapatkannya di Terminal.app dengan menonaktifkan penggunaan buffer layar alternatif, misalnya dalam vim menggunakan set t_ti= t_te=di Anda ~/.vimrc.
Daniel Beck
Saya memang perlu mengkonfigurasi :set mouse=adi .vimrc saya - itulah cara normal untuk mengaktifkan dukungan mouse di Vim, tetapi tampaknya input mouse dimakan oleh Terminal.app. Menggulir ke atas dan ke bawah dalam file teks dengan roda gulir tampaknya berfungsi dengan baik di iTerm2.app.
Steve HHH
Pada MacOS Mojave (10.14) saya tidak punya masalah menggunakan mouse dalam vim menggunakan Terminal OSX.
gagarine
1

Tampaknya pada OS X 10.4 (saya tidak yakin tentang 10.5) Anda dapat mengaktifkan dukungan mouse. Buka Terminal, lalu klik Pengaturan Jendela. Klik Emulasi dari daftar drop-down dan kemudian centang opsi "Klik untuk memposisikan kursor".

Joe D
sumber
1
Sebenarnya, tidak ada yang seperti "Pengaturan Jendela" di preferensi Terminal pada 10,5 dan tidak pada 10.6. Yang bisa Anda lakukan di tab "Jendela" adalah mengubah warna latar belakang, ukuran gulir, judul, dan ukuran jendela.
1
Itu pasti hanya pada 10,4 lalu ...
1
Ini bukan dukungan mouse. Apa yang akan dilakukan adalah memungkinkan Anda untuk mengklik opsi bagian terminal, dan Terminal.app akan menghitung berapa banyak karakter garis naik / turun / kiri / kanan yang diperlukan untuk memindahkan kursor di sana, dan kemudian mengetiknya. Sangat berguna tetapi tidak seperti yang diinginkan OP, saya tidak berpikir.
Josh
1

Perhatikan bahwa Mac OS X memiliki xterm selain Terminal.app. Saya tidak tahu dari pertanyaan Anda jika Anda mengetahui hal ini. Tetapi jika Anda menginstal paket X11, Anda dapat menjalankan jendela xterm dan dukungan mouse berfungsi dengan baik.

Josh
sumber
0

MouseTerm tampaknya menjadi plugin SIMBL yang sempurna bagi mereka yang menginginkan dukungan mouse yang layak di Terminal Mac OS X mereka. Pada Mei 2013, versi terbaru (1.0b1 dirilis pada Juli 2011) menyatakan menambahkan fitur berikut untuk aplikasi Terminal standar OS X:

  • Pelaporan tombol mouse.
  • Pelaporan roda gulir mouse.
  • Pengguliran roda mouse simulasi untuk program seperti kurang (mis. Program layar penuh apa pun yang menggunakan mode kunci kursor aplikasi).
  • Integrasi profil terminal (dengan dialog preferensi).

Saya menggunakan tmux dan vim dengan itu, dan memungkinkan saya untuk tidak hanya mengklik (tanpa tombol opsi!) Tetapi juga gulir dan seret di dalamnya dengan sedikit konfigurasi: misalnya, :set mouse=auntuk vim, dan tmux set-window-option mode-mouse on. Sangat mudah untuk beralih pelaporan mouse (dengan kombinasi tombol tunggal ⇧⌘M, atau dari menu Shell), jadi tidak ada ruginya untuk menginstalnya.

(Peringatan: Mengklik / memutar dalam mode salin tmux tidak berfungsi seperti yang saya harapkan.)

netj
sumber
Peringatan lain - saya perhatikan bahwa setelah saya memulai Terminal setelah masuk, dukungan mouse tidak berfungsi sama sekali sampai saya keluar dari Terminal dan memulainya lagi.
Michael
@Michael: Gejala Anda terdengar familier dengan SIMBL Issue 13 yang lama . Memperbarui SIMBL mungkin akan memperbaikinya. (0.9.9 atau 0.9.9b)
netj
mencoba 0.9.9, tidak berhasil. mencoba AppleScript di komentar # 23, mendapat "Diharapkan ujung baris tetapi menemukan pengenal" (diubah "Snow Leopard" menjadi "Lion", tetapi saya menjalankan Lion ...)
Michael
juga mencoba 0.9.9b (Ditambal untuk Lion), dan itu tidak memperbaikinya juga. masih harus memulai ulang Terminal sebelum dapat menerima acara mouse.
Michael
0

Anda dapat mengatur emulasi xterm dalam preferensi tingkat lanjut, setidaknya di Terminal 2.4 (OS X 10.9.3). Ini mengaktifkan dukungan mouse yang tepat untuk saya.

Tom S
sumber
Tidak berfungsi (pastikan untuk menguji dengan vim dan tmux).
avetis.kazarian