Переназначение клавиатуры 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 моего пользователя.