Я пытаюсь использовать < C-a > (CTRL + A) shorcut под vim для увеличения переменной под курсором. Это отлично работает под управлением vim на Linux. Однако, когда я пытаюсь сделать это в gvim под окнами, он "выбирает все" (т.е. Выделяет или визуально выбирает весь текст в текущем окне). Как я могу изменить это поведение или, альтернативно, как я могу восстановить функциональность переменной приращения (например, возможно, с другим отображением ключей)?
Почему <C-a> (CTRL + A) не работает под gvim на окнах?
Ответ 1
Это из-за mswin.vim, который получен по умолчанию _vimrc, сгенерированный при установке vim. Просто переопределите свой _vimrc с помощью .vimrc, который вы используете в * nix или удалите mswin.vim.
Ответ 2
Я знаю, что опаздываю на вечеринку, но я подумал, что поделюсь следующим:
nnoremap <kPlus> <C-a>
nnoremap <kMinus> <C-x>
Это переназначает приращение клавишей + на цифровой клавиатуре и уменьшается до клавиши -. Это решение, которое я использовал в своем собственном файле _vimrc
в Windows. Он поддерживает совместимость с Windows и легче запоминается, чем оригинальный Ctrl + A/Ctrl + X.
Ответ 3
Vim в Windows имеет специализированные сопоставления клавиш по умолчанию, чтобы сделать ярлыки более "windows-y". Они указаны в файле $VIMRUNTIME\mswin.vim, который загружается через ваш vimrc, если вы не отключили его. Вы можете отредактировать файл mswin.vim(вместо этого вы можете отредактировать копию, заменив vimrc на использование отредактированной копии).
Я не совсем уверен, что это сопоставление Vim по умолчанию, так как единственная ссылка, которую я могу найти в Ctrl + A в файле справки, - это то, что не похоже на то, что вы имеете в виду:
*c_CTRL-A*
CTRL-A All names that match the pattern in front of the cursor are
inserted.
чтобы вы могли проверить свой Linux-бокс, чтобы увидеть, не изменились ли какие-либо плагины или что-то по-другому. (Конечно, может быть, я просто не могу найти соответствующую часть помощи Vim.)
Ответ 4
Если вам просто не нравится поведение Ctrl A, но отлично подходит для других действий Windows в VIM (например, Ctrl Z для отмены), просто отключите эту конкретную строку:
- Отредактируйте указанный файл (
c:\Program Files\Vim\vim73\mswin.vim
для меня) - Найдите абзац, начинающийся с
CTRL-A is Select all
- Подготовить все (6) строки этого абзаца с открывающимися скобками (
"
) - Откройте окно GVIM.
Вы все еще можете "выбрать все", набрав ggVG
(курсор позиции в первой строке, выберите всю строку, выберите до последней строки документа).
Счастливое приращение!
Ответ 5
в текущей версии mswin.vim с gvim, файл проверяет значение глобального с именем skip_loading_mswin
; Если установлено, остальная часть файла пропускается; поэтому достаточно добавить
let skip_loading_mswin=1
до $HOME/_vimrc
, и нормальные привязки vim будут восстановлены при следующем запуске vim.