Jak korzystać z zainstalowanego Vima w Git Bash zamiast z Git?

22

Zainstalowałem odpowiednio Vima i Gita C:\Program Files (x86)\(vim|git).

Kiedy uruchamiam Vima z Git Bash, uruchamia on wewnętrzną wersję Vima dostarczoną z instalatorem Git. Czy istnieje sposób na zastąpienie tego zachowania, które nie wymaga zmiany mojego .profilelub .bashrcpodobnego, aby móc uruchomić wersję Vima zainstalowaną w Program Files?

Dzięki.

matpie
źródło

Odpowiedzi:

20

Domyślnie Git uruchamia vim z Git\bin\vim. W rzeczywistości jest to skrypt, który zawiera ścieżkę do samego pliku wykonywalnego:

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

Dlatego możesz edytować ten plik, aby wskazywał swoją lokalizację Git.

Domyślny edytor można zastąpić w Git\etc\gitconfig:

[core]
editor = path_to_your_editor
nieważne
źródło
5
Przy okazji, że ktoś tu przyjedzie po 17.08.2012, ścieżka do gitconfigpliku na chocolatelyinstalacji git toc:\program files\git\ningw64\etc\gitconfig
THBBFT
3

Zakładając, że C:\Program Files (x86)\{vim,git}możliwa jest zmiana treści , masz co najmniej te dwie opcje w zależności od wartości %PATH%zmiennej środowiskowej:

  1. Jeśli masz C:\Program Files (x86)\vim\vim73w twojej %PATH%można po prostu usunąć vimplik binarny, który został zainstalowany z Git. Aby to zadziałało, Vim powinien być uruchamiany jako vimpełna ścieżka, a nie przez nią.

  2. Prawdopodobnie masz swój Program Files (x86)katalog na woluminie NTFS, więc możesz usunąć plik wykonywalny Vima zainstalowany przez Git i utworzyć dowiązanie symboliczne do prawdziwego pliku wykonywalnego Vima.

xaizek
źródło
2

Jeśli Twoja instalacja Vima jest dostępna na ścieżce, otwórz konsolę PowerShell i wykonaj następujące czynności:

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

Ustawi twój edytor git na Vima, który jest na ścieżce.

bazzilic
źródło
1
To zadziała w Git. Szukałem opcji, która użyje systemowej wersji Vima w Git Bash. Akceptowana odpowiedź nadal działa najlepiej.
matpie
@sirlancelot myślę, że źle odczytałem twoje pytanie.
bazzilic