Opsi + klik di iTerm

16

Di Terminal, Opsi + klik memungkinkan saya untuk menempatkan kursor saya pada titik mana pun pada baris saat ini - bagus untuk mengedit perintah yang sangat panjang.

Bagaimana saya bisa melakukan ini di iTerm2?

Pembaruan: Menurut halaman ini , fitur telah ada sejak 0.7.0 (2003). Saya juga memperhatikan bahwa jika saya memegang Command + Option, kursor berubah menjadi salib yang dikenal seperti di Terminal ... tetapi mengklik masih tidak memposisikan ulang kursor saya.

Jeff
sumber
Saya telah melihat kode sumber dan ya fitur itu ada di 0.7.0 dari iTerm (bukan iTerm2). Tetapi dikomentari (dalam file PTYSession.m) di bagasi (dan mungkin versi sebelumnya juga). Dan itu iTerm2 fungsinya masih ada tetapi kosong dan karenanya tidak melakukan apa-apa.
boretom

Jawaban:

6

Saya bertanya-tanya "Betapa Sulitnya (c)" untuk mengimplementasikannya dan mencobanya hari ini.

Terminal.app tampaknya meniru urutan ESC 'pindahkan kursor ke kiri / kanan'. Anda akan mendengar bunyi 'bip' yang terkenal jika Anda mencoba menempatkan kursor pada prompt shell. Dan Anda akan mendengarnya berkali-kali karena ada gerakan yang tidak valid.

Solusi di iTerm2 berfungsi sama dengan menerapkan urutan ESC yang sesuai. Meskipun berbunyi bip hanya sekali jika Anda mencoba menempatkan kursor di area yang tidak valid;)

Terminal.app tampaknya tidak dapat menangani permintaan multi-line, hanya bergerak di baris terakhir tampaknya berfungsi. Prompt multi-line dalam implementasi ini harus ditangani dengan benar.

Hasil dapat ditemukan di github . Ini adalah garpu dari dokumen asli dengan permintaan tarik yang tertunda. Cabang tempat saya bekerja dinamai 'option-click-hardcoded'.

Dan tentu saja ini sangat tidak teruji. Itu berarti hanya diuji oleh saya di MacBook Pro akhir 2007 saya yang menjalankan Mac OS X 10.7.3.

Jika Anda ingin mencobanya dengan mengompilasinya sendiri atau mengunduh biner yang telah dikompilasi untuk i386 / x86_64 / ppc iTerm_v1.0.0.git-085ec22c.zip ).

boretom
sumber
wow, barang bagus! biner yang sudah dikompilasi sebelumnya tampaknya bekerja dengan baik pada saya tetapi akan mengawasi. Terima kasih banyak!
Jeff
404 tidak ditemukan ...
aeroksi
1
Hai @ aeroxy, perubahan itu sudah lama tergabung dalam iTerm hulu ( github.com/gnachman/iTerm2/pull/77 ). Beberapa waktu yang lalu saya menghapus garpu saya karena hanya itu yang ada.
boretom
@boretom maka tampaknya milikku iterm2 3.1.5.beta.1 masih memiliki masalah serupa. Sepertinya ketika saya melakukan Opsi-Klik itu hanya pergi ke perintah terakhir (panah ke atas). apple.stackexchange.com/questions/305554/...
aeroxy
@ aeroxy, jika berfungsi baik dengan 3.1.5.beta2 di macOS 10.12.6 saya dengan "Opt-Click move cursor" dicentang di Preferensi> Pointer. Ini semua tentang memposisikan kursor pada baris saat ini. Itukah yang ingin Anda capai?
boretom
2

iTerm 2 bukan versi baru iTerm - sementara berdasarkan kode sumber yang sama, ada perubahan besar di bawah tenda. Salah satu hal yang dihapus atau rusak (sulit untuk berbicara dengan maksud pengembang) adalah posisi kursor.

Anda bukan satu-satunya yang memperhatikan penghilangan ini; itu telah diajukan sebagai bug sejak April 2011 dan terus menarik perhatian. Pilihan terbaik Anda untuk mendapatkan fitur ini (selain memalsukannya di GitHub atau beralih ke aplikasi lain) adalah mengirimkan komentar di situs Google Code di atas. Semoga dengan minat yang cukup, fitur ini akan membuatnya kembali menjadi produk.

David
sumber
1

Versi terbaru iterm2 (saya menggunakan Build 2.9.20150812-nightly) memiliki fitur ini, tetapi agar dapat bekerja dengan banyak baris Anda harus mengaktifkan integrasi shell seperti dijelaskan di https://gitlab.com/gnachman/ iterm2 / issues / 3638 .

Untuk menginstal iTerm terbaru, saya menggunakan minuman dan menjalankan yang berikut:

brew tap caskroom/versions && brew cask install iterm2-nightly

Ben Creasy
sumber
1

Jawaban saya diuji pada 2019 dengan iTerm2.

Buka Pengaturan> Profil, pilih profil yang diinginkan (bisa menjadi Default, Anda harus mengulangi ini untuk masing-masing), pilih tab "Tombol", dan ubah perilaku tombol KIRI dan KANAN Opsi (alt). ke Esc +

masukkan deskripsi gambar di sini

Ini sebenarnya di FAQ mereka:

T: Bagaimana cara membuat tombol opsi / alt bertindak seperti Meta atau mengirim kode melarikan diri? A: Buka Preferensi> tab Profil. Pilih profil Anda di sebelah kiri, dan kemudian buka tab Keyboard. Di bagian bawah adalah serangkaian tombol yang memungkinkan Anda memilih perilaku tombol Pilihan. Bagi sebagian besar pengguna, Esc + akan menjadi pilihan terbaik.

BONUS

Jika Anda bertanya tentang Opsi (Alt) + klik, saya berasumsi Anda juga ingin Opsi (Alt) + Backspace Anda berfungsi.

Di UI yang sama (panel Tombol), klik tombol "Load Preset" dan pilih "Natural Text Editing". Ulangi itu untuk masing-masing preset Anda.

Sekarang Anda akan memiliki Opsi + klik dan Opsi + backspace bekerja.

sandre89
sumber