Làm cách nào để bật kiểm tra chính tả cho các loại tệp nhất định?


11

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 spelltự động đặt khi tôi mở *.mdtệp không, nhưng không phải khi tôi mở tệp *.rb?


Tôi đã tìm thấy cái này, nhưng tôi không nghĩ nó hoạt động theo cách tôi muốn ... ajayfromiiit.wordpress.com/2006/06/02/ Kẻ
Sauce McBoss 20/03/2016

Câu trả lời:


14

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 spellkhi 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: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 markdownvà 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 setlocalthay 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ị:


4
Cảm ơn rất nhiều! Điều này làm việc cho tôi:autocmd FileType latex,tex,md,markdown setlocal spell
Sauce McBoss 22/03/2016

Tôi rất vui vì nó hữu ích với bạn :-)
statox
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.