2010-02-16 6 views
18

In passato, ho utilizzato Vim come piattaforma per prendere appunti creando un file index.txt con un elenco di tag utilizzando il formato di file della guida di Vim e quindi creando una serie di file di testo con la normale sintassi del collegamento *Help_Tag* in modo che l'utilizzo di CTRL-] su un tag nel file index.txt passi al rispettivo tag in un file di testo di note arbitrarie. È necessario eseguire :helptags dir per generare i tag per la directory (dove dir è il percorso della directory notes).Vim come una piattaforma per prendere appunti: salta ai tag nelle finestre divise verticalmente

alt text

Quello che sto cercando è un modo semplice per essere sulla finestra divisa a sinistra e aprire il tag sotto il cursore nella finestra divisa a destra. Qualcosa come CTRL-W v ma per saltare i tag e usare la finestra split verticale già aperta.

Il problema è se si esegue CTRL-] si aprirà il tag nel riquadro di sinistra e se si esegue CTRL-W CTRL-] crea una finestra divisa orizzontalmente nel riquadro di sinistra.

Ci deve essere un modo per fare ciò che sto trascurando.

+0

Non posso dirlo. È una domanda su * usando * vim, o sulla scrittura di script per questo? Se il primo deve essere migrato a Super User. – dmckee

+0

Suppongo che potrebbe essere entrambi. Penso che sia necessaria una sceneggiatura ma forse qualcuno sa come farlo in modo nativo. –

risposta

1

Probabilmente l'easiset sarebbe una mappatura locale autocomando

au FileType index.txt nnoremap <buffer> <cr> 
    \ :vert belowright split 
    \ |tag <c-r><c-w> 
    \ |vert resize 130<cr> 

Nota Io uso ritorno

+0

L'utilizzo del comando della guida richiede l'uso dei file delle note nella mia cartella .vim/doc. Inoltre aprirà un nuovo riquadro a sinistra. Questo può essere evitato con ': rightb vert help test', ma la larghezza della divisione è 50/50. C'è un modo per specificare la larghezza del riquadro diviso verticalmente? –

+0

ridimensionamento è: vert belowright ridimensionare ridimensionare 130 – michael

+0

Mi piacerebbe utilizzare il comando 'tag' invece di 'aiuto' ma questo ha fatto il lavoro. Sai come posso far aprire il comando tag nella finestra di destra? Quando lo provo ora si aprirà a sinistra. –

2

mappa < A-] >: VSP <CR>: exec ("tag" .expand ("<cword>")) "Apri la definizione in un nuovo vsplit

+1

Ora come faccio a ottenere la divisione per aprire a destra del mio buffer corrente? –

+2

'imposta splitright' nel tuo.vimrc di avere tutte le suddivisioni verticali aperte a destra @Amjith – mambo

1

Prova questa mappatura:

nmap <buffer> <C-]> :let word=expand("<cword>")<CR><C-W>l:exe "tag" word<CR> 

Memorizza la parola sotto il cursore nella variabile word, poi scambia la finestra e va al tag con quel nome. Il bit <buffer> rende questa mappatura solo applicabile al buffer corrente.

+1

sono arrivato fino a questo tipo di mmap 'nmap : parola "tag" exec ': vsplit : lasciate parola = ampliata ("") per consentire funzionano ancora e utilizzare solo per il primo ctag – teferi

0

Se si utilizzano intestazioni come titoli di nota, è possibile utilizzare Vim VOoM, che delinea automaticamente in base a sytax e consente una facile navigazione con i tasti di navigazione standard.

Vim VOoM funziona anche con le piegatrici, come nello screenshot di esempio.

Problemi correlati