Où est mon fichier .vimrc?

439

J'utilise Vim et j'aimerais vraiment enregistrer mes paramètres. Le problème que j'ai est que je ne trouve pas mon fichier .vimrc et qu'il n'est pas à l' /home/user/.vimrcemplacement standard . Comment puis-je trouver ce fichier?

Eman
la source
21
S'il n'est pas là, créez-le.
10
Ma machine Ubuntu l'avait dans un fichier nommé /usr/share/vim/vimrc.
ckjbgames
4
Copie
yashgarg1232

Réponses:

515

Vous devez le créer. Dans la plupart des installations que j'ai utilisées, il n'a pas été créé par défaut.

Vous le créez généralement en tant que ~/.vimrc.

AlG
la source
17
vérifiez également / etc / vim / vimrc
Natesh bhat
@Nateshbhat: dois-je continuer à l'utiliser /etc/vim/vimrcou à le copier ~/.vimrc? Ou puis-je avoir les deux?
Mohammad Faisal
Si vous souhaitez le personnaliser, je le copierai d'abord localement. Sinon, vous modifiez les paramètres pour tous les utilisateurs.
AlG
354

Ces méthodes fonctionnent, si vous avez déjà un fichier .vimrc:

:scriptnamesrépertoriez tous les fichiers .vim que Vim a chargés pour vous, y compris votre .vimrcfichier.

:e $MYVIMRCouvrez et modifiez le .vimrc actuel que vous utilisez, puis utilisez Ctrl+ Gpour afficher le chemin dans la barre d'état.

Fan de Philia
la source
7
@MorganWilde Pas nécessairement, :scriptnameset les :e $MYVIMRCdeux renvoient des sorties vides pour moi.
Rohmer
1
+1 pour :scriptnames. Cependant, il $MYVIMRCn'est pas garanti d'être défini, par exemple lors du démarrage de vim avec vim -u filename.
1983
4
: scriptnames a vimrc mais pas .vimrc, sont-ils les mêmes? Je les trouve situés dans mon dossier usr / share, l'ajout de ~ / .vimrc (comme réponse acceptée) ferait-il quoi que ce soit sans autre configuration? Est-ce un moyen d'ajouter des options spécifiques à l'utilisateur sur le vimrc?
Tyler
15
Notez que cela :e $MYVIMRCne fonctionne que lorsqu'il existe un vimrcfichier en premier lieu. Sinon, cela commencera à éditer un fichier appelé littéralement $MYVIMRC.
Tomalak
1
@Shadoninja - ce n'était pas "le vôtre", c'est le rcfichier global . Tout ce que vous définissez dans votre .vimrcfichier (dans la plupart des cas dans votre répertoire personnel) remplacera les valeurs par défaut dans /etc/vimrc.
mathguy
92

Réponse courte:

Pour créer votre vimrc, démarrez Vim et effectuez l'une des opérations suivantes:

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

:e $HOME/_vimrc  " on Windows

:e s:.vimrc      " on Amiga

Insérez les paramètres souhaités et enregistrez le fichier.

Notez que l'existence de ce fichier désactivera l' compatibleoption. Voir ci-dessous pour plus de détails.

Longue réponse:

Il existe deux types de vimrc:

  • l' utilisateur vimrc dans$HOME
  • le système vimrc dans $VIM(sur les systèmes Amiga, s:.vimrcest considéré comme un utilisateur vimrc)

Souvent, le fichier utilisateur vimrc n'existe pas tant qu'il n'a pas été créé par l'utilisateur. Si vous ne trouvez pas $HOME/.vimrc(ou $HOME/_vimrcsur Windows), vous pouvez, et probablement le devriez, simplement le créer.

Le système vimrc ne doit normalement pas être modifié et se trouve dans le répertoire $VIM* . Le système vimrc n'est pas un bon endroit pour conserver vos paramètres personnels. Si vous modifiez ce fichier, vos modifications peuvent être écrasées si vous mettez à niveau Vim. De plus, les modifications apportées ici affecteront d'autres utilisateurs sur un système multi-utilisateur. Dans la plupart des cas, les paramètres dans l'utilisateur vimrc remplaceront les paramètres dans le système vimrc.

