2011-10-07 17 views
7

Sé que en emacs es posible insertar algún tipo de "texto en el que se pueda hacer clic". Es decir. puede insertar un texto que, cuando el usuario presione enter, se abre otro archivo.vim: Agregar etiqueta seleccionable

¿Hay algo como esto para vim?

Respuesta

4

Es posible, pero es tipo de archivo específico. Un mejor ejemplo será el propio sistema de ayuda de vim que no es más elegante que un buffer no modificable con mapeos específicos.

Consulte vimwiki y vimorgmode para ver ejemplos de tales enlaces.

4

Para casos ad hoc simples podría escribir una función a la que se abre un determinado archivo basado en la palabra debajo del cursor. Podría asignar esta función al evento de doble clic.

Por ejemplo:

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 

y asignarla usando:

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

Así doble clic (en modo normal) en la palabra special_keyword abrirá el archivo /path/to/file/to/be/opened si es legible. Puede agregar varios casos para diferentes palabras clave, o hacer un procesamiento de texto de la palabra clave para generar el nombre del archivo si es necesario. (Tenga en cuenta que la condición filereadable no es necesaria, pero probablemente sea una buena idea.)

Espero que esto ayude.

1

Otra solución simple es escribir el nombre del archivo y usar gf para ir al archivo, Ctrl+w,f para abrir el archivo en una ventana dividida o Ctrl+w,f,g para abrirlo en una pestaña. Tenga en cuenta que el archivo ya debe existir. Ver this vim wikia entry para algunos otros consejos.