Modo de comando Vim palabra completa


12

¿Hay alguna manera de poner a Vim en modo comando para completar palabras del archivo actual? Digamos que tengo este archivo:

one
two
three
once

y entro al modo de línea de comando

:myruncommand o|

donde |denota la posición del cursor. ¿Cómo hago que Vim se complete oneo oncecuando presiono Tab?



Cita de la descripción del script: "En el modo ':', la finalización está disponible solo después de un '/'". Realmente no es lo que necesito.
Nickolay Kolev

Respuestas:



5

La respuesta de jamesc a menudo sería la más conveniente, pero para cuando sepa con anticipación que querrá usar el autocompletado para un comando o una cadena de búsqueda, u otras funciones solo disponibles en un búfer, esta es otra forma de llegar a los búferes apropiados :

  • Escriba q :para abrir el búfer de comando
  • Escriba apara comenzar a ingresar el nuevo comando: myruncommand o
  • Use Ctrl+ N/ Ctrl+ Ppara completar palabras clave, como en la respuesta de jamesc

Básicamente, q :hace lo mismo que : Ctrl+ F: le permite ingresar comandos como si estuviera ingresando texto en un búfer. Del mismo modo, q /y / Ctrl+ Fambos le permiten escribir cadenas de búsqueda en un búfer.


Gran respuesta. El búfer de comandos es algo que definitivamente me gustaría usar mejor.
jamesc

@jamesc: Me alegra que haya sido útil para ti. No lo sabía Ctrl+F, así que tu respuesta también me ayudó.
Michael Scheper

3

Aunque es cierto que esto no se puede completar de forma nativa con 'tab', existe la posibilidad de:

  • Ingresando el comando que desea en el modo de línea de comando. Para el ejemplo anterior esto fue:

    :myruncommand o
    
  • Ahora presione Ctrl-Fpara ingresar a la ventana de comandos.

  • Use Amover al final de la línea e ingrese al modo Insertar.
  • Uso Ctrl-N/ Ctrl-Ppara abrir la terminación de palabras clave y seleccionar la opción que desee - en este ejemplo tanto oney oncedeben estar disponibles ya que están en un buffer abierta.

Agregué esta respuesta porque mi búsqueda de "palabra completa vim en modo comando" me trajo aquí y parece ser una solución viable, a pesar de que no usa la tecla 'tab'.

Esto me funciona en Vim 7.4


¡Debería haber adivinado que había una manera fácil de ir al búfer de comando / búsqueda mientras ya ingresaba un comando o cadena de búsqueda! ¡Gracias! He agregado una respuesta basada en la suya, por la forma en que ya lo sabía. Pero sin duda, Ctrl+Fes más conveniente en muchos casos. superuser.com/a/1016058/219388
Michael Scheper

1

La finalización está disponible si ingresa el historial del modo de comando. Muy útil para alterar o repetir comandos utilizados anteriormente.

Presione q: en modo normal para ingresar al panel de historial de comandos.

Ver http://vim.wikia.com/wiki/Using_command-line_history para más detalles.


1
En el modo de línea de comando, si escribe Ctrl-fel historial de la línea de comando se abre, y si desea cerrar esa ventana puede escribirCtrl-w q
SergioAraujo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.