De :help vimrc:

Un fichier contenant des commandes d'initialisation est appelé fichier "vimrc". Chaque ligne d'un fichier vimrc est exécutée en tant que ligne de commande Ex. Il est parfois appelé fichier "exrc". Il s'agit du même type de fichier, mais "exrc" est ce que Vi a toujours utilisé, "vimrc" est un nom spécifique à Vim. Voir aussi | vimrc-intro |.

Lieux pour vos initialisations personnelles:

    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

Les fichiers sont recherchés dans l'ordre spécifié ci-dessus et seul le premier trouvé est lu.

(MacOS compte comme Unix pour ce qui précède.)

Notez que la simple existence d'un utilisateur vimrc changera le comportement de Vim en désactivant l' compatibleoption. De :help compatible-default:

Lorsque Vim démarre, l'option «compatible» est activée. Ceci sera utilisé lorsque Vim commencera ses initialisations. Mais dès qu'un fichier utilisateur vimrc est trouvé, ou un fichier vimrc dans le répertoire courant, ou que la variable d'environnement "VIMINIT" est définie, elle sera définie sur "nocompatible". Cela a pour effet secondaire de définir ou de réinitialiser d'autres options (voir «compatible»). Mais seules les options qui n'ont pas été définies ou réinitialisées seront modifiées.


* $VIMne peut pas être défini dans votre shell, mais est toujours défini dans Vim. Si vous voulez voir à quoi il est configuré, démarrez Vim et utilisez la commande:echo $VIM

Laurence Gonsalves
la source
28

Comme information supplémentaire, principalement sous macOS, le fichier .vimrc se trouve dans le répertoire:

/usr/share/vim/.vimrc
hihell
la source
25
C'est le système vimrc. Il vaut mieux éditer $ HOME / .vimrc, et le créer s'il n'existe pas déjà.
Laurence Gonsalves
1
Si le fichier .vimrc n'est pas créé dans le répertoire personnel, alors vi fait référence au /usr/share/vim/.vimrcfichier à utiliser.
Sandeep
Même chose dans Ubuntu, comme je l'ai trouvé.
ckjbgames
25
:echo($MYVIMRC)

vous donnera l'emplacement de votre fichier .vimrc.

:e $MYVIMRC

va l'ouvrir.

Tour
la source
1
Je retire ce qui suit: -bash: erreur de syntaxe près du jeton inattendu '$ MYVIMRC'
Yannis Dran
@YannisDran - Uhmm, quoi?
Tour
@Idigas Je tapais: echo (xxx) sur ma fenêtre de commande mais je me suis rendu compte maintenant que vous vouliez le taper dans l'éditeur vim. Cependant, même si: e xxx fonctionne, le: echo (xxx) ne fonctionne pas. Il dit E121 Variable non définie: xxx E15: Expression invalide: ($ xxx)
Yannis Dran
@YannisDran - Juste pour être clair, vous avez eu cette erreur en tapant: echo ($ myvimrc) dans la ligne de commande vim? Non: écho (myvimrc) par hasard?
Tour
1
J'utilise $ et je l'ai fait dans l'éditeur vi (Typing: permet la ligne de commande). Btw, maintenant vim ne répond plus, il ne met l'indicateur qu'à la première ligne de vim. (Vim-Vi amélioré v.7.3 sur OSX)
Yannis Dran
15

Pour une raison quelconque, ces réponses n'ont pas tout à fait fonctionné pour moi. C'est ce qui a plutôt fonctionné pour moi:

Dans Vim, la :versioncommande vous donne les chemins des fichiers système et utilisateur vimrc et gvimrc (entre autres), et la sortie ressemble à ceci:

 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"

Celui que vous voulez est user vimrc file: "$HOME/.vimrc"

Donc pour éditer le fichier: vim $HOME/.vimrc

Source: ouvrir le fichier vimrc

Aaron Alphonsus
la source
2
Je ne comprends pas comment les réponses existantes n'ont pas tout à fait fonctionné pour vous alors qu'en fait la solution que vous avez proposée est déjà couverte par elles. Cette réponse mentionne $HOME/.vimrcet la réponse supérieure mentionne ~/.vimrcqui est la même que $HOME/.vimrc.
doubleDown
Tout à fait d'accord avec toi. Ce que je voulais dire a été perdu lorsque ma réponse a été modifiée
Aaron Alphonsus
11

