Para asegurar que el comportamiento no se vea afectado por mi configuración personal, quiero iniciar Vim de una manera que ignore todos mis archivos de configuración instalados por el usuario, como si Vim hubiera sido recién instalado por primera vez y el usuario lo hubiera ejecutado inmediatamente.
Esto se aborda en las preguntas frecuentes que sugieren que la respuesta es iniciar Vim con el siguiente comando:
vim -u NONE -U NONE -N -i NONE
Esto llega a la mayor parte del camino, pero la runtimepath
opción aún contiene ~/.vim
y, en particular, ~/.vim/after
(por ejemplo, si posteriormente enciendo la detección del tipo de archivo y cambio el tipo de archivo, ~/.vim/after/syntax/the_relevant_filetype.vim
se ejecutará el código ).
Puedo solucionar este problema específico invocando los siguientes comandos en el inicio *:
:set runtimepath-=~/.vim
:set runtimepath-=~/.vim/after
... pero no estoy seguro si:
- Esta es una solución sólida: ¿son esas las únicas rutas que pueden hacer que la configuración del usuario surta efecto? ¿Hay algo más en lo que no haya pensado?
- Hay una mejor manera de lograr el resultado deseado.
* Al utilizar --cmd
o -u vimrc
argumentos de concha, o simplemente tecleando manualmente.
EDITAR : Aquí hay un ejemplo específico del tipo de problema que estoy tratando de solucionar. (Aunque me gustaría que la solución solucione cualquier otro problema posible que aún no haya encontrado):
Cree un archivo ~ / .vim / after / ftplugin / c.vim, que contenga el contenido:
noremap i :echom "This is not default behaviour"<CR>
Ahora tenemos alguna configuración instalada por el usuario que queremos ignorar. Probemos la solución sugerida por las preguntas frecuentes.
Ejecute Vim con el comando:
vim -u NONE -U NONE -N -i NONE
Ingrese los comandos:
:filetype plugin on :set ft=c i
Comportamiento deseado : Vim debe ingresar al modo Insertar. Esto es lo que haría si no existiera la configuración del usuario.
Comportamiento observado : Vim imprime "Este no es el comportamiento predeterminado"
:cd ~
, pero también la ubicación predeterminada del viminfo
archivo es $ HOME, lo que puede causar E138. Supongo que crear un nuevo directorio vacío y usarlo para $ HOME podría ser la mejor solución.
-u NONE
?
/tmp
podría ser mejor, fue mi primer pensamiento, pero luego elegí / dev / null como un agujero negro. ... o algo así HOME=$(mktemp -d) vim ...
.
-u NONE
? Depende del comportamiento que necesites, supongo.
HOME=/dev/null vim -u NONE
:?