ecoa uma mensagem personalizada com o editor VIM

4

Como posso deletar se houver uma modificação de arquivo no VIM ao sair ( :q )? Se houver uma modificação no arquivo Vim echos

E37: No write since last change (add ! to override) 

Desejo substituir esta mensagem por uma mensagem personalizada e uma ação semelhante a

File modified: Do you wish to save the file? (y)Yes (n)No (c)Cancel

Modifiquei o comportamento do Vim para salvar o arquivo em Ctrl-s e sair em Ctrl-w

Agora estou procurando uma solução se o arquivo já tiver sido modificado e o usuário estiver saindo com Ctrl-w. Eu quero que o Vim avise para salvar.

Aqui está o conteúdo do meu arquivo .vimrc:

map <C-S> :w<CR>
imap <C-S> <Esc>:w<CR>i

map <C-w> :q<CR>
imap <C-w> <Esc>:q<CR>
    
por Ashwin kumar 02.08.2012 / 09:06

2 respostas

5

Você pode usar :confirm quit , por exemplo,

map <C-w> :confirm quit<CR>

A propósito: C-w é uma má escolha para um atalho, porque é usado como o início de outros atalhos, por exemplo C-w v para dividir verticalmente. É por isso que você experimenta um pequeno atraso antes que a caixa de diálogo se abra: depois que você pressionar C-w , o vim espera por um curto espaço de tempo por outros pressionamentos de tecla, antes de decidir que você realmente queria pressionar C-w .

    
por 02.08.2012 / 09:56
2

Você já recebeu uma resposta específica. Aqui está um genérico:

Você pode encontrar exemplos (e pacotes de trabalho completos) de praticamente todo tipo de aprimoramento vim que você pode imaginar em link

    
por 02.08.2012 / 10:34

Tags