Ouvrez Vim, et en mode normal, tapez:

:echo $VIM
adem
la source
réponse sous-estimée
Fl.pf.
Pour moi ça ne sort que /usr/share/vim. Version 8.2.100, Arch Linux.
Yaroslav Nikitenko
Cela vous indique le répertoire dans lequel se trouve votre système vimrc, mais il ne vous indique pas où votre utilisateur vimrc doit aller, ni quel doit être son nom.
Laurence Gonsalves
Eh bien, la question "où" est le fichier vimrc. Où l'utilisateur vimrc devrait-il aller? Mettez-le dans ~/.vimrcou ~/.vim/vimrc, notez que ce dernier n'a pas de point devant.
adem
8

sous unix vim --versionvous indique les différents emplacements des fichiers de configuration 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"
qrtLs
la source
Peut vérifier que cela fonctionne avec le VIM fourni avec Git pour Windows. (Notant cela uniquement parce que tellement une réponse SO peut supposer que NE FONCTIONNE PAS dans Git Bash.)
Janet
5

Voici quelques conseils supplémentaires:

  • Dans Arch Linux, le global est à /etc/vimrc. Il y a quelques commentaires avec des détails utiles.

  • Étant donné que le nom de fichier commence par un ., il est masqué sauf si vous utilisez ls -apour afficher TOUS les fichiers.

  • Taper :versiondans Vim vous montrera un tas d'informations intéressantes, y compris l'emplacement du fichier.

  • Si vous n'êtes pas sûr de ce que cela ~/.vimrcsignifie, regardez cette question .

Ben
la source
5

Je voudrais partager comment j'ai défini l'affichage du numéro de ligne par défaut sur Mac.

  1. Dans un terminal, tapez cd. Cela vous aidera à accéder au dossier d'accueil.
  2. Dans le terminal, tapez vi .vimrc. Cela créera un fichier système vimrc vide que vous souhaitez utiliser.
  3. Dans le fichier, tapez set number, puis appuyez Escsur le clavier et tapez :wq. Cela définira le numéro de ligne affiché dans le fichier de paramètres par défaut vimrcet l'enregistrera.
  4. vi somethingpour voir si cela fonctionne. Sinon, essayez de redémarrer complètement le terminal.

Si dans un terminal, saisissez cd /usr/share/vim/, accédez à ce dossier et saisissez ls. Vous pouvez voir directement un fichier nommé vimrc. Mais c'est un fichier système qui dit en lecture seule. Je pense que ce n'est pas une bonne idée d'essayer de le modifier. Il est donc préférable de suivre les étapes ci-dessus pour créer vous-même un vimrc. Ça a marché pour moi.

Jinggang
la source
Une chose que je devais changer pour ce qui précède pour mon installation CentOS7: après l'étape 1, tapez "cd username".
HoldOffHunger
2

J'ai tout essayé dans la réponse précédente et .vimrcje n'ai pas trouvé de fichier, j'ai donc dû en créer un.

J'ai copié le fichier exemple cp vimrc_example.vim ~/.vimrc.

J'ai dû créer le fichier, en copiant de /usr/share/vim/vim74/vimrc_example.vimà ~/.vimrc. Telles étaient les instructions du vimrc_exampledossier.

Ma solution est pour Unix pour les autres systèmes d'exploitation. Selon la documentation de Vim, votre chemin de destination doit être le suivant:

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

Depuis cmd (Windows):

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

Maintenant dans Vim, entrez en mode commande en tapant: " : " (ie Shift+ ;)

:tabedit $HOME/.vimrc
Jason
la source
Cela suppose un clavier avec une disposition américaine.
Peter Mortensen
1

Le fichier vimrc dans Ubuntu ( 12.04 (Precise Pangolin) ) : J'ai essayé :scriptnamesdans Vim, et il montre les deux /usr/share/vim/vimrcet ~/.vimrc.

Mais j'avais créé manuellement ~/.vimrc.

mythicalcoder
la source