Digamos que tengo una palabra seleccionada en modo visual. Me gustaría realizar una sustitución en esa palabra y todas las demás instancias de esa palabra en un archivo utilizando s //. ¿Hay alguna manera de utilizar el texto resaltado en la parte s/<here>/stuff/
sin tener que volver a escribirlo?En VIM, ¿es posible usar el texto seleccionado en la cláusula sustituta sin volver a escribirlo?
Respuesta
Claro. Si ha seleccionado la palabra, sólo "y" ank, y luego escriba:
:%s/<ctrl-r>"/something else/g
Dónde está presionando tecla CTRL con la tecla r, y "es simplemente" carácter.
Todas las pulsaciones de teclas:
y:%s/<ctrl-r>"/what to put/g<enter>
Wow, cool! ¿Dónde puedo encontrar ese truco en la documentación de vim? – innaM
No estoy seguro. Ctrl-r es algo bastante conocido. –
@Manni:: h c_CTRL-R –
Si ha buscado para su texto antes de poder utilizar
CTRL-R/
para insertar el último elemento de búsqueda en su búsqueda y reemplazo de cadenas.
Puede comprobar esta página para otros trucos similares:
Otra forma de acceder a contenidos del registro de la línea de comandos es a través de @
variables. Entonces, si quitas el texto en el registro predeterminado, estará en una variable llamada @"
.
:exe '%s/' . @" . '/stuff/'
Aquí hay un mapeo para hacer esto fácil para escribir:
vmap <Leader>s y:exe '%s/' . @" . '//g'<Left><Left><Left>
Ahora se puede destacar algo en el modo visual, tipo \s
, escriba su reemplazo y golpear Enter
. Versión depesz 's también hace un buen mapeo (casi exactamente como se lo haya escrito):
vmap <Leader>s y:%s/<c-r>"//g<Left><Left>
Usted no tiene que tirar de la palabra, coloque el cursor sobre la palabra y luego:
:%s/<C-r><C-w>/bar/g
¡Dulce! ¡Ese es otro sobre el que tenía curiosidad! –
- 1. Vim: cómo ejecutar el texto seleccionado como comandos vim
- 2. vim: inserte el texto seleccionado en la línea de comando?
- 3. ¿Es posible volver a cargar la vista sin reiniciar Django?
- 4. ¿Es posible usar vim con el mouse
- 5. ¿Es posible usar la cláusula SELECT INTO con UNION [ALL]?
- 6. Guardar texto seleccionado (línea parcial) de Vim
- 7. Agregar o anteponer el texto seleccionado a un archivo en Vim
- 8. ¿Es posible usar Xtext sin eclipse?
- 9. es posible la autoupdating en Android sin usar Android Market?
- 10. Usar Mayús + Flechas para seleccionar texto en vim/MacVim
- 11. Abra un archivo de texto seleccionado en Vim
- 12. Vim: canaliza el texto seleccionado al shell cmd y recibe la salida en vim info/command line
- 13. ¿Qué es la secuencia "sin tabulación" en (g) Vim?
- 14. Posible búsqueda de tipo ViM en Visual Studio ¿es posible?
- 15. ¿Es posible obtener texto pegado sin utilizar la función setTimeout()?
- 16. VIM es posible detectar múltiples idiomas en el mismo archivo
- 17. ¿Cómo volver a abrir el búfer en vim?
- 18. ¿Es posible desactivar el modo Reemplazar en vim?
- 19. ¿Es posible usar pyplot sin DISPLAY?
- 20. Obtener el texto resaltado/seleccionado
- 21. Vim, cómo volver a cargar el resaltado de sintaxis
- 22. ¿Es posible saltar a pliegues cerrados en Vim?
- 23. Seleccionar texto en la terminal sin usar el mouse
- 24. Reemplazar el texto seleccionado en el área de texto
- 25. ¿Es posible agregar compatibilidad GD/TTF a PHP sin volver a compilar?
- 26. ¿Es posible usar un ListView sin ListActivity en Mono Android?
- 27. es posible convertir una cadena a varbinary en PHP sin usar la función SQL
- 28. ¿Volver atrás en la búsqueda de caracteres en vim?
- 29. Vim: texto envolvente (es decir, "gq") sin romper cadenas?
- 30. ¿Es posible cambiar el dialecto regexp vim?
Siempre me ha parecido molesto que la línea de comandos de vim no tenga acceso a ningún registro, etc. – inkedmn
Estoy de acuerdo con eso. Eso haría una gran diferencia. –
@inkedmn: ¿Qué quieres decir con que no tiene acceso a los registros? ctrl-r claramente le permite acceder a los registros de copiar/pegar. –