Quiero correr comando como este:carácter de escape en el comando vim
vim -c "%g/blablabla/norm /str<ESC>cwSTR" file
cómo escribo carácter de escape en el comando?
Quiero correr comando como este:carácter de escape en el comando vim
vim -c "%g/blablabla/norm /str<ESC>cwSTR" file
cómo escribo carácter de escape en el comando?
A medida que escribe el comando, utilice el control -v continuación de escape para entrar en el escape.
Sin embargo, tengo que preguntar si vim es la herramienta adecuada para este trabajo. Normalmente, estarías mejor con algo como sed. Dicho esto, no estoy del todo claro qué hace el comando vim, así que tal vez lo necesites.
Esto es lo que haría:
vim -s -c ':exec "normal %g/blablabla/norm /str\<Esc>cwSTR"' file
en cuenta que estoy usando: exec para ampliar el "\" a lo real. ¿La ventaja? es más amigable para las secuencias de comandos. Sin embargo, no estoy seguro de lo que está haciendo este comando, ¿está utilizando algunos de sus mapas personalizados aquí?
En realidad, lo que quiero hacer es reemplazar el último argumento de alguna función. Entonces uso las herramientas de vim para navegar en el código. El comando real es: -c "% g/nombre_funcionamiento // nombre_func w% bcwREPLACE_TEXT". Esta invocación de la función de búsqueda, va al cierre), retrocede 1 palabra y reemplaza el último argumento. –
dimba
Ok, funciona. No sabía que funciona en bash también, pensé que funciona solo en vim. – dimba
@idimba: entiendo por qué está usando vim para el trabajo; probablemente tenga más sentido que la mayoría de las otras herramientas dado lo que está haciendo. –