Есть ли способ в vim сделать: W делать то же самое, что: w?

То же самое касается: q и: Q. Я почти всегда не слишком быстро упускаюсь на смену и вижу, что: Q и: W не используются, я думал, что было бы неплохо просто заставить их делать то же самое, что и их младшие коллеги.

Ответ 1

Взлом осуществляется через :cmap или :cabb, но у них есть побочные эффекты (т.е. другие экземпляры также будут непреднамеренно преобразованы).

плагин cmdalias делает это лучше.

Но я думаю, что для вашего случая использования лучше всего определить свои собственные командные варианты в верхнем регистре. Основная задача состоит в том, чтобы поддерживать все варианты, которые есть у первоначального:

command! -bang -range=% -complete=file -nargs=* W <line1>,<line2>write<bang> <args>
command! -bang Q quit<bang>

Ответ 2

Да, вы можете перенаправить их в свой .vimrc, например:

cabb W w
cabb Q q

или

cmap W w
cmap Q q

Недостатком является то, что он "W" будет расширяться до "w" в обоих случаях (cmap отображает изменение, cabb нет).

Как правило, довольно легко переназначить ключи в соответствии с вашими потребностями в Vim. Попробуйте изучить следующий учебник: Сопоставление ключей в Vim

изменить Как отмечает @IngoKarkat, это хакерское решение. Я оставляю это здесь, потому что это быстро и просто. Однако недостаток ясен; он мешает другим применениям.

Ответ 3

noremap работает для меня без каких-либо побочных эффектов

noremap :W :w

Ответ 4

Это не ответ на ваш вопрос, а решение вашей проблемы - "Я почти всегда не спускаюсь на смену достаточно быстро". Поменяйте значение двоеточия и точки с запятой. Тогда сдвиг не требуется, так как вы будете использовать ;w и ;q.

nnoremap ; :
nnoremap : ;
vnoremap ; :
vnoremap : ;

Ответ 5

Предполагая, что вы ищете более быстрый способ сделать :wq

Действительно, это комбо ESC, затем : (что само является Shift + ;), затем w, затем q, затем Enter. Пять нажатий клавиш, шесть, если вы считаете : как два.

Вместо этого попробуйте ESC затем (удерживая) Shift снова нажать Z, затем Z (нет :). Он автоматически сохранит и выйдет из файла. Еще одно нажатие клавиши (или два, в зависимости от того, как вы считаете это), и намного сложнее испортить.