2010-09-10 30 views
5

En Vim, es un comando rápido de 3 caracteres para cambiar lo que está dentro de la cadena actual (por ejemplo, ci "), pero ¿hay una forma simple de cambiar qué tipo de citas están actualmente rodeando el cursor ?Cambiar citas adjuntas en Vim

A veces tengo que pasar de "bla" a "" bla "o" bla "a" blah "(en el código fuente de Python) y lo ideal sería hacerlo rápidamente usando las asociaciones de teclas predeterminadas .

Respuesta

18

Pruebe el plugin surround.vim. me resulta un complemento esencial para cualquier instalación vim.

+0

¡Es un buen complemento! –

+0

se ve perfecto, gracias! – Mzzzzzz

+0

Para pasar de comillas a comillas triples, haga 'ysa" "wysa" "'. Vale la pena ponerlo en una macro o atarlo. Por ejemplo, ': noremap : normal ysa" "wysa" "' enlazará esto a 'Ctrl' +' c'. Alternativamente, puede asignar ': noremap : normal ysiw" w 'para rodear cualquier palabra con comillas, y luego presionar' Ctrl' + 'c' o lo que sea que su enlace sea * n * veces para agregar * n * conjuntos de citas. – Jay

2

Surround.vim es grande, pero no creo que va a manejar su tripl e-quoted necesita directamente.

La forma en que hice las cosas a lo largo de estas líneas (cuando el sonido envolvente no era apropiado) era usar %, hacer el cambio, luego doble-retroceder para volver al punto de inicio. P.ej. si el cursor se encuentra en alguna parte de una cadena entre comillas simples, realice f'%, realice el cambio, luego doble retroceso y ..

+0

No sabía acerca del doble backtick, habría tomado el mismo enfoque, excepto que hubiera hecho una marca de usar y tirar. +1. –