Vim 7.4에서 .vimrc의 강조 명령을 즉시 적용하려면 어떻게해야합니까?


9

파일에 몇 가지 highlight명령이 .vimrc있습니다. Vim 7.3에서는 Vim이 시작된 직후에 적용되었습니다. Vim 7.4로 업데이트 한 후에는 더 이상 그렇지 않습니다. Vim은 처음에 기본 강조 표시를 사용합니다. .vimrc을 실행하여 두 번째로 로드 하면 source ~/.vimrc강조 표시가 원하는대로 작동합니다.

다음 단계를 사용하여이 문제를 재현 할 수 있어야합니다.

  1. .vimrc파일을 복사 하십시오.

  2. 교체 ~/.vimrc단지 라인을 포함하는 파일 highlight Type ctermfg=28 cterm=bold.

  3. vim dummy.c256 색 터미널 (예 : 그놈 터미널)에서 실행하십시오 .

  4. int버퍼에 입력 하십시오. 는 int일반 글꼴로 표시해야하며, 내가 원하는하지 않은, 밝은 녹색을 착색한다.

  5. 를 입력하십시오 :source ~/.vimrc. 이제 int굵은 글꼴로 나타나고 진한 녹색으로 표시됩니다.

vim 색상 제어 / 구성 방법 기사에 따르면 highlight명령을 입력해도 됩니다 .vimrc. 이 기사는 당신이 넣어해야한다고 말한다 syntax enable애프터 highlight명령하지만,이 어떤 차이를하지 않았다.

나의 첫번째 수정은 각 씁니다이었다 highlight에서 명령 .vimrc과 함께 autocmd VimEnter *. 이것은 일부 파일 형식에서는 작동하지만 다른 형식에서는 작동하지 않습니다 (C 파일은 예입니다).

이 행동의 이유는 무엇입니까? highlightVim이 시작될 때 전체 Vim 세션 동안 모든 버퍼에 적용 되도록 명령을 실행 하려면 어떻게해야 합니까?



예, set compatible시작 부분에 추가하면 .vimrc구문 강조가 예상대로 작동합니다. 그래서 이것은 실제로이 버그의 버그 인 것 같습니다.
Wolfgang Jeltsch

버그 보고서에서 해결 방법으로 제안 된으로 highlight명령 앞에 왔습니다 autocmd ColorScheme *. 그것은 여전히 작동하지 않습니다. ☹
Wolfgang Jeltsch

나는 지금 내 자신의 색 구성표를 작성하고 있는데, 이것은 분명히이 버그를 해결합니다.
Wolfgang Jeltsch

기독교인, 당신은 당신의 의견을 답으로 쓸 수 있습니까? 결국, 이것은 내 문제에 대한 정답입니다. 아니면 실제로 버그를 드러내는 질문을 다루는 다른 방법이 있습니까?
Wolfgang Jeltsch

답변:


5

이것은 명확한 대답이 아니며 문제는 문제 542 와 같습니다 . 분명히 당신은 hi ....vimrc에 그 문장을 직접 쓰지 않고 자신의 기본 색 구성표를 작성하여 해결할 수 있습니다.


이 Vim 문제 때문이라고 생각합니다. 귀하의 응답은 실제로 내 문제에 대한 정답 인 것 같습니다.
Wolfgang Jeltsch

3

실제로 사용자 정의 하이라이트를 vimrc에 넣지 말고 세관 구문 파일에 넣어야합니다.

이러한 파일에 있어야합니다 ~/.vim/after/syntax/filetype.vim경우 filetype예상되는 파일 형식입니다. 대부분의 구문 파일에 만족하지만 몇 가지 명령을 추가하려면 다음 단계를 수행하십시오 (에서 수행 :h mysyntaxfile-add).

  1. "after / syntax"라는 디렉토리를 만듭니다. 유닉스의 경우 :

    mkdir ~/.vim/after
    mkdir ~/.vim/after/syntax
    
  2. 사용하려는 명령이 포함 된 Vim 스크립트를 작성하십시오. 예를 들어 C 구문의 색상을 변경하려면

    highlight cComment ctermfg=Green guifg=Green
    
  3. "after / syntax"디렉토리에 해당 파일을 작성하십시오. ".vim"이 추가 된 구문 이름을 사용하십시오. C 구문의 경우 :

    :w ~/.vim/after/syntax/c.vim
    

그게 다야. 다음에 C 파일을 편집하면 주석 색상이 달라집니다. Vim을 다시 시작할 필요조차 없습니다.

:h mysyntaxfile구문 파일을 올바르게 작성하는 방법에 대한 정보를 얻을 수있는 좋은 장소입니다. 이 주제에 대한 여러 장으로 Vimscript 어려운 방법배우십시오 .


3
모든 파일 형식의 강조 표시를 변경하려면 어떻게해야합니까? 예를 들어, 파일 유형이 무엇이든 주석의 색상이 진한 파란색이되기를 원합니다.
Wolfgang Jeltsch

나는 당신이 제안한 접근법을 어느 정도 시도했습니다. file을 추가하고 .vimrc/highlighting.vim디렉토리를 .vimrc/syntax/after만들고이 파일 .vim을 가리키는 * filetype * 형식의 여러 심볼릭 링크를 추가했습니다 .vimrc/highlighting.vim. 구문 강조가 여전히 작동하지 않습니다.
Wolfgang Jeltsch

@WolfgangJeltsch 내 게시물로 그래하고 문서 디렉토리가 있어야합니다 말한다 ~/.vim/after/syntax없습니다~/.vimrc
statox

맞습니다. 그러나 이것은 내 의견에 오타 일뿐입니다. 실제로, 나는 디렉토리에서 작업했고 .vim아마도이 버그 542 때문에 구문 강조 표시가 작동하지 않았습니다.
Wolfgang Jeltsch

아니! 작동하지 않는.
Yar

1

그만한 가치가 있기 때문에 MacVim (8.1.950 (155)) 에서이 문제가 발생했습니다. colorschemevimrc에 강조 표시 문을 배치하면 나를 위해 수정했습니다. 예 :

highlight SpellCap guisp=Yellow
...
colorscheme evening

->

colorscheme evening
...
highlight SpellCap guisp=Yellow

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.