Проблема с Vim в командной строке

0

На гвим я могу крест

imap <C-s> <ESC>:w
imap <C-c> and etc...

Но я не могу на Vim (терминал) использовал IMAP? Как я могу использовать некоторые IMAP на терминале?

gmunkhbaatarmn
источник
У вас проблемы со всеми отображениями управляющих клавиш или только с некоторыми?
Гептит

Ответы:

4

Команда imap отлично работает в терминале. Проблема заключается в том, что терминал обрабатывает некоторые управляющие символы специально, используя их для управления поведением терминала, и не передает эти символы приложению, запущенному в терминале. Ctrl-S и Ctrl-Q обычно используются для управления потоком. Ctrl-C обычно вызывает отправку приложению сигнала INTR (прерывания).

Приложения могут указывать терминалу не обрабатывать определенные символы специально и вместо этого пересылать их. Vim обрабатывает Ctrl-C сам по себе, и вы сможете его отобразить. (Я только что попробовал, и это сработало для меня.) Vim, однако, не сообщает терминалу пересылать Ctrl-S и Ctrl-Q, поэтому вам придется сказать терминалу сделать это самостоятельно. Одним из способов является выполнение этой команды в командной строке перед запуском vim:

stty -ixon
garyjohn
источник