Vim'de .bash_aliases için sözdizimi vurgulamayı nasıl etkinleştiririm?


19

Yeniden düzenlemeye çalışıyorum .bashrc. Takma adımı taşıdım .bash_aliases(kaynaklı) .bashrc, ancak bu dosya için sözdizimi vurgulamanın nasıl etkinleştirileceğini vimanlayamıyorum . Dosyanın hangi dilde olduğunu anlayamıyor gibi görünüyor. İyi çalışıyor .bashrc. Herhangi bir fikir?

Yanıtlar:


12

Vim'e gidin ve çalıştırın:

:echo $VIMRUNTIME

Genellikle değer şöyle olur:
/ usr / share / vim / vim72
Sonra /usr/share/vim/vim72/filetype.vim dosyasını düzenleyin (root kullanarak) Bashrc
arayın.
Şöyle bir çizgi bulacaksınız:

au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,*.bash,*.ebuild call SetFileTypeSH("bash")


Satırı düzenleyin ve dosya adınızı (.bash_aliases) ekleyin.

İşte bu, şimdi çalışmalı.


Mükemmel! Bu benim sorunumu çözdü.
Matthew

5
Vim dağıtımını (/ usr / share / vim içindeki dosyalar) düzenlememelisiniz. Vim'i güncellediğinizde değişikliklerinizin üzerine yazılabilir. Bunun yerine, aynı şeyi yapan kendi komut dosyanızı oluşturmanız gerekir (veya bu satırı vimrc'nize eklemek bunu yapar).
idbrii

11

Cevap şudur: vimdoc - setf ama size bir kemik atmak için, sadece sözdizimi ve sözdizimi vurgulamanın işe yaramasını istiyorsanız:

  :setf bash

Başka bir VIM sorusunu yanıtlarken fark ettiğim bir başka olasılık da bu bölümü .vimrc dosyanıza ekleyebilmeniz ve .bash_aliases için sözdizimi vurgulamanın otomatik olarak etkinleştirilmesiydi. dosyası gerektiğiydi. yazdığınız setf bash: dosyayı açmak her zaman.

if has("autocmd")
  augroup bashalias
    autocmd BufRead,BufNewFile .bash_aliases set filetype=bash
  augroup END
endif

Üçüncüsü, aşağıdaki yorumlarda Mugen Kenichi'nin işaret ettiği gibi .bash_alias dosyasına da bir modelin ekleyebilirsiniz :

# vim: set filetype=bash: 

ve / veya bash dosyanıza bir modelin
matthias krull

@Mugen Kenichi - Ah iyi yakalayın! Ben asla modeline kullanmam ama daha önce dosyalarda gördüm.
Pharaun

3
Bu gerçekten bana çok yardımcı oldu, teşekkürler çocuklar. Yapmam gereken bir şey, filetype'ı bash yerine sh olarak ayarlamak zorunda kaldım, ancak muhtemelen sadece iyi bir bash vim dosyası bulmalıydım, çünkü bu da sorunumu çözecekti: p
icco

Cygwin'deki VIM 7.3'm de "filetype = bash" hakkında bir şey bilmiyor. Filetype.vim dosyasını okursanız, diğer tüm bash kalıpları için filetype olarak "sh" kullanılır.
Bogdan Calmac

.vimrcDüzenlemenin daha güvenilir olduğunu düşünmeme rağmen , VIM modelleri sadece harika! Teşekkürler.
4wk_

1

Aşağıdaki satırı ~ / .vimrc dosyasına ekleyin (yoksa oluşturun).

au BufNewFile,BufRead .bash_aliases call SetFileTypeSH("bash")

0

Vim 8 ve çoklu takma dosyalar için @ Pharaun'un cevabını takip edin. Vurgulamayı doğru yapmak için iki ayar yapmam gerekiyordu. İlk olarak yeni .bash_aliases dosyasında:

# vim: set filetype=bash

Yanı sıra benim .vimrc kontrol

if has("autocmd")
  augroup bashalias
    autocmd BufRead,BufNewFile *_aliases set filetype=sh
  augroup END
endif

Dosya türünün sh olduğuna dikkat edinBirden çok dosya adı için dosya ve * joker karakterine dikkat edin.

Bu iki ayarın neden gerekli olduğundan emin değilim. Sadece bir ayar kullanmaya çalıştım ama vurgulamanın doğru olması için her iki kombinasyon da gerekliydi.


Vim 8 kullanıyorum ama modele ihtiyacım yok (# vim ...). Sadece benim vimrc hile yapmak için filetype ayarlayın hile yapar. Bir şekilde dosya türü bashdeğil, sadece olmalıdır sh.
Jinghao Shi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.