जीआईटी बैश से लॉन्च होने पर _vimrc फाइल लोड नहीं कर रहा है


13

मैंने विंडोज़ (msysgit) के लिए git को डाउनलोड और इंस्टॉल किया है और इसमें अक्सर शामिल बैश का उपयोग किया जाता है। जब भी मैं git bash से vim रन करता हूं मेरी _vimrc फाइल लोड नहीं होती है क्योंकि इसमें सिंटैक्स हाइलाइटिंग या कुछ भी होता है। जब मैं विंडो कमांड लाइन (cmd) के साथ git बैश के बजाय vim फॉर्म को शुरू करने के लिए समान कमांड चलाता हूं तो यह मेरी _vrc फाइल में बताए अनुसार काम करता है। Bash gash करने के लिए मैंने जो एकमात्र अनुकूलन किया है, वह निम्नलिखित 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

क्या किसी को पता है कि यह मेरे _vrcrc फ़ाइल को सही ढंग से लोड क्यों करता है जब vim को cmd से लॉन्च किया जाता है और गलत तरीके से git bash से लॉन्च किया जाता है?

जवाबों:


14

msysgit विम के अपने संस्करण के साथ आता है।

आप इसे चलाकर सत्यापित कर सकते हैं

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

मुझे लगता है कि आपका सबसे अच्छा विकल्प आपके विंडोज-आधारित संस्करण को चलाना है, जैसे

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

या इसी के समान।

या आप एक तरफ विम के msysgit संस्करण को स्थानांतरित कर सकते हैं, जैसे

mv /bin/vim /bin/vim.disabled

क्या आपका मतलब है "msysgit विम के अपने संस्करण के साथ आता है।"
हेपेटाइट

2
ध्यान दें कि आपको उस अंतिम पंक्ति को करने के लिए प्रशासक के रूप में git bash चलाना पड़ सकता है।
क्रिस्टो

धन्यवाद, यह पूरी तरह से काम करता है। मैंने विंडोज़ 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

मैंने सवाल का जवाब दिया। द्वारा: [iptname] स्क्रब, आपको पता है कि आपकी स्क्रिप्ट कभी भरी हुई है या नहीं। यदि लोड किया गया है, तो वह कौन सा उम्मीदवार है जो इसे ओवरराइड करता है। कृपया प्रश्न फिर से पढ़ें। - वहाँ दो विम स्थापित किया जा सकता है, और उनकी स्टार्टअप प्रक्रिया अलग हो सकती है।
qeatzy
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.