Como preencher automaticamente aspas simples, parênteses, etc. no editor VIM?

Como preencher automaticamente aspas simples, parênteses, etc. no editor VIM?

Eu preciso que toda vez que escrever uma aspa simples ou dupla, parênteses, chaves, colchetes... automaticamente o vim crie a de fechamento e coloque o cursor dentro para continuar editando facilmente. Notei que a maioria dos editores faz isso.

Preciso que isso funcione para cada linguagem de programação. PHP, JS, JQUERY, HTML, CSS... mas sem usar snippet, porque os snippets devem precisar de um atalho ou mapa de teclado para fazer isso (não produtivo). Preciso que esse preenchimento automático funcione automaticamente após pressionar a tecla ".

Responder1

Existem plug-ins disponíveis, como delimitMate, que fornecem esse recurso. Ou você pode criar seus próprios mapeamentos. Uma lista maior de plug-ins e uma discussão detalhada sobre possíveis mapeamentos podem ser encontradas aqui:http://vim.wikia.com/wiki/Automaticamente_append_closing_characters; em geral, os mapeamentos são semelhantes a:

inoremap        (  ()<Left>
inoremap <expr> )  strpart(getline('.'), col('.')-1, 1) == ")" ? "\<Right>" : ")"

No entanto, atualmente (a partir do Vim 7.4.781) tais mapeamentos, e qualquer plug-in que você instalar, irá interromper o desfazer/refazer/repetir, de modo que são necessárias duas etapas de desfazer para remover o texto que você inseriu: 1 para remover dentro dos parênteses, uma para remova os próprios parênteses. Existe um patch disponível para corrigir isso, se você se sentir confortável em compilar seu próprio Vim:https://groups.google.com/forum/#!topic/vim_dev/gBumYDSEJoo/discussion

Responder2

Você precisa instalar um plug-in para isso.Esseé um exemplo de plug-in. É mais fácil de usarTexto sublimedo que qualquer outro editor. É fácil e leve.

informação relacionada