¿Hay una funcionalidad en Vim que permita agregar paréntesis alrededor del texto resaltado?
Por ejemplo, si Resalto n = getchar()
en if (n = getchar() == '\n')
, me gustaría poner paréntesis alrededor de eso.
Necesita un envolvente de complemento impresionante y imprescindible . Luego, felizmente hará lo que quiera si selecciona texto y escribe Sb
(llaves de sonido envolvente) o S)
(¡tenga en cuenta la S mayúscula!).
En realidad, puede rodear mucho: varias comillas, etiquetas, etc. Le permite colocar el cursor en la palabra entre comillas dobles y cambiar las comillas dobles a comillas simples escribiendo: cs"'
(cambiar-rodear "
a '
). O puede eliminar completamente las comillas escribiendo ds"
(delete-surround "
).
Lea los documentos por enlace, ¡es realmente increíble!
sb
(surround-llaves), os)
.s
solo elimina la selección y entra en modo de inserción.Además de la sugerencia de Dmitry del complemento surround , se puede agregar paréntesis alrededor del texto resaltado con el siguiente comando:
Puede configurar un mapa en modo visual usando (por ejemplo)
\s
agregando lo siguiente a su~/.vimrc
archivo:fuente
V
lugar dev
). En este caso, solo pega las líneas debajo de sus padres.Los corchetes simplemente se unen
(
para rodear la selección con los corchetes. A diferencia del sonido envolvente , no sigue la filosofía vim de combinación de teclas habitual como lo hace. En cambio, se requieren menos claves.De lo contrario, hay muchas formas de proceder. Si no le importa desordenar el registro sin nombre, también use
s(^R")<esc>
(me^R
gustaCTRL-R
)fuente
Sobre la base de la respuesta dotancohens, puse lo siguiente en mi
.vimrc
:Puede hacer fácilmente mapeos similares para [], {}, etc. Funciona saltando a los marcadores de inicio y fin establecidos implícitamente después de finalizar el modo visual. De esta forma, al seleccionar líneas completas, se agregarán los elementos parentales al inicio / final de la primera / última línea; no sobrescribirá su registro de extracción; y dejará el cursor justo antes del par abierto.
fuente