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.