En VIM en el modo de línea de comandos, "%" denota el archivo actual, "cword" denota la palabra actual debajo del cursor. Quiero crear un acceso directo donde necesito el número de línea actual. ¿Cuál es el símbolo que denota esto?En el modo de línea de comandos VIM, ¿cuál es el carácter/símbolo especial para la línea actual?
Respuesta
Si desea pasar el número de línea actual a un comando shell, se puede hacer
:exe "!echo " . line(".")
. (punto) representa la línea actual.
Para aclarar: Esto es para cosas como :1,.s/foo/bar/g
que transformará cada foo
a bar
desde el principio del archivo hasta la línea actual.
No sé sabe de una manera de obtener el número de línea actual ampliado para un comando shell, que es lo que está tratando de hacer por hacer :!echo .
Usted puede encontrar información sobre las ampliaciones que se hacen (como %
y #
por ejemplo) en :he cmdline-special
.
Este No funciona. Cuando doy un comando :! Echo. El resultado es solo un "." en lugar del número de línea esperado. – akshat
No, esto no funciona, ver mi aclaración. Tal vez si haces otra pregunta para explicar en detalle tu atajo planificado, podemos ayudarte con otra forma de lograr lo que pretendes. – WMR
gracias WMR. mirando hacia atrás en mi pregunta, me doy cuenta de que no explicaba correctamente mi requerimiento. PD: había mirado cmdline-especial pero no encontré esto. Esperaba que haya algo no mencionado. – akshat
Comandos en vim obras en la línea actual para:
:s/foo/bar/g
transformará cada foo en la barra de en la línea que se encuentra actualmente.
Creo que la 'g' hará que sustituya globalmente todo el archivo. –
No, en este caso, la 'g' hará que la expresión regular se aplique globalmente a la línea actual. – Tomalak
Para hacerlo globalmente, debe poner:% s/foo/bar/g OR: 1, $ s/foo/bar/g –
para devolver el número de línea de la línea actual en la parte inferior de la pantalla, utilice:
:.=
- 1. Cómo copiar texto desde el modo de línea de comandos en Vim durante la búsqueda
- 2. Ejecutar el modo de depuración desde la línea de comandos
- 3. Ejecutar el comando vim desde la línea de comandos
- 4. VIM Resalte toda la línea actual
- 5. Vim línea de división de comandos
- 6. VIM - comandos múltiples en la misma línea
- 7. Resaltando el número de línea actual en vim
- 8. Cómo copiar texto desde el modo de comandos en Vim
- 9. El uso de Ctrl-A en la línea de comandos Vim para incrementar un número
- 10. ¿Cómo puedo moverme en la línea de comandos de Vim?
- 11. Vim: la línea actual de sangría (en blanco) e insertar
- 12. Vim: Reemplazar el final de la línea
- 13. Ajuste de color de la línea de comandos de Vim
- 14. Ejecutar el script vim desde la línea de comandos de vim
- 15. ¿Cuál es el significado del parámetro -e para la línea de comandos de shell bash?
- 16. Intellij Nueva línea en el atajo de línea actual
- 17. Vim: teclas de flecha para moverse dentro de una línea en el modo de inserción
- 18. ¿Cómo romper una línea en vim en modo normal?
- 19. vim: inserte el texto seleccionado en la línea de comando?
- 20. Cambiar el controlador Sweave desde la línea de comandos
- 21. Comentarios (#) van al inicio de la línea en el modo de inserción en Vim
- 22. ¿Cómo borrar línea (s) por debajo de la línea actual en vim?
- 23. Línea horizontal en vim
- 24. Recuperando el historial de línea de comandos
- 25. ¿Cuál es la mejor manera en Vim para operar en rangos relativos en modo visual?
- 26. ¿Es posible acceder a los argumentos de línea de comandos de vim en vimscript?
- 27. ¿Cuál es el mejor método para sandbox dinámicamente en línea?
- 28. ¿Cuál es el nombre del esquema de fondo de los números de línea en Vim?
- 29. Forzar el arranque en la línea de comandos de Linux
- 30. ¿Cómo obtener el número de línea actual?
Hola, Esa es una respuesta increíble. Exactamente lo que estaba buscando. – akshat
Gracias por el ingrediente que falta para mi línea e incluir la salida ': exe" r! " . getline (".") ' – bsb