Tôi lật giữa các tập tin Ruby và Markdown rất nhiều. Có cách nào tôi có thể set spell
tự động đặt khi tôi mở *.md
tệp không, nhưng không phải khi tôi mở tệp *.rb
?
Tôi lật giữa các tập tin Ruby và Markdown rất nhiều. Có cách nào tôi có thể set spell
tự động đặt khi tôi mở *.md
tệp không, nhưng không phải khi tôi mở tệp *.rb
?
Câu trả lời:
Cách tốt nhất để đặt tùy chọn cho một kiểu tệp cụ thể là sử dụng autocommands.
Ở đây bạn có thể thêm một cái gì đó như thế trong .vimrc
:
autocmd FileType markdown setlocal spell
Dòng này sẽ kích hoạt lệnh setlocal spell
khi filetype của bộ đệm được đặt là markdown. bạn cũng có thể sử dụng chế độ tự động dựa trên phần mở rộng của tệp bạn chỉnh sửa với nội dung như:
autocmd BufRead,BufNewFile *.md setlocal spell
Để biết thêm thông tin bạn nên đọc :h :autocmd
và :h autocmd-events
.
EDIT Sử dụng autocommands không phải là cách tốt nhất để làm điều đó.
Đầu tiên, nếu bạn sử dụng autocommands, hãy nhớ đặt chúng vào augroup
:
augroup markdownSpell
autocmd!
autocmd FileType markdown setlocal spell
autocmd BufRead,BufNewFile *.md setlocal spell
augroup END
Bằng cách này, nếu bạn lấy nguồn vimrc của mình nhiều lần, autocommands sẽ không được xếp chồng và được thực thi nhiều lần.
Bây giờ một giải pháp tốt hơn sẽ là sử dụng ftplugin. Để làm điều đó bạn muốn tạo tập tin ~/.vim/after/ftplugin/markdown.vim
.
Tập tin này sẽ có nguồn gốc khi kiểu tệp của bộ đệm được đặt thành markdown
và sau khi ftplugin
đi kèm với Vim theo mặc định đã có nguồn gốc (theo cách này bạn không mất các cài đặt đã có).
Trong tệp này, bạn chỉ cần thêm:
setlocal spell
Ở đây bạn cần sử dụng setlocal
thay vì set
để đảm bảo rằng các cài đặt sẽ chỉ áp dụng cho bộ đệm hiện tại và không áp dụng cho tất cả các bộ đệm.
Một số chủ đề trợ giúp liên quan thú vị:
autocmd FileType latex,tex,md,markdown setlocal spell