13

Я скачал и установил git для Windows (msysgit) и часто использовал включенный git bash. Всякий раз, когда я запускаю vim из git bash, мой файл _vimrc не загружается, потому что есть подсветка синтаксиса или что-то еще. Когда я запускаю ту же команду для запуска формы vim в командной строке Windows (cmd) вместо git bash, она работает, как описано в моем файле _vimrc. Единственная настройка, которую я сделал для git bash, - это добавить следующий bash_profile в 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

Кто-нибудь знает, почему он правильно загружает мой _vimrc файл при запуске vim из cmd и неправильно при запуске из git bash?

3 ответа3

13

msysgit поставляется с собственной версией vim.

Вы можете проверить это, запустив

type vim

внутри вашей подсказки git bash.

Я думаю, что это скажет вам, что vim = /bin/vim , а не /c/Program Files/Vim/Vim.exe .

Тогда беги

vim --version | grep vimrc

чтобы увидеть, какие файлы конфигурации он ищет.

В моей системе это говорит

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

$VIM указывает на C:\Program Files\Git\share\vim а $HOME указывает на c:\Users\USERNAME .

Я думаю, что ваш лучший вариант - запустить версию vim для Windows, например

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

или похожие.

Или вы можете отодвинуть версию vim для msysgit, например:

mv /bin/vim /bin/vim.disabled
2

/bin/vim - это просто скрипт перенаправления, вы можете изменить его и указать путь к тому, что вы хотите.

Отредактируйте C:\Program Files (x86)\Git\bin\vim от имени администратора.

Изменить это:

#!/bin/sh

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

К этому (или каков твой путь):

#!/bin/sh

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

в vim введите :scriptnames .

:scr [iptnames] - перечислить все имена сценариев в порядке их поступления. Номер используется для идентификатора скрипта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .