filetypes vim và TeX: plaintex vs. tex


24

Tôi mở .texcác tệp bằng Vim, nhưng một số tệp được nhận dạng filetype=plaintexvà các tệp khác là filetype=tex. Tại sao lại thế này? Trình kích hoạt nào nhận ra tệp là tex, trong đó có phần tô sáng tôi muốn?

Câu trả lời:


24

Tại sao một số .textệp được mở trong Vim filetype=plaintexvà các tệp khác như filetype=tex? Vì cùng một phần mở rộng, .textrong trường hợp này, được sử dụng cho nhiều kiểu tệp, "Vim cố gắng đoán loại tệp đó là gì" theo tài liệu ghi đè kiểu tệp Vim .

Phần ft-tex-plugin của tài liệu filetype Vim liệt kê các quy tắc được sử dụng bởi Vim ( phiên bản 7 trở lên ) để xác định loại tệp nào sẽ sử dụng cho .texcác tệp:

  1. Nếu dòng đầu tiên của tệp là %&<format>nơi <format>có thể plaintex, contexthoặc tex, thì kiểu tệp được đặt thành đơn giản TeX, ConTeXt hoặc LaTeX, tương ứng.
  2. Nếu không có lệnh chỉ định định dạng trên dòng đầu tiên, thì Vim sẽ tìm kiếm tệp cho các từ khóa để xác định xem loại tệp nên được đặt thành context(ConTeXt) hay tex(LaTeX).
  3. Nếu không tìm thấy từ khóa nào, kiểu tệp được đặt thành plaintex(TeX đơn giản).

Quy tắc cuối cùng là quan trọng. Nếu bạn tạo một .textệp trống bằng cách sử dụng một lệnh như thế touch myfile.tex, thì khi bạn mở nó trong Vim, kiểu tệp sẽ mặc định plaintex, vì tệp này trống.

Bạn có thể thay đổi hành vi mặc định bằng cách đặt biến toàn cục tex_flavortrong .vimrc:

  • let g:tex_flavor = "plain"
  • let g:tex_flavor = "context"
  • let g:tex_flavor = "latex"

13

Bạn đang sử dụng plugin LaTeX-suite? Nếu vậy, thì có lẽ bạn muốn

let g:tex_flavor='latex'

trong .vimrc của bạn.


Điều này không có gì để làm với plugin LaTeX-suite. Xem câu trả lời của Matthew Rankin hoặc :h ft-tex-plugin.
Hotschke

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.