아래의 '~/.vimrc' 파일을 살펴보세요.
:map g :w
:map g :w
보세요, 같은 줄이 반복됩니다. 첫 번째 줄을 작성한 후 "Enter"를 눌렀습니다.
이제 아래 od 명령의 출력을 살펴보세요.
ravi@ravi-Aspire-5315:~$ od -bc .vimrc
0000000 072 155 141 160 040 147 040 072 167 015 012 072 155 141 160 040
: m a p g : w \r \n : m a p
0000020 147 040 072 167 015 012
g : w \r \n
0000026
ravi@ravi-Aspire-5315:~$
Windows 시스템이 아닌 Linux 시스템이므로 여기에 CR(\r) 시퀀스를 입력한 이유가 궁금합니다.
이제 .vimrc 파일의 내용을 다음과 같이 변경합니다.
:set showmode
od
이제 명령을 실행하면 다음과 같이 출력됩니다.
ravi@ravi-Aspire-5315:~$ od -bc .vimrc
0000000 072 163 145 164 040 163 150 157 167 155 157 144 145 015 012
: s e t s h o w m o d e \r \n
0000017
이제 vim
명령을 통해 파일을 열 때마다 오류가 발생합니다.vim
vim .vimrc
Error detected while processing /home/ravi/.vimrc:
line 1:
E488: Trailing characters: showmode^M
Press ENTER or type command to continue
"^M"과 동일한 CR(\r) 시퀀스로 인해 오류가 발생하는 것으로 알고 있습니다.
질문 2개
1) vim
시퀀스 명령에서는 오류가 발생하지만 명령에서는 오류가 발생하지 않는 이유는 무엇입니까?set
\r
map
2) 놀랍게도 \r
이것은 Windows 머신이 아닌 Linux이기 때문에 왜 입력합니까? 우분투 15.10을 사용하고 있습니다.
답변1
일반적으로 다음과 같은 라인은
:map g :w
문자 그대로의 의미가 있을 것입니다.^M
종료, 를 누르지 않고도 사용자의 지도 명령을 완료할 수 있습니다 Enter.
예를 들어 .vimrc
몇 줄로만 구성된 경우에는 대부분 다음과 같습니다.^M
끝이 있으면 vim은 파일이 DOS(캐리지 리턴/줄 바꿈) 끝을 사용한다고 추측하고 항상 해당 규칙을 사용하여 파일에 대한 업데이트를 저장합니다.
추가 읽기를 위해
- 23.1 DOS, Mac 및 Unix 파일(빔 문서)
- 파일 형식(빔 문서)
- 파일 형식(빔 위키)
- vim에서 DOS 줄 끝을 Linux 줄 끝으로 변환
파일은 .vimrc
다른 텍스트 파일과 같습니다. vim이 추측할 것입니다.그것은읽을 때 줄 끝. 실제로 원본 파일 끝에 두 개의 ^M이 있는 파일을 생성할 수 있습니다. (1) 명령 종료 map
, (1) 행 종료.