Вим переназначить ключ F10 - PullRequest
2 голосов
/ 16 января 2011

Я использую Vim 7.3 на FreeBSD.Я подключаюсь к этой машине через Putty.При работе с Vim я не могу переназначить клавишу F10 , чтобы сделать то, что я хочу.В моем .vimrc я сделал следующее:

nmap <F10> :!ls<CR>

Затем я сделал «source $ MYVIMRC», чтобы загрузить изменения в .vimrc.Когда после этого я нажимаю F10 , он печатает ^ [[21 ~ вместо выполнения карты.Я перепробовал все комбинации noremap, но ничего не работает.

Переназначение этого на другие функциональные клавиши не вариант, потому что они сопоставлены для других целей.

Просто к сведению, в опциях конфигурации Puttyпод Terminal-> Keyboard я установил опцию «Функциональные клавиши и клавиатура» на «Linux».

Есть какие-нибудь предложения, чтобы заставить это работать?

1 Ответ

3 голосов
/ 16 января 2011

Похоже, ваш termcap / terminfo и / или значение $TERM, которое вы используете, не позволяют Vim распознавать последовательность символов, которую ваш терминал отправляет для F10, как F10.

Простой обходной путьсопоставить последовательность символов.В вашем .vimrc введите следующее:

nmap <CTRL-V><F10> :!ls<CR>

Где <CTRL-V><F10> - нажатие клавиши CTRL-V, за которой следует F10.Это приведет к тому, что в вашем буфере появится что-то вроде ^[[21~.Это нормально, это отображение должно работать (по крайней мере, с этим терминалом).

"Правильным" решением было бы изменить значение $TERM вашей базы данных termcap или terminfo так, чтобы Vim знал, что ^[[21~это F10.Настройка $TERM на xterm может работать.

...