Comment utiliser Vim installé dans Git Bash au lieu de celui fourni avec Git?

22

J'ai installé Vim et Git C:\Program Files (x86)\(vim|git)respectivement.

Lorsque j'exécute Vim à partir de Git Bash, il exécute la version interne de Vim fournie avec le programme d'installation de Git. Existe-t-il un moyen de remplacer ce comportement qui n'implique pas de modifier mon .profileou .bashrcsimilaire pour que je puisse exécuter la version de Vim que j'ai installée dans Program Files?

Merci.

matpie
la source

Réponses:

20

Par défaut, Git exécute vim depuis Git\bin\vim. Il s'agit en fait d'un script qui contient le chemin d'accès à l'exécutable lui-même:

#!/bin/sh
exec /share/vim/vim73/vim "$@"

Par conséquent, vous pouvez modifier ce fichier pour pointer vers votre emplacement Git.

L'éditeur par défaut peut être remplacé dans Git\etc\gitconfig:

[core]
editor = path_to_your_editor
ça ne fait rien
la source
5
gitconfigchocolatelyc:\program files\git\ningw64\etc\gitconfig
Si
3

En supposant qu'il C:\Program Files (x86)\{vim,git}soit possible de modifier le contenu de, vous avez au moins ces deux options en fonction de la valeur de votre %PATH%variable d'environnement:

  1. Si vous C:\Program Files (x86)\vim\vim73en avez, %PATH%vous pouvez simplement supprimer le vimbinaire installé avec Git. Pour que cela fonctionne, Vim doit être exécuté en tant que vimet non par un chemin complet.

  2. Vous avez probablement votre Program Files (x86)répertoire sur un volume NTFS, vous pouvez donc supprimer l'exécutable Vim installé par Git et créer un lien symbolique vers le véritable exécutable Vim.

xaizek
la source
2

Si votre installation de Vim est disponible sur le chemin, ouvrez la console Powershell et exécutez ceci:

git config --global core.editor "$(Get-Command vim | % { $_.Source -replace '\\','\\\\' })"

Il définira votre éditeur git sur Vim qui est sur le chemin.

bazzilic
la source
1
Cela fonctionnera au sein de Git. Je cherchais une option qui utiliserait la version installée par le système de Vim dans Git Bash. La réponse acceptée fonctionne mieux encore.
matpie
@sirlancelot je pense, j'ai mal lu votre question.
2017