Supponiamo che ho un documento come questo, e voglio cercare tutte le occorrenze di URL:Creare una mappatura per riga di comando di Vim che sfugge il contenuto di un registro prima di inserirlo
Vim resources: [http://example.com/search?q=vim][q]
...
[q]: http://example.com/search?q=vim
I non voglio scriverlo per intero, quindi metto il cursore sul primo URL ed eseguo "uyi[
per strattonarlo nel registro 'u'. Ora per cercarlo, mi piacerebbe per incollare solo il contenuto di tale registro nel campo di ricerca eseguendo:
/\V<c-r>u<CR>
Ciò si traduce in Vim ricerca della stringa 'http:' - perché il '/' carattere termina il campo di ricerca.
posso aggirare il problema eseguendo questo, invece:
/\V<c-r>=escape(@u, '\/')<CR><CR>
Ma è un sacco di battitura!
Come è possibile creare una mappatura per la riga di comando di Vim che semplifica questo flusso di lavoro?
mio flusso di lavoro ideale sarebbe andato qualcosa come questo:
- stampa
/\V
per aprire il prompt di ricerca, e utilizzare la modalità molto nomagic - premere Ctrl-x per attivare la mappatura personalizzata (ctrl-x è disponibili)
- Vim ascolta per la prossima pressione di un tasto ... (premendo
<Esc>
cancellerebbe) - premendo 'u' sfuggirebbe il contenuto della 'u' registrare il, e inserire nella riga di comando
Attualmente utilizzo '*' in modalità visuale. Ho alcuni plugin fatti in casa al largo di questo script: http://amix.dk/blog/post/19334 –
@PeterRincker - sì, io uso [qualcosa del genere] (https://github.com/bronson/vim- visual-star-search) anche! La documentazione di Vim suggerisce una [mappatura simile] (http://vimdoc.sourceforge.net/htmldoc/visual.html#visual-search), anche se è un po 'cotta. – nelstrom