2010-02-16 11 views
18

En el pasado, he usado Vim como plataforma para tomar notas creando un archivo index.txt con una lista de etiquetas usando el formato de archivo de ayuda Vim y luego creando un grupo de archivos de texto que tienen la sintaxis normal del enlace *Help_Tag*, de modo que al usar CTRL-] en una etiqueta en el archivo index.txt se saltará a la etiqueta respectiva en un archivo de texto de notas arbitrarias. Debe hacer :helptags dir para generar las etiquetas para el directorio (donde dir es la ruta al directorio de notas).Vim como una plataforma para tomar notas: salta a la etiqueta en ventanas divididas verticalmente

alt text

Lo que estoy buscando es una manera sencilla de estar en la ventana dividida izquierda y abra la etiqueta bajo el cursor en la ventana dividida derecha. Algo así como CTRL-W v pero para saltar la etiqueta y usar la ventana de división vertical ya abierta.

El problema es que si hace CTRL-] se abrirá la etiqueta en el panel izquierdo y si lo hace CTRL-W CTRL-] se crea una ventana dividida horizontalmente en el panel izquierdo.

Debe haber una manera de hacer esto que estoy pasando por alto.

+0

No puedo decirlo. ¿Se trata de preguntas sobre * usar * vim o sobre cómo escribir scripts para ello? Si el primero se debe migrar a Super Usuario. – dmckee

+0

Supongo que podría ser cualquiera. Estoy pensando que se necesita un guión, pero tal vez alguien sepa de una manera de hacerlo de forma nativa. –

Respuesta

1

Probablemente el easiset habría una asignación local de AutoCommand

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

Nota utilizo retorno

+0

Usar el comando de ayuda requiere tener los archivos de notas en mi carpeta .vim/doc. Además, abriría un nuevo panel a la izquierda. Esto se puede evitar con ': rightb vert help test' pero el ancho de la división es 50/50. ¿Hay alguna manera de especificar el ancho del panel dividido verticalmente? –

+0

cambiar el tamaño es: vert belowright ayudar a redimensionar | vert resize 130 – michael

+0

Me gustaría utilizar el comando 'etiqueta' en lugar de 'ayuda', pero esto hace el trabajo. ¿Sabes cómo puedo hacer que el comando de etiqueta se abra en la ventana derecha? Cuando lo intente ahora, se abrirá a la izquierda. –

2

mapa < A-] >: VSP <CR>: "etiqueta" exec (.expand ("<cword>")) "Abra la definición en un nuevo vsplit

+1

Ahora, ¿cómo hago para que la división se abra a la derecha de mi búfer actual? –

+2

'set splitright' en su.vimrc que tiene todas las divisiones verticales abiertas a la derecha @Amjith – mambo

1

Pruebe este mapa:

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

Almacena la palabra bajo el cursor en la variable word, entonces intercambia la ventana y va a la etiqueta con ese nombre. El bit <buffer> hace que esta asignación solo se aplique al búfer actual.

+1

me encontré con con este tipo de mmap 'nmap : vsplit : dejar que la palabra = ampliar ("") : "etiqueta" exec palabra ' para permitir que aún funcione y use solo para la primera etiqueta – teferi

0

Si usa títulos como títulos de notas, puede usar Vim VOoM, que describe automáticamente en base a sintaxis y permite una fácil navegación con las teclas de navegación estándar.

Vim VOoM también funciona con foldmarkers, como en la captura de pantalla de ejemplo.

Cuestiones relacionadas