2012-08-08 10 views
21

He leído los documentos pero no puedo determinar si esto es posible.Vim CtrlP Plugin: ¿establece manualmente el directorio de búsqueda raíz?

Quiero mantener la configuración predeterminada de g:ctrlp_working_path_mode = 2, pero quiero la posibilidad de anular manualmente eso para todos los búferes en la ventana actual, si así lo deseo.

Específicamente, quiero emitir un comando CtrlP o cambiar una variable CtrlP de configuración que establece el directorio raíz de búsqueda, de modo que es utiliza ese directorio para todas las búsquedas en el futuro, independientemente de la memoria intermedia en que estoy.

Cuestión de bonificación: ¿Es posible establecer dos directorios raíz, de modo que los busque a ambos y combine los resultados?

Gracias!

Respuesta

14

Prueba esto:

Sea G: ctrlp_working_path_mode = 'ra'

'c' - el directorio del archivo actual.

'r' - el antepasado más cercano que contiene uno de estos directorios o archivos: .git .hg Svn .bzr

'a' - como C, pero sólo si el directorio de trabajo actual es fuera del CtrlP no es un ancestro directo del directorio del archivo actual.

0 or '' (cadena vacía) - deshabilita esta función.

Fuente: https://github.com/kien/ctrlp.vim

Además, aquí: https://github.com/kien/ctrlp.vim/issues/292, el autor ha proporcionado una forma de configurar FullPath:

:CtrlP /var/www/myproject/bla/bla/theme 
+0

Esto ha sido desde entonces mejorado con la ' 'opción w'', que es brillante (si se establece vim directorio de trabajo por encima de sus acuerdos de recompra, que le permite estar 'fuera' y buscar a través de todos ellos). Resulta útil si tiene muchos repositorios pequeños (que es a menudo la mejor manera de estar configurando grandes bases de código usando GIT) –

+0

No estoy seguro de si esto sigue funcionando. respuesta de Steven fue lo que funcionó para mí. 'Sea g: ctrlp_cmd = 'CtrlP: pwd'' –

4

CtrlP desencadena la búsqueda de directorio de trabajo actual. Entonces, si bien puede establecer el valor predeterminado g: ctrlp_working_path_mode = 2, puede anular fácilmente la ventana actual cambiando el parámetro pwd. ejemplo

(por defecto)

:pwd tmp/vim/usr

y desea cambiarlo a TMP sólo para

:cd ../../

y ahora ejecutar CtrlP

8

Usted puede utilizar el a continuación en su vimrc

noremap <C-a> :CtrlP /yourdir/<CR> 

cada vez que se pulsa ctrl+a la CtrlP tomará/yourdir/como directorio raíz

+1

encuentro' noremap : CtrlP ~ 'bastante útil. –

8

que utilizo:

let g:ctrlp_cmd='CtrlP :pwd' 

este de reasignación CtrlP comando a: CtrlP: pwd