Często przerzucam pliki Ruby i Markdown. Czy istnieje sposób, który mogę set spell
ustawić automatycznie, kiedy otwieram *.md
plik, ale nie kiedy go otwieram *.rb
?
Często przerzucam pliki Ruby i Markdown. Czy istnieje sposób, który mogę set spell
ustawić automatycznie, kiedy otwieram *.md
plik, ale nie kiedy go otwieram *.rb
?
Odpowiedzi:
Najlepszym sposobem ustawienia opcji dla określonego rodzaju pliku jest użycie komend automatycznych.
Tutaj możesz dodać coś takiego w swoim .vimrc
:
autocmd FileType markdown setlocal spell
Ta linia uruchomi polecenie, setlocal spell
gdy typ pliku bufora zostanie ustawiony jako znacznik. możesz także użyć polecenia automatycznego opartego na rozszerzeniu edytowanego pliku za pomocą czegoś takiego:
autocmd BufRead,BufNewFile *.md setlocal spell
Aby uzyskać więcej informacji, powinieneś przeczytać :h :autocmd
i :h autocmd-events
.
EDYCJA Korzystanie z automatycznych poleceń nie jest najlepszym sposobem na to.
Po pierwsze, jeśli korzystasz z poleceń automatycznych, pamiętaj o umieszczeniu ich w augroup
:
augroup markdownSpell
autocmd!
autocmd FileType markdown setlocal spell
autocmd BufRead,BufNewFile *.md setlocal spell
augroup END
W ten sposób, jeśli kilkakrotnie pobierzesz vimrc, komendy automatyczne nie będą się nakładać i będą wykonywane kilka razy.
Teraz lepszym rozwiązaniem byłoby użycie ftplugin. W tym celu chcesz utworzyć plik ~/.vim/after/ftplugin/markdown.vim
.
Plik ten zostanie pobrany, gdy typ pliku bufora jest ustawiony na markdown
i po tym, jak ftplugin
domyślnie pochodzi z Vima (w ten sposób nie stracisz już istniejących ustawień).
W tym pliku możesz po prostu dodać:
setlocal spell
Tutaj musisz użyć setlocal
zamiast, set
aby upewnić się, że ustawienia będą miały zastosowanie tylko do bieżącego bufora, a nie do wszystkich buforów.
Kilka interesujących powiązanych tematów pomocy:
autocmd FileType latex,tex,md,markdown setlocal spell