¿Cómo encuentra dónde se asignó por última vez una variable?


11

Estoy tratando de configurar g:netrw_list_hidey no parece funcionar. No importa lo que establezca en mi .vimrc, siempre tiene el valor ,^\.\.\=/\=$. Solo si obtengo mi vimrcarchivo nuevamente, entonces tiene el valor correcto.

¿Cómo depuro esto? ¿Supongo que hay algún complemento que está configurando esa variable? Posiblemente después de que mi vimrcse cargue, así que quiero ver dónde se está configurando.


2
:vim netrw_list_hide **/*
romainl

3
actualmente no es realmente posible aparte de inspeccionar la fuente manualmente. Creé este PR que permitiría esto.
Christian Brabandt

¿El comando detallado no ayudará en este caso?
SibiCoder

Respuestas:


11

Puede capturar un registro completo de una sesión de Vim con vim -V20vimlog. Después de salir de Vim, examine (busque grep) el vimlogarchivo de registro :let g:netrw_list_hide.


15

Si estaba buscando el último punto donde se estableció una opción (en lugar de una variable), podría usar el :verbosecomando:

:4verbose set is?
  incsearch
        Last set from ~/.vim/vimrc

Pero actualmente no hay un comando equivalente para las variables.

Puede inspeccionar el código o usar la búsqueda en la fuente, posiblemente usando :vimgrep, :vim netrw_list_hide **/*(como se menciona en los comentarios).

Otra alternativa es usar la 'verbose'opción para hacer eco de todo lo que se ejecuta después de establecer la variable. Como será una gran salida reflejada en la pantalla, deberá guardarla (en un registro, por ejemplo):

" in your .vimrc, after you set the variable
redir @b
set verbose=15

Después de que finalice la inicialización, restaure el detallado al valor predeterminado y detenga la redirección:

:set vbs&
:redir end

Es posible que deba presionar Ctrl-C algunas veces, dependiendo de los autocmds / plugins que esté utilizando.

Luego puede pegar el contenido del registro utilizando "bpy analizar el " registro de inicialización ".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.