salvar no modo de inserção (VIM)

34

Eu sou novo no vim,

Normalmente, eu me pego desejando salvar e permanecer no modo de inserção, em vez de pressionar escape, :we voltar ao modo de inserção.

fixer1234
fonte
2
Eu acho que deveria ficar aqui. A maioria das perguntas do vim é feita no SO e, ao começar a dividi-las entre sites, nada realiza, exceto dar ao usuário mais trabalho em termos de pesquisa nas três sites. O Vim também é um editor encontrado com mais frequência nas máquinas dos programadores do que na média (ou super :) dos usuários.
Rook
Concordo. O SO possui 1.199 perguntas com a tag vim. O SU tem 106.
zen

Respostas:

38

Ctrl+O, então :we Enter.

Juliano
fonte
Sim, é assim que eu faria também.
David Wolever 26/12/2009
2
O que é realmente mais complicado do que o habitual, IMHO.
Rook
@Idigas: por que isso?
akira
2
É o mesmo número de pressionamentos de tecla, mas não parece muito vim.
Seamus Connor
32

Você pode adicionar um alias como inoremap <F3> <c-o>:w<cr>você .vimrc.

Tordek
fonte
4

Sem entrar em um debate sobre o caminho certo ou errado, se você usar um Vim gráfico como MacVim ou GVim, poderá usar Cmd- sou Ctrl- spara economizar. Posso dizer que ele funciona no OS X com MacVim e Cmd- se assim você pode salvar suas coisas no modo de inserção.

Ambidestro
fonte
2

À parte a sugestão que Juliano mencionou (que deve ser retirada e filmada <- a sugestão, não Juliano), é realmente A MANEIRA ERRADA DE FAZÊ-LO. Seria realmente mais "normal" tentar fazer tudo no modo de comando, em vez de inserir. Mas usá-los de maneira intercambiável é o caminho usual do vim e, se alguém não gostar, deve realmente ficar longe do vim.

Se você realmente não gosta de não poder salvar do modo I, posso sugerir um editor chamado Cream - é uma variante do vim, modificada de maneira a simular os editores da atualidade (por assim dizer, permanece no modo I todos os hora e possui atalhos comuns do Windows).

Torre
fonte
1
Embora eu concorde com a regra geral, acho que não se aplica a este caso. Se você está apenas escrevendo um texto longo e deseja salvar com frequência, mapear alguma chave para <Co>: w <CR> não é tão ruim assim.
Matteo Riva
@ Michael Krelin ... - eu concordo. Mas ele disse que quer o modo de inserção, então aqui está. Pessoalmente, pensei a princípio em sugerir o Notepad2 (ou algum outro sabor em particular), mas isso teria sido rebaixado como não resposta à pergunta.
Rook
@kemp - Não. Se você está escrevendo um texto longo e deseja salvar com frequência, usa os recursos do vim em termos de: backup, writebackup e swapfile (você pode: ajudar qualquer um deles para obter detalhes). O Vim é - do jeito que é - e, embora eu (como todos os outros) goste de um pouco de personalização de vez em quando, tentar evitar vários modos está errado. E isso não vai acabar bem. Melhor usar outra coisa então. Afinal, existem alguns editores alternativos bastante poderosos atualmente.
Rook
bem, eu não vejo como o uso dele do modo de inserção (todos nós o usamos!) implica em seu desejo de passar o resto de sua sessão do vim. Pessoalmente, tenho um mapeamento para <F2> nos dois modos, só porque desde que eu tinha um teclado maluco no final dos anos 80, não consigo desaprender a pressionar <F2> de vez em quando ao editar ;-)
Michael Krelin - hacker
4
Eu li como "Não quero sair do modo de inserção apenas para salvar o arquivo".
Michael Krelin - hacker 27/12/2009
1

Não posso adicionar comentários à resposta do @ Tordek, devido à falta de reputação :) Portanto, complementando sua resposta:

inoremap <F2> <C-\><C-o>:w<CR>

A adição <C-\>evitará mover o cursor para um caractere restante.

Vladimir Bauer
fonte