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?

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’.


Terima kasih. saya mencoba iTerm 2, itu berhasil dengan itu, tapi masih ... sungguh menyebalkan ... selamat datang kembali ke hidup saya, Xcode
Marty
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.