Переназначение клавиатуры Vim на Snow Leopard (MacOs 10.6)

Я хочу, чтобы моя внешняя клавиатура HOME, END, PAGEDOWN и PAGEUP работала на терминале Leopard. Чтобы я изменил в Terminal > File > Preferences:

Home: \033[H  
End: \033[F  
PageUp: \033[5~  
PageDown: \033[6~  

Он работает на 100% в командной строке, но не работает при редактировании файлов в VIM.
Есть ли возможность переназначить клавиатуру VIM, чтобы эти клавиши работали?

С уважением

3 ответа

Решение

Если, согласно вопросу, вы уже знаете отображения, то это легко..

Home: \033[H  
End: \033[F  
PageUp: \033[5~  
PageDown: \033[6~

Просто отредактируйте ~/.vimrc и добавьте:

map <Esc>[H <Home>
imap <Esc>[H <Home>
map <Esc>[F <End>
imap <Esc>[F <End>
map <Esc>[5~ <PageUp>
imap <Esc>[5~ <PageUp>
map <Esc>[6~ <PageDown>
imap <Esc>[6~ <PageDown>

Пытаться

:imap <C-k><Home> <Home>
:map <C-k><Home> <Home>

- фактически нажав control-k и ваш домашний ключ для того, чтобы ввести то, что vim читает с вашего домашнего ключа, а затем набрать второй <Home>, И так далее для других привязок. Увидеть :help :map а также :help <>,

Я навсегда решил это.

В моем случае я сопоставил это в vim:

:imap <C-v><Home> <Home>
:map <C-v><Home> <Home>

- на самом деле нажмите control-v и ваш домашний ключ для того, чтобы ввести то, что vim читает с моего домашнего ключа, а затем набрать второй.

Это работает, но это длится только для текущего сеанса.
Итак, я просто набираю следующую команду, а затем < Enter>

:map 

Тогда я получаю сопоставления

<Esc>[H <Home>

Теперь я просто добавляю его в мой файл ~/.vimrc:

map <Esc>[H <Home>
imap <Esc>[H <Home>

теперь он переназначается на все сессии vim моего пользователя.

Другие вопросы по тегам