Saya baru saja menginstal plugin untuk python yang menampilkan metode tree. Jadi saya ingin membuka pohon saat startup, jadi tidak perlu menekan tombol setiap kali saya membuka beberapa .py
file. Tapi, saya ingin perintah ini hanya dijalankan untuk .py
file. Beginilah tampilan vimrc saya:
nmap <F8> :TagbarToggle<CR>
Apakah ada cara untuk menjalankan perintah ini saat startup hanya untuk .py
file?
normal-mode
startup
St.Antario
sumber
sumber
Jawaban:
Tambahkan di Anda
.vimrc
:dimana
au
adalahautocmd
, jalankan perintah secara otomatis.BufEnter
adalah saat Anda memasukkan file untuk pertama kalinya.*.py
adalah untuk tipe file python.sumber
.vimrc
bersumber. Untuk mencegah hal ini, garis harus dikelilingi dengan augroup yang menghapus perintah. Lihat:help augroup-delete
.Menurut pendapat saya, metode paling bersih untuk melakukan ini adalah dengan menambahkan perintah ke file di
.vim/vimfiles
direktori Anda :atau untuk Windows:
Teknik ini didokumentasikan dalam
:help ftplugin-overrule
(daftar item 3), meskipun konteksnya (mengubah pengaturan) sedikit berbeda.Ini menawarkan manfaat berikut daripada teknik perintah otomatis yang dijelaskan oleh kapil .
Kode lebih sedikit . Anda cukup menulis Vimscript yang ingin Anda eksekusi. Anda tidak perlu kode autocommand dan mengelilinginya dengan
augroup
danautocommand!
menghapus perintah.Lebih sedikit overhead . Vim sudah mendeteksi jenis file dan memeriksa keberadaan
after/ftplugin/filetype
file: mengapa menambahkan perintah otomatis tambahan yang melakukan tujuan yang sama?Bersih
.vimrc
. Saya pikir lebih baik memisahkan fungsi tipe file spesifik dari saya.vimrc
. (Namun, beberapa tidak setuju dengan ini: lihat kerugiannya, di bawah.)Ini juga memiliki beberapa kelemahan kecil:
Ini hanya berfungsi jika Anda menggunakan deteksi tipe file Vim. (
:help filetype
)Namun, ini umumnya adalah salah satu pengaturan pertama yang orang aktifkan di .vimrc mereka, dan saya bertaruh bahwa hampir semua pengguna Vim sudah mengaktifkannya.
Beberapa orang lebih suka menyimpan semua konfigurasi mereka di
.vimrc
file mereka .sumber
ftplugin/<filetype>.vim
, pemisahan keprihatinan yang lebih baik :)