У vim, як зіставити “командно-право” та “командно-ліве” на початок рядка та кінець рядка на mac?


10

Я намагаюся зробити так, щоб це було як редагування тексту за замовчуванням в Mac. Я спробував map! <D-Left> 0 і map! <D-Right> $ в ~ / .vimrc, але, звичайно, не вийшло. Як я можу це зробити?

Відповіді:


9

Наскільки мені відомо, синтаксис модифікатора клавіш Command ( <D-...>) ефективний лише у випадках, коли Vim в Mac OS X працює в режимі GUI .

Vim екземпляр повинен бути на основі графічного інтерфейсу , так як більшість емулятори терміналів ( Terminal , Iterm і т.д.) не генерують керуючі послідовності для комбінацій ключових командних, так TTY тільки екземпляр Vim не має можливості дізнатися , що поєднання ключ Command був коли - або натиснуто (емулятор терміналу ніколи нічого не надсилає через інтерфейс tty). Насправді, Термінал пов'язує ⌘ ← і ⌘ → (Command-Left та -Right), щоб проїхати через свої відкриті вікна, тому ці клавіші "вже взяті" під час введення в контексті Terminal .

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

Думаю, існували й інші версії Vim на основі GUI для Mac OS X, але MacVim здається єдиним сучасним.

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


Дякую. Я спробував iTerm 2, він працював з цим, але все-таки ... який біль ... ласкаво просимо в своє життя, Xcode
Марті
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.