¿Cómo autocompletar comillas simples, paréntesis, etc. en el editor VIM?

¿Cómo autocompletar comillas simples, paréntesis, etc. en el editor VIM?

Necesito que cada vez que escriba una comilla simple o doble, paréntesis, llaves, llaves cuadradas... automáticamente vim debe crear la de cierre y poner el cursor dentro para poder seguir editando fácilmente. Noté que la mayoría de los editores hacen eso.

Necesito que esto funcione para cada lenguaje de programación. PHP, JS, JQUERY, HTML, CSS... pero sin usar un fragmento, porque los fragmentos deberían necesitar un acceso directo o un mapa de teclas para hacerlo (no es productivo). Necesito que este autocompletado funcione automáticamente después de presionar la tecla ".

Respuesta1

Hay complementos disponibles, como delimitaMate, que brindan esta capacidad. O puede crear sus propias asignaciones. Puede encontrar una lista más amplia de complementos y una discusión detallada sobre posibles asignaciones aquí:http://vim.wikia.com/wiki/Automatically_append_closing_characters; en general, las asignaciones son similares a:

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

Sin embargo, actualmente (a partir de Vim 7.4.781) dichas asignaciones, y cualquier complemento que instale, no podrán deshacer/rehacer/repetir, por lo que se necesitan dos pasos para deshacer para eliminar el texto que ingresó: 1 para eliminar entre paréntesis, uno para elimine los paréntesis. Hay un parche disponible para solucionar este problema, si se siente cómodo compilando su propio Vim:https://groups.google.com/forum/#!topic/vim_dev/gBumYDSEJoo/discussion

Respuesta2

Tienes que instalar un complemento para esto.Estees un complemento de ejemplo. Es más fácil de usarTexto sublimeque cualquier otro editor. Es fácil y liviano.

información relacionada