jak.vim
메모 할 때 사용자 지정 강조 표시를 제공하기 위해 파일 시간 을 정의했지만 .jak
확장명 이없는 일부 파일에 적용됩니다 . 특히라는 파일 progress.jlog
입니다. 문제가 해당 확장에만 해당되는지 테스트 progress.jlog
하기 위해 progress
(확장자 없음)으로 이름 을 바꾸 었지만 동일한 문제가 발생했습니다.
제가 한:
- 나는
jak.vim
디렉토리에서 만들었습니다~/.vim/ftdetect
- vim 참조에 설명 된 대로 "au BufRead, BufNewFile * .jak set filetype = jak"줄을 추가했습니다.
- vim (: x를 다시 시작한 다음 다시 열었습니다)을 다시 시작했습니다.
이것은 내 ~/.vim/ftdetect/jak.vim
모습입니다 :
~/.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
그리고 이것이 당신이 이것이 어떻게 .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
참고 : 쉽게 읽을 수 있도록 모든 따옴표 (주석)를 완성했습니다.
최신 정보
nsharish의 게시물 이 매우 유용 하다는 것을 알았습니다 . 그들은 이것을 vimrc에 추가 할 것을 제안했다.
au BufRead,BufNewFile *.jak set filetype=jak
내 jak.vim
파일을 추가~/.vim/syntax
불행히도 그 코드는이 두 줄과 충돌합니다 (내 vimrc에서)
au BufWinLeave *.c mkview
au BufWinEnter *.c silent loadview
vim을로드 할 때이 두 가지를 사용하여 접기, 커서 위치 등을 저장합니다 (참조 :help lo
). 이 두 줄을 주석으로 처리하면 nsharish의 제안은 매력처럼 작동합니다. 이 두 줄을 사용하면 내 파일에 강조 표시가 없습니다.
결론
nsharish의 답변 을 가장 좋은 답변 으로 표시 했습니다 (가장 도움이 되었기 때문에). 그러나 이것이 내가 문제를 해결 한 방법입니다.
Nsharish가 옳았습니다 .vimrc
.
syntax enable
au BufRead,BufNewFile *.jak set filetype=jak
그리고 jak.vim
파일을 로 이동 해야했습니다 ~/.vim/syntax
.
그러나 위에서 언급했듯이 이러한 라인과 충돌이 발생했습니다.
au BufWinLeave * mkview
au BufWinEnter * silent loadview
이 줄에 주석을 달았을 때 강조 표시가 작동했습니다.
내가해야 할 일은 ...set filetype...
이것을 다음 으로 변경하는 것이 었습니다 .
au BufWinEnter,BufRead,BufNewFile *.jak set filetype=jak
BufWinEnter는 BufRead / BufNew 파일 다음 에 호출 되므로 강조 표시는 마지막 시간부터 저장된 형식으로 덮어 쓰여졌습니다.
이 솔루션을 만들도록 도와 준 nsharish에게 다시 한번 감사드립니다.