에 vim,어떻게 적용 autocommands 대하여 설명하는 파일의 영역?

StackOverflow https://stackoverflow.com//questions/25086204

  •  02-01-2020
  •  | 
  •  

문제

나는 종류의 무 파일 형식을 가질 수 있는 임베디드 C,python,ruby,등등에서 그것은(생각하는'위키 페이지는'도움이 된다면).는 방법이 있을 실행하 autocommands 알려진 파일 형식의 영역으로 파일은?

예를 들어,내가:

#!bash
if [ a = b ]; then
   echo 'equal'
fi

#!python
if a = b:
    print('equal')

고 적용하고 싶 bash filetype autocommands 첫 번째 부분이고 python filetype autocommands 후기 부분입니다.

나는 그냥 얻을 수 있는 구문 hilighting 를 정의하여 사용하여 지역 방법,그러나 내가 이해하지 못하 autocommands 충분히 적용할 수 있는 그들도 비슷한 방식으로 이루어집니다.

도움이 되었습니까?

해결책

하이 자동으로 도전적 파일 형식 설정은 버퍼로컬;Vim 은 개념의 지역 :autocmds 야 하므로 사용을 올바르게 명시합니다.

빠르고 쉽

와 같은 플러그인 NrrwRgn-좁은 지역의 플러그와 비슷하 Emacs, 를 복제할 수 있는 지역을 분리 스크래치 버퍼플러그인이 자동으로 동기화를 다시 쓰기.각 버퍼 주어질 수 있는 별도의 파일 형식을 통해 :setf.

심지어 간단한 방법을 정의하는 일부를 매핑을 빠르게 전환 filetypes:

:nnoremap <Leader>fp :setf python<CR>
:nnoremap <Leader>fs :setf sh<CR>

정말로 별도의 지역에 단일 버퍼

의 스케치 이것은 간단합니다:

:autocmd CursorMoved,CursorMovedI <buffer> if line('.') >= 6 | setf python | else | setf sh | endif

이에 의존하고 각각의 파일 형식 플러그인 하이 적절한 정리(또는 재정의 모든 관련 옵션).

을 결정하는 방법을 지역

당신은 확실히 지정하고 싶지 않은 라인을 숫자로 명시적으로 스케치에서이다.나 OnSyntaxChange 플러그인 도움이 될 수 있는 경우에,당신이/을 정의할 수 있는 적절한 구문은 지역에 대한 각 블록입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top