5

Я пытался заставить Vim переназначить CTRL+S (или ^ S) на :w , отредактировав мой файл .vimrc , однако это не работает.

Это моя текущая конфигурация ~/.vimrc :

nmap <c-s> :w<CR>
imap <c-s> <Esc>:w<CR>
imap <c-s> <Esc><c-s>

Я читал, что CTRL+S может запустить команду, которая замораживает терминал, однако я, кажется, не испытываю этого.

Если я нажимаю CTRL+S, ничего не происходит. Если я сделаю ESC и :q Мне сообщили, что я еще не сохранил изменения.

:current говорит мне, что user vimrc file: "$HOME/.vimrc" .

1 ответ1

6

Во всем диапазоне <C-a> -> <C-z> <C-s> и <C-q> являются единственными двумя, которые не могут быть отображены в CLI Vim, потому что они перехвачены до того, как достигают редактора.

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

Самый простой способ вернуть полный алфавит для ваших отображений Ctrl - добавить эту строку в ваш *rc:

stty -ixon

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .