В vim, как отобразить «command-right» и «command-left» на начало строки и конец строки на Mac?

10

Я пытаюсь сделать так, чтобы это было как редактирование текста по умолчанию в Mac. Я пробовал map! <D-Left> 0 и map! <D-Right> $ в ~ / .vimrc, но, конечно, это не сработало. Как я могу это сделать?

Marty
источник

Ответы:

9

Насколько я знаю, синтаксис модификатора клавиши Command ( <D-...>) эффективен только в экземплярах Vim в графическом режиме в Mac OS X.

Vim экземпляр должен быть на основе графического интерфейса , так как большинство эмуляторы терминалов ( Terminal , Iterm и т.д.) не генерируют управляющие последовательности для комбинаций ключевых командных, так TTY только экземпляр Vim не имеет возможности узнать , что сочетание ключ Command был когда - либо нажата (эмулятор терминала ничего не передает через интерфейс tty). Фактически, терминал связывает ⌘ ← и ⌘ → (Command-Left и -Right) с циклическим переключением через свои открытые окна, поэтому эти клавиши «уже заняты», когда вы печатаете в контексте терминала .

MacVim (при запуске в режиме GUI) действительно имеет функциональные сопоставления для (среди других нажатий клавиш в стиле Mac)<D-Left>и<D-Right>(соответственно,<Home>(почти идентично0) и<End>(идентично$)). Одно предостережение заключается в том, что эти сопоставления по умолчанию устанавливаются в$VIM/gvimrc, поэтому они могут быть корректно переопределены только из вашего~/.gvimrc .

Я думаю, что были другие версии Vim для Mac OS X на основе графического интерфейса , но MacVim кажется единственной современной.

Грубо говоря, файлы запуска обрабатываются в следующем порядке: $VIM/vimrc, ~/.vimrc, $VIM/gvimrc, ~/.gvimrc. Начиная с карт MacVim , вы должны поместить свое отображение (если вы действительно хотите переопределить его) в свое, чтобы оно имело «последнее слово».$VIM/gvimrc<D-Left><D-Left>~/.gvimrc

Крис Джонсен
источник
Спасибо. я попробовал iTerm 2, это сработало, но все же ... какая боль ... добро пожаловать обратно в мою жизнь, Xcode
Marty