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 runtimepathopción aún contiene ~/.vimy, 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.vimse 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 --cmdo -u vimrcargumentos 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 NONEIngrese 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"

HOME=/dev/null vim -u NONE:?:cd ~, pero también la ubicación predeterminada delviminfoarchivo 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?/tmppodrí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.Respuestas:
A partir de Vim 8.0.1554 (desafortunadamente todavía no Neovim), puede usar
vim --clean. Este método es recomendado por:help bugs.:help --cleandocs:fuente
$HOMEvariable. Goodjob Vim desarrolladores. Y gracias a ti por la respuesta!--cleanahora también funciona conneovimmaster ( github.com/neovim/neovim/commit/… , que se incluirá en 0.4.0), pero no excluye el directorio de inicio.Una forma de eliminar archivos específicos del usuario sería utilizar un valor diferente de
$HOME. Para permitir que no se lea ni escriba nada (como viminfo), puede usar/dev/null:Esto causará errores
viminfo, por lo que, en su lugar, podría crear una carpeta temporal o usar una existente (como/tmp):Con tal
$HOME,-u NONEpuede no ser necesario, dependiendo de lo que su administrador haya agregado a todo el sistemavimrc. Por ejemplo, en todos los sistemas de laboratorio I administrar, añadí un/etc/vim/vimrc.local(origen por defecto del Vim empaquetado/etc/vim/vimrc) que tienenocompatible,syntax, etc., set, yfiletype onasí.fuente
No puedo responder mucho de eso, pero un punto que no veo mencionado, y estoy respondiendo una interpretación de lo que está en el título
algunos han sugerido
vim -u NONEovim -u NORCeso es, de alguna manera, un poco más básico que simplemente ningún archivo vimrc. Cuando escribo 'i', no dice 'insertar'. Es posible que desee que diga 'insertar'. Si comenzaste vim con tu archivo vimrc en blanco, entonces se mostrará insert
eso es porque vim carga primero una configuración predeterminada.
Puede apuntar vim a ese archivo predeterminado para obtener el efecto de que su archivo vimrc esté en blanco. Compruebe que tiene
/etc/vim/vimrc, y que puede hacervim -u /etc/vim/vimrco en osx, el archivo predeterminado es/usr/share/vim/vicmrcfuente
vim --cleanse cargarádefaults.vim. Esta respuesta se refiere al sistema vimrc (Ver:help system-vimrc.), Que creo que no está cargado porvim --clean.:help defaults.vim), podría ser mejor para cambiar la fraseologíadefault configasystem vimrcen esta respuesta. O incluso mejor, ¡discuta ambos en la respuesta!De Vim-FAQ 2.5 :
fuente
ensure that none of the behaviour I'm seeing is caused by user config- entonces parece que está tratando de hacer exactamente lo que se explica en estas Preguntas frecuentes. He releído tu pregunta y aún no entiendo cuáles son las razones que mencionaste.runtimepathconfiguración.runtimepath? Parece ser el valor predeterminado para esta opción, como se explica en:help rtp. ¿Cómo afecta este valor a su prueba?