Dalam vim, bagaimana cara memetakan "command-right" dan "command-left" ke awal baris dan akhir baris pada mac?

10

Saya mencoba membuatnya seperti pengeditan teks default di Mac. Saya mencoba map! <D-Left> 0 dan map! <D-Right> $ dalam ~ / .vimrc, tetapi tentu saja itu tidak berhasil. Bagaimana saya bisa melakukan ini?

Marty
sumber

Jawaban:

9

Sejauh yang saya tahu, sintaks pengubah tombol Command ( <D-...>) hanya efektif dalam contoh mode GUI dari Vim pada Mac OS X.

The Vim misalnya harus berbasis GUI karena kebanyakan emulator terminal ( Terminal , iTerm , dll) tidak menghasilkan urutan kontrol untuk kombinasi tombol Command, sehingga contoh tty-satunya dari Vim tidak memiliki cara untuk mengetahui bahwa kunci kombinasi Command pernah ditekan (terminal emulator tidak pernah mengirim apa pun di antarmuka tty). Faktanya, Terminal mengikat ⌘ ← dan ⌘ → (Command-Left dan -Right) untuk bersepeda melalui jendela yang terbuka, jadi kunci-kunci itu “sudah diambil” ketika Anda mengetik dalam konteks Terminal .

MacVim (ketika dijalankan dalam mode GUI) memang datang dengan pemetaan fungsional untuk (di antara penekanan tombol Mac lainnya)<D-Left>dan<D-Right>(masing-masing, untuk<Home>(hampir identik dengan0) dan<End>(identik dengan$)). Satu peringatan adalah bahwa pemetaan default ini dibuat$VIM/gvimrc, sehingga mereka hanya dapat diganti dengan benar dari~/.gvimrc Anda.

Saya pikir sudah ada versi VUI berbasis GUI lainnya untuk Mac OS X, tapi sepertinya MacVim satu-satunya yang modern.

Secara kasar, file startup diproses dalam urutan ini: $VIM/vimrc, ~/.vimrc, $VIM/gvimrc, ~/.gvimrc. Sejak MacVim ‘s $VIM/gvimrcpeta <D-Left>, Anda harus menempatkan pemetaan Anda <D-Left>(jika Anda benar-benar ingin menimpa) di Anda ~/.gvimrcsehingga memiliki‘akhir katakanlah’.

Chris Johnsen
sumber
Terima kasih. saya mencoba iTerm 2, itu berhasil dengan itu, tapi masih ... sungguh menyebalkan ... selamat datang kembali ke hidup saya, Xcode
Marty