vim не завантажує файл _vimrc при запуску з git bash


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 \ тощо

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?

Відповіді:


14

msysgit поставляється із власною версією vim.

Ви можете перевірити це, запустивши

type vim

всередині вашого git bash prompt.

Я думаю, це скаже вам, що 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.

Я думаю, найкращим варіантом є запуск вашої Windows-версії vim, наприклад

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

або подібне.

Або ви можете перемістити msysgit версію vim убік, наприклад

mv /bin/vim /bin/vim.disabled

Ви мали на увазі "msysgit поставляється із власною версією vim."?
Гептит

2
Зауважте, що вам, можливо, доведеться запустити git bash як адміністратор, щоб виконати цей останній рядок.
Крісто

Спасибі, це працює чудово. Я дотримувався останньої команди в Windows 8.1
Ібн Саїд

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

in vim, тип :scriptnames.

: scr [iptnames] - Перерахуйте всі найменування скриптів у порядку їх першого отримання. Номер використовується для ідентифікатора сценарію.


2
Будь ласка, прочитайте запитання ще раз уважно. Ваша відповідь не відповідає на початкове запитання.
DavidPostill

@DavidPostill, IMHO, це не тематично, оскільки проблема полягає в тому, що його налаштований сценарій не видається всіма або не може бути перекритий іншими сценаріями. У моїй відповіді сказано, як знати, які сценарії створюються та в якому порядку твоє джерело. Також зауважте, що це досить старе запитання, моя суть полягає не лише у відповіді на початкове запитання, а й узагальненому.
qeatzy

Я не сказав, що це поза темою, я сказав, що не відповідає на питання.
DavidPostill

Я відповів на запитання. Автор: scr [iptname], ви знаєте, що ваш сценарій коли-небудь завантажується чи ні. Якщо він завантажений, який кандидат може його перекрити. Будь ласка, прочитайте питання ще раз. - може бути встановлено два vim, і процес їх запуску може бути різним.
qeatzy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.