Cách thực hiện lệnh khi khởi động vim


11

Tôi vừa cài đặt một plugin cho python hiển thị cây phương thức. Vì vậy, tôi muốn mở cây khi khởi động, vì vậy không cần thiết phải nhấn các nút mỗi khi tôi mở một số .pytệp. Nhưng, tôi muốn lệnh này chỉ được thực thi cho .pycác tệp. Đây là cách vimrc của tôi trông như thế nào:

nmap <F8> :TagbarToggle<CR>

Có cách nào để thực thi lệnh này khi khởi động chỉ cho .pycác tệp không?


Howdy St. Antario. Bạn có thể muốn lưu ý rằng câu trả lời được chấp nhận của bạn có ít lượt upvote hơn câu trả lời thay thế.
gà con

Câu trả lời:


8

Thêm vào của bạn .vimrc:

au BufEnter *.py :TagbarToggle<CR>

Ở đâu

  • auautocmd, thực hiện lệnh tự động.

  • BufEnter là khi bạn nhập tệp lần đầu tiên.

  • *.py là cho trăn filetype.

  • và phần còn lại là lệnh được thực thi

2
Điều này sẽ thêm một autocommand thêm mỗi khi .vimrccó nguồn gốc. Để ngăn chặn điều này, dòng nên được bao quanh với một nhóm cộng đồng xóa lệnh. Xem :help augroup-delete.
Giàu

: nhóm thử nghiệm nhóm: autocmd! : au Buf Entry * .py: TagbarToggle <CR> augroup END có ổn không?
kapil

1
Co vẻ tôt vơi tôi!
Giàu

10

Theo tôi, phương pháp sạch nhất để làm điều này chỉ đơn giản là thêm lệnh vào một tệp trong .vim/vimfilesthư mục của bạn :

~/.vim/after/ftplugin/python.vim

hoặc cho Windows:

$HOME\vimfiles\after\ftplugin\python.vim

Kỹ thuật này được ghi lại trong :help ftplugin-overrule(danh sách mục 3), mặc dù bối cảnh (thay đổi cài đặt) hơi khác nhau.

Nó cung cấp các lợi ích sau so với kỹ thuật autocommand được mô tả bởi kapil .

  1. Ít mã hơn . Bạn chỉ cần viết Vimscript bạn muốn thực hiện. Bạn không cần phải viết mã tự động và bao quanh nó augroupautocommand!xóa các lệnh.

  2. Ít chi phí . Vim đã phát hiện loại tệp và kiểm tra sự tồn tại của after/ftplugin/filetypetệp: tại sao thêm một chế độ tự động bổ sung thực hiện cùng mục đích?

  3. Sạch hơn.vimrc . Tôi nghĩ rằng tốt hơn là có chức năng dành riêng cho loại tệp tách biệt với tôi .vimrc. (Một số không đồng ý với điều này, mặc dù: xem các nhược điểm, bên dưới.)

Nó cũng có một vài nhược điểm nhỏ:

  1. Nó chỉ hoạt động nếu bạn đang sử dụng phát hiện filetype của Vim. ( :help filetype)

    Tuy nhiên, đây thường là một trong những cài đặt đầu tiên mà mọi người kích hoạt trong .vimrc của họ và tôi muốn rằng hầu hết tất cả người dùng Vim đã bật nó.

  2. Một số người thích giữ tất cả cấu hình của họ trong .vimrctập tin của họ .


1
+1 cho ftplugin/<filetype>.vim, phân tách mối quan tâm tốt hơn :)
LEI
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.