2011-10-07 12 views
7

So che in emacs è possibile inserire una sorta di "testo cliccabile". Cioè puoi inserire un testo che, quando l'utente preme su di esso, apre un altro file.vim: Aggiungi etichetta cliccabile

C'è qualcosa del genere per Vim?

risposta

4

È possibile, ma è specifico per il tipo di file. Un esempio migliore sarà il sistema di guida di Vim che non è niente di più interessante di un buffer non modificabile con mappature specifiche.

Vedere gli esempi vimwiki e vimorgmode per avere tali collegamenti.

4

Per semplici casi ad hoc è possibile scrivere una funzione alla quale si apre un determinato file basato sulla parola sotto il cursore. È quindi possibile associare questa funzione all'evento doppio clic.

Ad esempio:

function! CustomLoad() 
    let word = expand("<cword>") 
    let path = "/path/to/file/to/be/opened" 
    if (word == "special_keyword" && filereadable(path)) 
     sil exe "split " . path 
    endif 
endfunction 

e mappa utilizzando:

nnoremap <2-LeftMouse> :call CustomLoad()<CR> 

Così facendo doppio clic (in modalità normale) sulla parola special_keyword aprirà il file /path/to/file/to/be/opened se è leggibile. È possibile aggiungere più casi per parole chiave diverse o eseguire alcune elaborazioni di testo della parola chiave per generare il nome file, se necessario. (Si noti che la condizione filereadable non è necessaria, ma probabilmente una buona idea.)

Spero che questo aiuti.

1

Un'altra soluzione semplice è scrivere il nome file e utilizzare gf per andare al file, Ctrl+w,f per aprire il file in una finestra divisa o Ctrl+w,f,g per aprirlo in una scheda. Si noti che il file deve già esistere. Vedi this vim wikia entry per altri suggerimenti.