Vim, 구문 강조를 다시로드하는 방법


답변:


97

사용하다 :syntax sync fromstart

http://vim.wikia.com/wiki/Fix_syntax_highlighting 에서 그 팁을 받았습니다.

이 기사는 또한 해당 명령에 대한 매핑 (예 : F12 매핑)을 만드는 것을 제안합니다.

noremap <F12> <Esc>:syntax sync fromstart<CR>
inoremap <F12> <C-o>:syntax sync fromstart<CR>

이것은 작동하지만 맞춤법 검사를 위해 밑줄을 제거합니다. 그것을 막을 방법이 있습니까?
Alec Jacobson

1
몰라 미안 해요. 맞춤법 검사를하는 것이 없습니다. 특정 애드온에 따라 다를 수 있습니다. 아무도 대답하지 않으면 모든 관련 정보를 포함하여 질문을 작성하는 것이 좋습니다.
Mike Lippert

3
autocmd BufEnter,InsertLeave * :syntax sync fromstart버퍼에 들어간 후 구문 동기화를 강제로 사용하게 됩니다. 구문 동기화는 InsertLeave이벤트 가 발생할 때도 트리거됩니다 .
Samuel Li

언젠가는 누군가가 유용하다는 것을 알게 될 것입니다. 사용 filetype=sh또는 syntax=shbash는과 같은 수 없습니다 bash. 그것을 알아 내기 위해 언젠가 나를 데려 갔다.
quapka

내가 사용하고 :do Syntax동등한 :doautocmd Syntax하는 것은 당신이 (적어도 나는 종종 내가 그냥 입력하는 것이이 명령을 호출 할 필요가 없습니다) 바인딩 할 필요가 없습니다 조금 짧습니다. 나는 주로 netrw를 통해 파일을 열 때 구문 강조 표시가 중단되는 정규식을 포함하는 일부 파일에서 사용합니다.
Rens Tillmann

54

시험:

:e

파일에 저장되지 않은 변경 사항이없는 경우.

또는:

:syn off | syn on

고통을 완화하기 위해 매핑을 작성, 같은nmap <F6> :Rmodel|e<CR>
holygeek

2
구문 강조를 새로 고치는 몇 가지 내장 명령이 있어야하는 것 같습니다. 작동하는 것처럼 보이는 다른 방법은 파일의 시작 또는 끝과 같은 다른 부분으로 이동하고 뒤로 이동하는 것입니다. 예 :gg``
Keith Pinson

2
": syntax sync fromstart"(따옴표없이)는 때때로 구문 색상을 표시하지 않는 파일에서 파일 유형 구문 강조 표시를 다시로드하지 않았습니다. 이는 어떤 이유로 저와 Vim에게 지속적인 문제입니다. 그러나 ": syn off | syn on"은 즉시 작동했습니다. ":이자형!" 다시 불러 오기도 수행하지만, 저장하지 않은 파일 변경 사항은 손실됩니다.
Victoria Stuart

:syn off | syn on나를 위해
색 구성표

12

위의 모든 것을 시도했지만 아무도 나를 위해 일하지 않았습니다.

작동하는 유일한 것은 : :filetype detect 그래서 빠른 단축키를 다시 매핑했습니다. :noremap <Leader>,ftd :filetype detect


10

때로는 구문이 괜찮지 만 깨지는 것은 접기뿐입니다. 이 경우 zx많은 도움이됩니다.

VIM 문서에서 :

zx

접기 업데이트 : 수동으로 열리고 닫힌 접기 실행 취소 : 'foldlevel'을 다시 적용한 다음 "zv"수행 : 커서 라인보기. 또한 접기를 다시 계산합니다. 이는 'foldexpr'을 사용할 때 유용하며, 폴드가 제대로 업데이트되지 않는 방식으로 버퍼가 변경됩니다.



-1

시험:

:Rrefresh!

이 명령은 캐시 된 특정 설정을 새로 고치고 rails.vim 을 다시로드 합니다.
Rails에서 구문 강조 표시를 새로 고치는 데 도움이됩니다.


이것은 일반적인 솔루션 에만 적용되며 rails.vim일반적인 솔루션이 아닙니다. 해당 플러그인이 없으면이 명령이 존재하지 않습니다.
wchargin dec

-1

다음을 시도 할 수도 있습니다.

CTRL-L

VIM 문서 ( :h CTRL-L)에서 :

화면을 지우고 다시 그립니다. 다시 그리기는 자동 완성 처리 후 나중에 발생할 수 있습니다.


Ctrl-L 은 화면을 새로 고칩니다. 해당 구문 파일을 변경해도 차이가 없습니다.
Alexis Wilke 19
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.