Ocasionalmente, meu mindinho roçará a '
tecla enquanto pressiona enter, resultando em :w'<Enter>
.
Eu tentei:
cabbrev w' :w
cabbrev w\' :w
cabbrev "w'" :w
Nenhum deles funciona. Existe uma maneira de alias :w'
para :w
?
Eu também uso cmdwin ( :help cmdwin
+ nnoremap : :<C-F>
) em vez da linha de comando normal; portanto, pontos de bônus se funcionar lá também.
Respostas:
Como Peter Rincker aponta, os
cmap
s também podem se expandir em outros lugares, entãocnoreabbrev
seria melhor :Ou, o mais seguro, novamente graças a Peter:
Ao verificar explicitamente se a linha de comando contém apenas
w'
, expansões indesejadas em situações podem ser evitadas.Você pode usar um
cmap
:Você ainda teria que pressionar Enter, mas um acidente
'
deve ser ignorado agora.Se você estiver usando
cmdwin
, uminoremap
conjunto deautocmd
pode ser útil:fonte
:cmap w' w
, mas não houve mudança de comportamento.:w'
ainda resulta na gravação em um arquivo chamado'
."'" [New] 0L, 0C written
.'
realmente quando você pressiona depoisw
? Não deveria tercmap
sido criado com êxito - um LHS de cmap é preenchido automaticamente com o RHS; portanto, se você pressionar a'
, ele ainda será exibidow
.cmap
ecabbrev
os. Eles irão executar / expandir em outros modos e outros lugares. por exemplo,:s/'follow'/foo
e/'follow'
. Consulte o seguinte alteração vim: função de x para excluir tampão em vez de salvar e sair ou utilização cmdalias.vimcnoreabbrev <expr> w' getcmdtype() == ":" && getcmdline() == "w'" ? "w" : "w'"
'
ainda aparece, mas eu descobri que é porque estou usando o cmdwin para digitar comandos, e o cmdwin é apenas um buffer comum, portantocmap/cnoreabbrev
, não trabalhe lá. Atualizando a resposta com anoreabbrev
opção para usuários do cmdwin. :) Obrigado!!!Este método funciona para mim:
Como alternativa, você pode configurar o seu vim para salvar o buffer atual ao pressionar Esc duas vezes, por exemplo
Ou use o seguinte mapeamento para salvar o arquivo com Ctrl+ sou F2:
Nota: F2 salva apenas se necessário e retorna o usuário ao modo de inserção (ou restaura sua seleção visual), conforme necessário.
Fonte: Salvando um arquivo no vim wikia
Ou use as seguintes alternativas:
:up
(:update
) para:w
:q
:wq
ou:x
fonte
:w'
não:w
. Eu quero usar:w
sem bater acidentalmente'
, que grava um arquivo que devo entãorm \'
. Boas dicas, no entanto.