Właśnie zainstalowałem wtyczkę do Pythona, która wyświetla drzewo metod. Chciałbym więc otworzyć drzewo podczas uruchamiania, więc nie trzeba naciskać przycisków za każdym razem, gdy otwieram jakiś .py
plik. Ale chcę, aby to polecenie było wykonywane tylko dla .py
plików. Oto jak wygląda mój kawałek vimrc:
nmap <F8> :TagbarToggle<CR>
Czy istnieje sposób na wykonanie tego polecenia podczas uruchamiania tylko dla .py
plików?
normal-mode
startup
St.Antario
źródło
źródło
Odpowiedzi:
Dodaj w
.vimrc
:gdzie
au
jestautocmd
, wykonaj polecenie automatycznie.BufEnter
jest, gdy wprowadzasz plik po raz pierwszy.*.py
jest dla python typu pliku.źródło
.vimrc
jest pozyskiwana. Aby temu zapobiec, linia powinna być otoczona augroup, która usuwa polecenie. Zobaczyć:help augroup-delete
.Moim zdaniem najczystszą metodą jest dodanie polecenia do pliku w
.vim/vimfiles
katalogu:lub dla Windows:
Ta technika jest udokumentowana w
:help ftplugin-overrule
(pozycja listy 3), chociaż kontekst (zmiana ustawień) jest nieco inny.Oferuje następujące korzyści w porównaniu z techniką automatycznego wydawania poleceń opisaną przez kapil .
Mniej kodu . Po prostu napisz Vimscript, który chcesz wykonać. Nie trzeba do kodu autokomendy i otaczają go
augroup
iautocommand!
wyraźne polecenia.Mniej kosztów ogólnych . Vim już wykrywa typ pliku i sprawdza jego istnienie
after/ftplugin/filetype
: po co dodawać dodatkową komendę automatyczną, która spełnia ten sam cel?Cleaner
.vimrc
. Myślę, że lepiej jest oddzielić funkcje specyficzne dla typu pliku od mojej.vimrc
. (Niektórzy jednak się z tym nie zgadzają: zobacz wady poniżej.)Ma również kilka drobnych wad:
Działa tylko wtedy, gdy używasz wykrywania typu pliku Vima. (
:help filetype
)Jest to jednak na ogół jedno z pierwszych ustawień, które ludzie włączają w swoim .vimrc, i postawiłbym na to, że prawie wszyscy użytkownicy Vima już go włączyli.
Niektóre osoby wolą zachować całą konfigurację w swoim
.vimrc
pliku.źródło
ftplugin/<filetype>.vim
, lepsze rozdzielenie problemów :)