Parola di modalità di comando Vim completa


12

C'è un modo per ottenere Vim in modalità comando per completare le parole dal file corrente? Di 'che ho questo file:

one
two
three
once

e accedo alla modalità riga di comando

:myruncommand o|

dove |indica la posizione del cursore. Come posso completare Vim oneo oncepremendo Tab?



Citazione dalla descrizione dello script: "In modalità ':', il completamento è disponibile solo dopo un '/'." Non proprio quello di cui ho bisogno.
Nickolay Kolev,

Risposte:



5

La risposta di jamesc sarebbe spesso la più conveniente, ma per quando sai in anticipo che vorrai usare il completamento automatico per un comando o una stringa di ricerca, o altre funzioni disponibili solo in un buffer, ecco un altro modo per arrivare ai buffer appropriati :

  • Digitare q :per aprire il buffer dei comandi
  • Digitare aper iniziare a immettere il nuovo comando: myruncommand o
  • Usa Ctrl+ N/ Ctrl+ Pper il completamento delle parole chiave, proprio come nella risposta di jamesc

Fondamentalmente, q :fa la stessa cosa di : Ctrl+ F: ti permette di inserire comandi come se stessi inserendo del testo in un buffer. Allo stesso modo, q /e / Ctrl+ Fentrambi consentono di digitare stringhe di ricerca in un buffer.


Bella risposta. Il buffer dei comandi è qualcosa che mi piacerebbe sicuramente usare meglio.
Jamesc

@jamesc: sono contento che ti sia stato utile. Non lo sapevo Ctrl+F, quindi anche la tua risposta mi ha aiutato.
Michael Scheper,

3

Sebbene sia vero che ciò non può essere completato in modo nativo con 'tab', esiste la possibilità di:

  • Immettere il comando desiderato nella modalità riga di comando. Per l'esempio sopra questo era:

    :myruncommand o
    
  • Ora premi Ctrl-Fper accedere alla finestra di comando.

  • Usa Asposta alla fine della riga e accedi alla modalità Inserisci.
  • Utilizzare Ctrl-N/ Ctrl-Pper aprire il completamento delle parole chiave e selezionare l'opzione desiderata - in questo esempio entrambi onee oncedovrebbero essere disponibili poiché si trovano in un buffer aperto.

Ho aggiunto questa risposta perché la mia ricerca di "vim complete word in modalità di comando" mi ha portato qui e sembra essere una soluzione praticabile, anche se non usa il tasto 'tab'.

Questo funziona per me in Vim 7.4


Avrei dovuto indovinare che c'era un modo semplice per andare al comando / buffer di ricerca mentre già inserendo un comando o una stringa di ricerca! Grazie! Ho aggiunto una risposta basata sulla tua, per come già sapevo. Ma senza dubbio, Ctrl+Fè più conveniente in molti casi. superuser.com/a/1016058/219388
Michael Scheper il

1

Il completamento è disponibile se si accede alla cronologia della modalità di comando. Molto utile per modificare o ripetere i comandi utilizzati in precedenza.

Premere q: in modalità normale per accedere al riquadro della cronologia dei comandi.

Vedi http://vim.wikia.com/wiki/Using_command-line_history per maggiori dettagli.


1
In modalità riga di comando, se si digita Ctrl-fla cronologia della riga di comando si apre e se si desidera chiudere quella finestra è possibile digitareCtrl-w q
SergioAraujo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.