¿Dónde está mi archivo .vimrc?


439

He estado usando Vim , y realmente me gustaría guardar mi configuración. El problema que tengo es que no puedo encontrar mi archivo .vimrc y no está en la /home/user/.vimrcubicación estándar . ¿Cómo puedo encontrar este archivo?


21
Si no está allí, créelo.

10
Mi máquina Ubuntu lo tenía en un archivo llamado /usr/share/vim/vimrc.
ckjbgames

Respuestas:


515

Necesitas crearlo. En la mayoría de las instalaciones que he usado, no se ha creado por defecto.

Usualmente lo creas como ~/.vimrc.


17
también verifique / etc / vim / vimrc
Natesh bhat el

@ Nateshbhat: ¿debería seguir usando /etc/vim/vimrco copiar eso ~/.vimrc? ¿O puedo tener ambos?
Mohammad Faisal

Si desea personalizarlo, primero lo copiaría localmente. De lo contrario, está cambiando la configuración para todos los usuarios.
AlG

354

Estos métodos funcionan si ya tiene un archivo .vimrc:

:scriptnamesenumere todos los archivos .vim que Vim cargó para usted, incluido su .vimrcarchivo.

:e $MYVIMRCabra y edite el .vimrc actual que está utilizando, luego use Ctrl+ Gpara ver la ruta en la barra de estado.


77
@MorganWilde No necesariamente, :scriptnamesy :e $MYVIMRCambos me devuelven resultados en blanco.
Rohmer

1
+1 para :scriptnames. Sin embargo, $MYVIMRCno se garantiza su configuración, por ejemplo, cuando se inicia vim con vim -u filename.
1983

44
: scriptnames tiene vimrc pero no .vimrc, ¿son iguales? Los encuentro ubicados en mi carpeta usr / share, ¿agregaría ~ / .vimrc (como respuesta aceptada) incluso haría algo sin una configuración adicional? ¿Es esa una forma de agregar opciones específicas de usuario al vimrc quizás?
Tyler

15
Tenga en cuenta que :e $MYVIMRCsolo funciona cuando hay un vimrcarchivo en primer lugar. De lo contrario, esto comenzará a editar un archivo llamado literalmente $MYVIMRC.
Tomalak

1
@Shadoninja: ese no era "tuyo", ese es el rcarchivo global . Lo que defina en su .vimrcarchivo (en la mayoría de los casos en su directorio de inicio) anulará los valores predeterminados en /etc/vimrc.
mathguy

92

Respuesta corta:

Para crear su vimrc, inicie Vim y realice una de las siguientes acciones:

:e $HOME/.vimrc  " on Unix, Mac or OS/2

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

Inserte la configuración que desee y guarde el archivo.

Tenga en cuenta que la existencia de este archivo deshabilitará la compatibleopción. Ver abajo para más detalles.

Respuesta larga:

Hay dos tipos de vimrc:

  • el usuario vimrc en$HOME
  • el sistema vimrc en $VIM(en sistemas Amiga, s:.vimrcse considera un usuario vimrc)

El archivo vimrc del usuario a menudo no existe hasta que lo crea el usuario. Si no puede encontrar $HOME/.vimrc(o $HOME/_vimrcen Windows), puede, y probablemente debería, simplemente crearlo.

El sistema vimrc normalmente no debe modificarse y se encuentra en el directorio $VIM* . El sistema vimrc no es un buen lugar para guardar su configuración personal. Si modifica este archivo, sus cambios pueden sobrescribirse si alguna vez actualiza Vim. Además, los cambios aquí afectarán a otros usuarios en un sistema multiusuario. En la mayoría de los casos, la configuración en el usuario vimrc anulará la configuración en el sistema vimrc.

De :help vimrc:

Un archivo que contiene comandos de inicialización se denomina archivo "vimrc". Cada línea en un archivo vimrc se ejecuta como una línea de comando Ex. A veces también se conoce como archivo "exrc". Son el mismo tipo de archivo, pero "exrc" es lo que Vi siempre usó, "vimrc" es un nombre específico de Vim. Ver también | vimrc-intro |.

