vim tidak memuat file _vimrc ketika diluncurkan dari git bash

13

Saya telah mengunduh dan menginstal git untuk windows (msysgit) dan sering menggunakan bash git yang disertakan. Setiap kali saya menjalankan vim dari git bash file _vimrc saya tidak dimuat karena ada penyorotan sintaks atau apa pun. Ketika saya menjalankan perintah yang sama untuk memulai formulir vim dengan di baris perintah windows (cmd) bukannya git bash itu berfungsi seperti yang dijelaskan dalam file _vimrc saya. Satu-satunya penyesuaian yang telah saya lakukan untuk git bash adalah dengan menambahkan bash_profile berikut ke 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

Apakah ada yang tahu mengapa ini memuat file _vimrc saya dengan benar ketika vim diluncurkan dari cmd dan salah ketika diluncurkan dari git bash?

Ben
sumber

Jawaban:

14

msysgit hadir dengan versi vim-nya sendiri.

Anda dapat memverifikasi ini dengan menjalankan

type vim

di dalam prompt bash git Anda.

Saya pikir itu akan memberi tahu Anda bahwa vim= /bin/vim, tidak /c/Program Files/Vim/Vim.exe.

Lalu lari

vim --version | grep vimrc

untuk melihat file konfigurasi yang dicari.

Di sistem saya, katanya

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

$VIMmenunjuk ke C:\Program Files\Git\share\vimdan $HOMEmenunjuk ke c:\Users\USERNAME.

Saya kira pilihan terbaik Anda adalah menjalankan versi vim berbasis Windows, misalnya

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

atau serupa.

Atau Anda bisa memindahkan versi msysgit dari vim, mis

mv /bin/vim /bin/vim.disabled
Mikel
sumber
Apakah maksud Anda "msysgit hadir dengan versi vim-nya sendiri?"
Heptite
2
Perhatikan bahwa Anda mungkin harus menjalankan git bash sebagai Administrator untuk melakukan baris terakhir itu.
Kristo
Terima kasih, ini bekerja dengan sempurna. Saya mengikuti perintah terakhir di windows 8.1
Ibn Saeed
2

/bin/vim hanyalah skrip redirect, Anda dapat memodifikasinya dan mengatur path ke apa pun yang Anda inginkan.

Edit C:\Program Files (x86)\Git\bin\vimsebagai administrator.

Ubah ini:

#!/bin/sh

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

Untuk ini (atau apa pun jalur Anda):

#!/bin/sh

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

dalam vim, ketik :scriptnames.

: scr [iptnames] - Daftar semua nama skrip bersumber, sesuai urutan sumbernya pertama kali. Nomor tersebut digunakan untuk ID skrip.

qeatzy
sumber
2
Silakan baca pertanyaan itu lagi dengan seksama. Jawaban Anda tidak menjawab pertanyaan awal.
DavidPostill
@ DavidPostill, IMHO, itu bukan di luar topik, karena masalahnya adalah skrip yang disesuaikan tidak bersumber semua, atau ditimpa oleh skrip lain. Jawaban saya mengatakan bagaimana cara mengetahui skrip mana yang bersumber dan bagaimana urutan skrip Anda. Juga perhatikan bahwa ini adalah pertanyaan yang cukup lama, maksud saya bukan hanya untuk menjawab pertanyaan awal tetapi juga untuk menggeneralisasi dengan baik.
qeatzy
Saya tidak mengatakan itu di luar topik, saya mengatakan itu tidak menjawab pertanyaan.
DavidPostill
Saya memang menjawab pertanyaan itu. Dengan: scr [iptname], Anda tahu skrip Anda pernah dimuat atau tidak. Jika dimuat, apa kandidat yang menimpanya. Silakan baca pertanyaan lagi. - mungkin ada dua vim yang diinstal, dan proses startup mereka mungkin berbeda.
qeatzy