vim non carica il file _vimrc quando viene avviato da git bash


13

Ho scaricato e installato git per Windows (msysgit) e usato frequentemente il git bash incluso. Ogni volta che eseguo vim da git bash il mio file _vimrc non viene caricato perché c'è l'evidenziazione della sintassi o altro. Quando eseguo lo stesso comando per avviare vim form con nella riga di comando di Windows (cmd) invece di git bash funziona come descritto nel mio file _vimrc. L'unica personalizzazione che ho fatto per git bash è quella di aggiungere il seguente bash_profile a C: \ Programmi (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

Qualcuno sa perché carica il mio file _vimrc correttamente quando vim viene avviato da cmd e in modo errato quando viene avviato da git bash?

Risposte:


14

msysgit viene fornito con la sua versione di vim.

Puoi verificarlo eseguendo

type vim

nel tuo prompt di Git Bash.

Penso che ti dirà che vim= /bin/vim, no /c/Program Files/Vim/Vim.exe.

Quindi corri

vim --version | grep vimrc

per vedere quali file di configurazione cerca.

Sul mio sistema, dice

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

$VIMpunti C:\Program Files\Git\share\vime $HOMEpunti a c:\Users\USERNAME.

Immagino che la tua migliore opzione sia eseguire la tua versione di vim basata su Windows, ad es

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

o simili.

Oppure potresti spostare da parte la versione msysgit di vim, ad es

mv /bin/vim /bin/vim.disabled

Intendevi "msysgit arriva con la sua versione di vim"?
Heptite,

2
Si noti che potrebbe essere necessario eseguire git bash come amministratore per eseguire l'ultima riga.
Kristo,

Grazie, funziona perfettamente. Ho seguito l'ultimo comando in Windows 8.1
Ibn Saeed del

2

/bin/vim è solo uno script di reindirizzamento, puoi modificarlo e impostare il percorso su quello che vuoi.

Modifica C:\Program Files (x86)\Git\bin\vimcome amministratore.

Cambia questo:

#!/bin/sh

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

Per questo (o qualunque sia il tuo percorso):

#!/bin/sh

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

1

in vim, digitare :scriptnames.

: scr [iptnames] - Elenca tutti i nomi degli script di provenienza, nell'ordine in cui sono stati originari. Il numero viene utilizzato per l'ID script.


2
Si prega di leggere di nuovo attentamente la domanda. La tua risposta non risponde alla domanda originale.
David Post

@DavidPostill, IMHO, non è off-topic, dal momento che il problema è che il suo script personalizzato non proviene da tutti o è superato da altri script. La mia risposta dice come sapere quali script provengono e in quale ordine vengono acquistati. Si noti inoltre che è una domanda piuttosto vecchia, il mio punto non è solo quello di rispondere alla domanda originale ma di generalizzare bene.
qeatzy,

Non ho detto che era fuori tema, ho detto che non ha risposto alla domanda.
DavidPostill

Ho risposto alla domanda. Di: scr [iptname], sai che il tuo script è mai stato caricato o meno. Se caricato, qual è il candidato che lo sovrascrive. Si prega di leggere di nuovo la domanda. - potrebbero essere installati due vim e il loro processo di avvio potrebbe essere diverso.
qeatzy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.