Lugares para sus inicializaciones personales:

    Unix            $HOME/.vimrc or $HOME/.vim/vimrc
    OS/2            $HOME/.vimrc, $HOME/vimfiles/vimrc
                    or $VIM/.vimrc (or _vimrc)
    MS-Windows      $HOME/_vimrc, $HOME/vimfiles/vimrc
                    or $VIM/_vimrc
    Amiga           s:.vimrc, home:.vimrc, home:vimfiles:vimrc
                    or $VIM/.vimrc

Los archivos se buscan en el orden especificado anteriormente y solo se lee el primero que se encuentra.

(MacOS cuenta como Unix para lo anterior).

Tenga en cuenta que la mera existencia de un usuario vimrc cambiará el comportamiento de Vim desactivando la compatibleopción. De :help compatible-default:

Cuando se inicia Vim, la opción 'compatible' está activada. Esto se usará cuando Vim comience sus inicializaciones. Pero tan pronto como se encuentre un archivo vimrc de usuario, o un archivo vimrc en el directorio actual, o se establezca la variable de entorno "VIMINIT", se establecerá en 'nocompatible'. Esto tiene el efecto secundario de configurar o restablecer otras opciones (ver 'compatible'). Pero solo se cambiarán las opciones que no se hayan establecido o restablecido.


* $VIMno se puede configurar en su shell, pero siempre se configura dentro de Vim. Si desea ver en qué está configurado, inicie Vim y use el comando:echo $VIM


28

Como información adicional, principalmente en macOS, el archivo .vimrc se encuentra en el directorio:

/usr/share/vim/.vimrc

25
Ese es el sistema vimrc. Es mejor editar $ HOME / .vimrc y crearlo si aún no existe.
Laurence Gonsalves

1
Si el archivo .vimrc no se crea en el directorio de inicio, vi hace referencia al /usr/share/vim/.vimrcarchivo para su uso.
Sandeep

Lo mismo en Ubuntu, como encontré.
ckjbgames

25
:echo($MYVIMRC)

le dará la ubicación de su archivo .vimrc.

:e $MYVIMRC

lo abrirá


1
Retiro lo siguiente: -bash: error de sintaxis cerca del token inesperado '$ MYVIMRC'
Yannis Dran

@ YannisDran - Uhmm, ¿qué?
Torre

@Idigas Estaba escribiendo: echo (xxx) en mi ventana de comandos pero me di cuenta de que ahora querías escribir esto en el editor vim. Sin embargo, aunque: e xxx funciona, el: echo (xxx) no. Dice E121 Variable indefinida: xxx E15: Expresión no válida: ($ xxx)
Yannis Dran

@YannisDran - Solo para que quede claro, ¿recibió ese error al escribir: echo ($ myvimrc) en la línea de comando vim? No: echo (myvimrc) por casualidad?
Torre

1
Uso $ y lo hice en el editor vi (Typing: habilita la línea de comando). Por cierto, ahora vim no responde nada, solo coloca el indicador en la primera línea de vim. (Vim-Vi mejorado v.7.3 en OSX)
Yannis Dran

15

Por alguna razón, estas respuestas no funcionaron para mí. Esto es lo que funcionó para mí en su lugar:

En Vim, el :version comando le proporciona las rutas de acceso de los archivos vimrc y gvimrc del sistema y del usuario (entre otras cosas), y la salida se ve así:

 system vimrc file: "$VIM/vimrc"
   user vimrc file: "$HOME/.vimrc"
    user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
  user gvimrc file: "$HOME/.gvimrc"

El que quieres es user vimrc file: "$HOME/.vimrc"

Entonces, para editar el archivo: vim $HOME/.vimrc

Fuente: Abrir archivo vimrc


