Время от времени мой мизинец будет задевать '
ключ, пока он тянется к вводу, в результате чего :w'<Enter>
.
Я пробовал:
cabbrev w' :w
cabbrev w\' :w
cabbrev "w'" :w
Никто из них не работает. Есть ли способ создать псевдоним :w'
для :w
?
Я также использую cmdwin ( :help cmdwin
+ nnoremap : :<C-F>
) вместо обычной командной строки, так что бонусные баллы, если он там тоже работает.
Ответы:
Как указывает Питер Ринкер,
cmap
s может расширяться и в других местах, поэтомуcnoreabbrev
лучше было бы :Или, самое безопасное, опять же благодаря Питеру:
Путем явной проверки наличия только командной строки
w'
можно избежать нежелательных расширений в ситуациях.Вы можете использовать
cmap
:Вам все равно придется нажимать Enter, но случайное
'
должно быть проигнорировано.Если вы используете
cmdwin
, может быть полезенinoremap
set byautocmd
:источник
:cmap w' w
, но в поведении не было никаких изменений.:w'
по-прежнему приводит к записи в файл с именем'
."'" [New] 0L, 0C written
,'
самом деле появляется, когда вы нажимаете его послеw
? Не должно быть, если оноcmap
было успешно создано - LHS cmap автоматически заполняется RHS, поэтому, если вы нажмете a'
, он все равно должен только отображатьсяw
.cmap
иcabbrev
с. Они будут выполняться / расширяться в других режимах и других местах. например:s/'follow'/foo
и/'follow'
. Пожалуйста, смотрите следующее изменение vim: функция x для удаления буфера вместо сохранения и выхода или использования cmdalias.vimcnoreabbrev <expr> w' getcmdtype() == ":" && getcmdline() == "w'" ? "w" : "w'"
'
все еще отображается, но я только что понял, что это потому, что я использую cmdwin для ввода команд, а cmdwin - это обычный буфер, поэтому тамcmap/cnoreabbrev
не работают. Обновление ответа сnoreabbrev
опцией для пользователей cmdwin. :) Спасибо!!!Этот метод работает для меня:
В качестве альтернативы вы можете настроить vim для сохранения текущего буфера, когда вы дважды нажмете Esc, например
Или используйте следующее отображение, чтобы сохранить файл с помощью Ctrl+ sили F2:
Примечание: F2 сохраняет только при необходимости и возвращает пользователя в режим вставки (или восстанавливает их визуальный выбор), если необходимо.
Источник: Сохранение файла на vim wikia
Или используйте следующие альтернативы:
:up
(:update
) для:w
:q
:wq
или:x
источник
:w'
Не:w
. Я хочу использовать:w
без случайного удара'
, который пишет файл, который я должен тогдаrm \'
. Хорошие советы, хотя.