vim ไม่ได้โหลดไฟล์ _vimrc เมื่อเรียกใช้จาก git bash


13

ฉันได้ดาวน์โหลดและติดตั้ง git สำหรับ windows (msysgit) และใช้งานบ่อยๆรวมถึง git bash เมื่อใดก็ตามที่ฉันเรียกใช้เป็นกลุ่มจาก git bash ไฟล์ _vimrc ของฉันจะไม่ถูกโหลดเนื่องจากมีการเน้นไวยากรณ์หรืออะไรก็ตาม เมื่อฉันเรียกใช้คำสั่งเดียวกันเพื่อเริ่มต้นเป็นกลุ่มแบบฟอร์มในในบรรทัดคำสั่ง windows (cmd) แทนการทุบตี git มันทำงานตามที่อธิบายไว้ในไฟล์ _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?

คำตอบ:


14

msysgit มาพร้อมกับ vim เวอร์ชั่นของตัวเอง

คุณสามารถตรวจสอบสิ่งนี้ได้ด้วยการเรียกใช้

type vim

ภายในคอมไพล์ bash ของคุณ

ฉันคิดว่ามันจะบอกคุณว่าvim= ไม่/bin/vim/c/Program Files/Vim/Vim.exe

จากนั้นเรียกใช้

vim --version | grep vimrc

เพื่อดูว่าไฟล์ config ใดที่มันค้นหา

ในระบบของฉันมันบอกว่า

$ 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และจุดที่จะต้อง$HOMEc:\Users\USERNAME

ฉันเดาว่าตัวเลือกที่ดีที่สุดของคุณคือใช้ vim เวอร์ชัน Windows เช่น

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

หรือคล้ายกัน

หรือคุณสามารถย้าย vim ไปเป็น msysgit ได้เช่น

mv /bin/vim /bin/vim.disabled

คุณหมายถึง "msysgit มาพร้อมกับเวอร์ชันของตัวเอง"
Heptite

2
โปรดทราบว่าคุณอาจต้องเรียกใช้ git bash ในฐานะผู้ดูแลระบบเพื่อทำบรรทัดสุดท้าย
Kristo

ขอบคุณมันทำงานได้อย่างสมบูรณ์ ฉันทำตามคำสั่งสุดท้ายใน windows 8.1
Ibn Saeed

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

:scriptnamesในกลุ่มประเภท

: scr [iptnames] - แสดงรายชื่อสคริปต์ทั้งหมดตามลำดับที่ได้รับมาก่อน หมายเลขนี้ใช้สำหรับ ID สคริปต์


2
โปรดอ่านคำถามอีกครั้งอย่างระมัดระวัง คำตอบของคุณไม่ตอบคำถามเดิม
DavidPostill

@DavidPostill, IMHO ไม่ใช่แบบปิดหัวข้อเนื่องจากปัญหาคือสคริปต์ที่กำหนดเองของเขาไม่ได้มีแหล่งที่มาทั้งหมดหรือถูกแทนที่ด้วยสคริปต์อื่น คำตอบของฉันบอกว่าจะรู้ได้อย่างไรว่าสคริปต์ใดบ้างที่มีแหล่งที่มา โปรดทราบว่ามันเป็นคำถามที่ค่อนข้างเก่าประเด็นของฉันไม่เพียง แต่จะตอบคำถามเดิม
qeatzy

ฉันไม่ได้บอกว่ามันไม่ใช่หัวข้อฉันบอกว่ามันไม่ได้ตอบคำถาม
DavidPostill

ฉันตอบคำถาม โดย: scr [iptname] คุณรู้ว่าสคริปต์ของคุณโหลดหรือไม่ หากโหลดผู้สมัครที่จะแทนที่มันคืออะไร โปรดอ่านคำถามอีกครั้ง - อาจมีการติดตั้งสองกลุ่มและกระบวนการเริ่มต้นอาจแตกต่างกัน
qeatzy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.