2
No entiendo cómo las respuestas existentes no funcionaron para usted cuando, de hecho, la solución que propuso ya está cubierta por ellas. Esta respuesta menciona $HOME/.vimrcy la respuesta superior menciona ~/.vimrccuál es igual que $HOME/.vimrc.
doubleDown

Completamente de acuerdo contigo. Lo que quise decir se perdió cuando se editó mi respuesta
Aaron Alphonsus

11

Abra Vim, y en modo normal escriba:

:echo $VIM

respuesta subestimada
Fl.pf.

Para mí solo sale /usr/share/vim. Versión 8.2.100, Arch Linux.
Yaroslav Nikitenko

Esto le indica el directorio en el que se encuentra su sistema vimrc, pero no le dice a dónde debe ir su usuario vimrc o cuál debe ser su nombre.
Laurence Gonsalves

Bueno, la pregunta "dónde" es el archivo vimrc. ¿Dónde debe ir el usuario vimrc? Póngalo ~/.vimrco ~/.vim/vimrc, observe que este último no tiene un punto delante.
adem

8

en unix vim --versionte dice las diferentes ubicaciones de los archivos de configuración de vim:

   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"

Puede verificar que esto funciona con el VIM que se incluye con Git para Windows. (Notando esto solo porque tanto que una respuesta SO podría suponer que NO FUNCIONA en Git Bash.)
Janet

5

Aquí hay algunos consejos más:

  • En Arch Linux, el global está en /etc/vimrc. Hay algunos comentarios allí con detalles útiles.

  • Como el nombre del archivo comienza con a ., está oculto a menos que lo use ls -apara mostrar TODOS los archivos.

  • Escribir :versionen Vim le mostrará un montón de información interesante, incluida la ubicación del archivo.

  • Si no está seguro de lo que ~/.vimrcsignifica, mire esta pregunta .


5

Me gustaría compartir cómo configuro mostrar el número de línea como predeterminado en Mac.

  1. En una terminal, escriba cd . Esto te ayudará a ir a la carpeta de inicio.
  2. En la terminal, escriba vi .vimrc. Esto creará un archivo de sistema vimrc vacío que desea usar.
  3. En el archivo, escriba set numbery luego presione Escen el teclado y escriba :wq. Esto establecerá el número de línea que se muestra en el archivo de configuración predeterminado vimrcy lo guardará.
  4. vi somethingpara ver si esto funciona. De lo contrario, intente reiniciar el terminal por completo.

Si está en una terminal, escriba cd /usr/share/vim/, vaya a esa carpeta y escriba ls. Puede ver directamente un archivo llamado vimrc. Pero es un archivo del sistema que dice solo lectura. Siento que no es una buena idea intentar modificarlo. Entonces, seguir los pasos anteriores para crear un vimrc por ti mismo es mejor. Funcionó para mi.


Una cosa que necesitaba cambiar a lo anterior para mi instalación de CentOS7: después del paso 1, escriba "nombre de usuario cd".
HoldOffHunger

2

Intenté todo en la respuesta anterior y no pude encontrar un .vimrcarchivo, así que tuve que hacer uno.

He copiado el archivo de ejemplo, cp vimrc_example.vim ~/.vimrc.

Tuve que crear el archivo, copiando de /usr/share/vim/vim74/vimrc_example.vima ~/.vimrc. Esas fueron las instrucciones en el vimrc_examplearchivo.

Mi solución es para Unix para otros sistemas operativos. Según la documentación de Vim, su ruta de destino debe ser la siguiente:

    For Unix and OS/2   : ~/.vimrc
    For Amiga           : s:.vimrc
    For MS-DOS and Win32: $VIM\_vimrc
    For OpenVMS         : sys$login:.vimrc

1

Desde cmd (Windows):

C\Users\You> `vim foo.txt`

Ahora en Vim, ingrese al modo de comando escribiendo: " : " (es decir, Shift+ ;)

:tabedit $HOME/.vimrc

Esto supone un teclado con un diseño estadounidense.
Peter Mortensen


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.