iTerm2 Vim alt + panah kanan / kiri

13

Sebagai pengguna Linux, saya sangat terbiasa untuk beralih dari kata ke kata di vim / nano menggunakan ALT+ leftatau right.

Ini sepertinya tidak berfungsi dengan baik menggunakan iTerm, saya menggunakan zsh, saya mencoba menambahkan;

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

Itu bekerja, tetapi di dalam zsh saja, maka saya berkomentar garis-garis itu dan menambahkan pintasan keyboard di iTerm;

masukkan deskripsi gambar di sini

Itu berhasil, tetapi hanya untuk ALTleft

Bagaimana saya bisa membuatnya bekerja untuk panah yang tepat juga?

seds
sumber

Jawaban:

10

Dalam properti iTerm, buka Profiles -> Keys dan setup di sana

  • Untuk ⌥→Kirim Escape Urutan[1;5C
  • Untuk ⌥←Kirim Escape Urutan[1;5D

masukkan deskripsi gambar di sini

eiennohito
sumber
Itu tidak berhasil untuk saya. Urutan melarikan diri dikirim, tetapi vim hanya bergerak satu ruang bolak-balik. Menjalankan vim 7.3 default yang menyertai OS X 10.8. Idealnya, saya ingin mengubahnya di sisi vim, tidak mengubah standar emulator Terminal (karena itu akan menghasilkan portabilitas yang lebih baik).
slhck
Itu aneh, ia bekerja baik dalam vim (dari homebrew, bukan yang default) dan zsh dengan konfigurasi default dari oh-my-zsh (di ~ / .oh-my-zsh / lib / key-bindings.sh).
eiennohito
Tidak bekerja di sini juga, saya bisa menggunakan alt + panah di dalam zsh, di Vim hanya bekerja dengan shift + panah :(
seds
Saya memeriksanya sekali lagi pada sistem jarak jauh yang tersedia (ubuntu 13.04, stabil debian, dan linux ilmiah) dan bekerja di mana-mana. Apa outputnya ketika Anda menekan Control + V, ⌥ →? Bagi saya itu adalah ^ [[1; 5C
eiennohito
Bekerja untuk saya: iTerm / Vi + zsh
Petro Semeniuk
7

Mulailah dengan melihat kode kunci yang dikirim terminal Anda ke vim:

$ sed -n l
^[[1;9D 

Pada contoh di atas, saya menjalankan perintah sed dan menekan Alt + Left.

The ^[[1;9Dadalah urutan melarikan diri dikirim ke vim, jadi kami bisa pengguna yang untuk pemetaan kami.

Tambahkan ke vimrc:

map <Esc>[1;9D :tabn<CR>
lfender6445
sumber
Terima kasih, itu berhasil untuk saya.
j5shi
0

Tidak satu pun dari jawaban itu yang berhasil untuk saya. Saya akhirnya memuat VM linux dan memeriksa apa yang saya dapatkan <Alt-ARROW>.

4 urutan pelarian yang bekerja untuk saya adalah mereka:

  • <Alt+Up>: [1;3A
  • <Alt+Down>: [1;3B
  • <Alt+Right>: [1;3C
  • <Alt+Left>: [1;3D

Hati-hati untuk mengedit kunci Profil dan bukan yang utama yang akan diganti oleh yang Profil (di mana Alt + Panah diatur secara default ke Hex Sequence yang tidak bekerja dengan vim).

Jerska
sumber
-1

Hanya solusi lain yang mungkin, vim menawarkan gerakan kata sendiri, lihat:

:help word-motions
tnull
sumber
2
Anda harus memasukkan informasi penting daripada hanya menempatkan referensi di sini.
pabouk