`vi`는 구성 파일의 형식을 어떻게 알 수 있습니까?

`vi`는 구성 파일의 형식을 어떻게 알 수 있습니까?

에서 구성 파일을 편집하면 파일의 구문을 알고 있는 vi것 같습니다 .vi

예를 들어 vi마커는 키인지 값인지에 따라 어떤 방식으로든 색상이 지정됩니다. 게다가 vi어떤 값이 유효한 키인지도 알 것 같습니다.

어떻게 하는 걸까요?

편집: Ubuntu Server 12.04 LTS(Precise Pangolin)를 실행하고 있다는 점을 추가하겠습니다.

답변1

vim(실제로 요즘 대부분의 시스템에서 vi심볼릭 링크 vim) 처리할 수 있는 다양한 언어에 대한 색상 구성표를 정의하기 위해 구문 파일을 사용합니다. 사용 중인 운영 체제를 지정하지 않았지만 내 LMDE 시스템에서는 /usr/share/vim/vim74/syntax/.

를 사용하여 파일을 열면 vim먼저 해당 파일이 어떤 유형인지 알아내려고 시도합니다. 설명된 대로공식 문서:

파일을 로드한 후 Vim은 아래와 같이 관련 구문 파일을 찾습니다.

Loading the file triggers the BufReadPost autocommands.
|
+-  If there is a match with one of the autocommands from |synload-3|
|   (known file types) or |synload-4| (user's file types), the 'filetype'
|   option is set to the file type.
|
+-  The autocommand at |synload-5| is triggered.  If the file type was not
|   found yet, then scripts.vim is searched for in 'runtimepath'.  This
|   should always load $VIMRUNTIME/scripts.vim, which does the following.
|   |

|   +-  Source the user's optional file, from the *myscriptsfile*
|   |   variable.  This is for backwards compatibility with Vim 5.x only.
|   |
|   +-  If the file type is still unknown, check the contents of the file,
|       again with checks like "getline(1) =~ pattern" as to whether the
|       file type can be recognized, and set 'filetype'.
|
+-  When the file type was determined and 'filetype' was set, this
|   triggers the FileType autocommand |synload-6| above.  It sets
|   'syntax' to the determined file type.
|
+-  When the 'syntax' option was set above, this triggers an autocommand
|   from |synload-1| (and |synload-2|).  This find the main syntax file in
|   'runtimepath', with this command:
|       runtime! syntax/<name>.vim
|
+-  Any other user installed FileType or Syntax autocommands are
triggered.  This can be used to change the highlighting for a specific
syntax.

따라서 기본적으로 vim몇 가지 트릭을 사용하여 파일 형식을 구문 분석하고 추측한 다음 적절한 구문 파일을 로드합니다. 구성 파일 구문을 정의하는 파일은 /usr/share/vim/vim74/syntax/config.vim.

관련 정보