vim ne charge pas le fichier _vimrc lors du lancement depuis git bash

13

J'ai téléchargé et installé git pour windows (msysgit) et j'ai fréquemment utilisé le git bash inclus. Chaque fois que j'exécute vim à partir de git bash, mon fichier _vimrc n'est pas chargé car il y a une coloration syntaxique ou quoi que ce soit. Lorsque j'exécute la même commande pour démarrer vim form avec dans la ligne de commande Windows (cmd) au lieu de git bash, cela fonctionne comme décrit dans mon fichier _vimrc. La seule personnalisation que j'ai faite pour git bash est d'ajouter le fichier bash_profile suivant à C: \ Program Files (x86) \ Git \ etc

alias up='cd ..'
alias ls='ls --color'
alias la='ls -a'
alias vimconfig='vim /c/Program\ Files/Vim/_vimrc'
alias gvimconfig='vim /c/Program\ Files/Vim/_gvimrc'
alias bashconfig='vim /c/Program\ Files/Git/etc/bash_profile'
LS_COLORS='di=36:fi=37:ln=31:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.rpm=90'
export LS_COLORS

Est-ce que quelqu'un sait pourquoi il charge mon fichier _vimrc correctement lorsque vim est lancé à partir de cmd et incorrectement lorsqu'il est lancé à partir de git bash?

Ben
la source

Réponses:

14

msysgit est livré avec sa propre version de vim.

Vous pouvez le vérifier en exécutant

type vim

à l'intérieur de votre invite git bash.

Je pense que cela vous dira que vim= /bin/vim, non /c/Program Files/Vim/Vim.exe.

Exécutez ensuite

vim --version | grep vimrc

pour voir quels fichiers de configuration il recherche.

Sur mon système, ça dit

$ vim --version | grep vimrc
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$VIM\_vimrc"

$VIMpointe vers C:\Program Files\Git\share\vimet $HOMEpointe vers c:\Users\USERNAME.

Je suppose que votre meilleure option est d'exécuter votre version Windows de vim, par exemple

alias vim='/c/Program Files/Vim/Vim.exe'

ou similaire.

Ou vous pouvez déplacer la version msysgit de vim de côté, par exemple

mv /bin/vim /bin/vim.disabled
Mikel
la source
Voulez-vous dire "msysgit est livré avec sa propre version de vim."?
Heptite
2
Notez que vous devrez peut-être exécuter git bash en tant qu'administrateur pour effectuer cette dernière ligne.
Kristo
Merci, ça fonctionne parfaitement. J'ai suivi la dernière commande dans windows 8.1
Ibn Saeed
2

/bin/vim n'est qu'un script de redirection, vous pouvez le modifier et définir le chemin d'accès à votre guise.

Modifier C:\Program Files (x86)\Git\bin\vimen tant qu'administrateur.

Change ça:

#!/bin/sh

exec /share/vim/vim74/vim "$@"

Pour cela (ou quel que soit votre chemin):

#!/bin/sh

exec "/c/Program Files (x86)/Vim/vim74/gvim.exe" "$@"
Dan
la source
1

dans vim, tapez :scriptnames.

: scr [iptnames] - Liste tous les noms de script d'origine, dans l'ordre dans lequel ils ont été créés. Le numéro est utilisé pour l'ID de script.

qeatzy
la source
2
Veuillez relire attentivement la question. Votre réponse ne répond pas à la question d'origine.
DavidPostill
@DavidPostill, à mon humble avis, ce n'est pas hors sujet, car le problème est que son script personnalisé ne provient pas de tous, ou qu'il n'est pas remplacé par d'autres scripts. Ma réponse dit comment savoir quels scripts proviennent et dans quel ordre ils proviennent. Notez également que c'est une question assez ancienne, mon propos n'est pas seulement de répondre à la question d'origine mais de bien généraliser.
qeatzy
Je n'ai pas dit que c'était hors sujet, j'ai dit que ça ne répondait pas à la question.
DavidPostill
J'ai répondu à la question. Par: scr [iptname], vous savez que votre script est déjà chargé ou non. S'il est chargé, quel est le candidat qui l'a remplacé. Veuillez relire la question. - il peut y avoir deux vim installés et leur processus de démarrage peut être différent.
qeatzy