Tôi đã xác định thời gian tệp jak.vim
để cung cấp đánh dấu tùy chỉnh khi tôi ghi chú, tuy nhiên nó đang được áp dụng cho một số tệp không có .jak
phần mở rộng. Cụ thể một tập tin có tên progress.jlog
. Chỉ cần để kiểm tra nếu vấn đề là cụ thể để mở rộng mà tôi đổi tên progress.jlog
để progress
(không mở rộng) nhưng gặp phải sự cố tương tự.
Tôi đã làm gì:
- Tôi đã tạo
jak.vim
trong thư mục~/.vim/ftdetect
- Tôi đã thêm dòng này: "au BufRead, BufNewFile * .jak set filetype = jak" lên đầu như mô tả trong tham chiếu vim
- Tôi đã khởi động lại vim (: x, và sau đó mở lại)
Đây là những gì tôi ~/.vim/ftdetect/jak.vim
trông giống như:
~/.vim/ftdetect][505]% cat jak.vim
au BufRead, BufNewFile *.jak set filetype=jak
syn region JakeSubtitle start=+==+ end=+==+
highlight JakeSubtitle ctermbg=black ctermfg=DarkMagenta
syn region JakeTitle start=+===+ end=+===+
highlight JakeTitle ctermbg=black ctermfg=yellow
syn region JakeMasterTitle start=+====+ end=+====+
highlight JakeMasterTitle cterm=bold term=bold ctermbg=black ctermfg=LightBlue
syn region emphasis start=+<em>+ end=+</em>+
highlight emphasis ctermbg=black ctermfg=yellow
" makes all of the numbered items bold."
" (this works I just don't like the effect. Decided to change to just highlight the "number)
"syn region numberedItem start=+^\t*\d*)+ end=+\n+"
syn match numberedItem +^\t*\d*)+
highlight numberedItem cterm=bold
Và chỉ cần kích hoạt bạn cần biết đây là giao diện của tôi .vimrc
:
~/.vim/ftdetect][508]% cat ../../.vimrc
"on will override defaults set. Enable will allow you to set defaults."
" also turns on filetype"
"syntax on"
syntax enable
set nocompatible
" ???"
set backspace=2
"Auto indent"
set ai
"Map jj to Esc so that you do not have to reach for the Esc button"
imap jj <Esc>
"do not allow the search to wrap around the screen, must stop at the bottom."
set nowrapscan
"when doing a search highlight all occurances"
":set hlsearch"
"stop text from wrapping on the screen"
set nowrap
"turn the mouse on while in insert mode"
set mouse=i
"attempting to highlight specific keywords so it is easy to see in code."
"see help e410 for more info."
"see this post I created: /superuser/110054/custom-vim-highlighting"
"Legal colors: Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta,"
"Brown, DarkYellow, LightGray, LightGrey, Gray, Grey, DarkGray, DarkGrey,"
"Blue, LightBlue, Green, LightGreen, Cyan, LightCyan, Red, LightRed, Magenta,"
"LightMagenta, Yellow, LightYellow, White"
syn keyword JakeKeywords Question TODO Answer JAKEHTTPS PossibleProblem
highlight JakeKeywords cterm=bold term=bold ctermbg=black ctermfg=Blue
"for case-insensitve searches"
set ignorecase
"Override the 'ignorecase' option if the search pattern contains upper"
"case characters. Only used when the search pattern is typed and"
"'ignorecase' option is on."
set smartcase
"use indents as the folding method"
set foldmethod=indent
"make vim save and load the folding of the document each time it loads"
"also places the cursor in the last place that it was left."
au BufWinLeave * mkview
au BufWinEnter * silent loadview
Lưu ý: Tôi đã hoàn thành tất cả các trích dẫn (ý kiến) để dễ đọc hơn
Cập nhật
Tôi thấy bài viết của nsharish rất hữu ích. Họ đề nghị tôi thêm cái này vào vimrc của mình:
au BufRead,BufNewFile *.jak set filetype=jak
và thêm jak.vim
tập tin của tôi vào~/.vim/syntax
Thật không may, mã đó xung đột với hai dòng này (trong vimrc của tôi)
au BufWinLeave *.c mkview
au BufWinEnter *.c silent loadview
Tôi sử dụng hai cái này để lưu các nếp gấp, vị trí con trỏ, v.v. khi tải vim (xem :help lo
). Nếu tôi nhận xét hai dòng gợi ý của nsharish hoạt động như một nét duyên dáng. Với hai dòng đó, không có phần nào nổi bật trong bất kỳ tệp nào của tôi.
Phần kết luận
Tôi đánh dấu câu trả lời của Nsharish là câu trả lời hay nhất (vì nó hữu ích nhất với tôi). Tuy nhiên đây là cách tôi giải quyết vấn đề:
Nsharish đã đúng Tôi cần dòng này trong .vimrc
:
syntax enable
au BufRead,BufNewFile *.jak set filetype=jak
Và tôi cần phải di chuyển jak.vim
tập tin của tôi đến ~/.vim/syntax
.
Tuy nhiên, như đã lưu ý ở trên, đã có xung đột với những dòng này:
au BufWinLeave * mkview
au BufWinEnter * silent loadview
Khi những dòng này được nhận xét, làm nổi bật làm việc.
Điều tôi cần làm là thay đổi ...set filetype...
điều này:
au BufWinEnter,BufRead,BufNewFile *.jak set filetype=jak
Tôi nghĩ rằng BufWin Entry được gọi sau tệp BufRead / BufNew để phần tô sáng bị ghi đè bởi định dạng được lưu từ lần trước.
Cảm ơn một lần nữa để nsharish đã giúp tôi đưa ra giải pháp này.