두 개의 파일을 만들어 보겠습니다.
$ echo -n 'test' > test.txt
$ wc test.txt
0 1 4 test.txt
파일에 test.txt
후행 줄 바꿈이 포함되어 있지 않습니다.
$ echo 'test' > test_n.txt
$ wc test_n.txt
1 1 5 test_n.txt
파일 test_n.txt
에는 후행 줄 바꿈이 포함되어 있습니다.
위의 두 파일은 분명히 다르지만 두 파일의 미리보기는 다음 vim
위치에 있습니다.삽입 모드차이점이 없습니다.
$ vim test.txt
$ vim test_n.txt
왜 차이가 없나요(새 줄 또는 특별한 차이)?
vim
이와 같은 추가 문자를 추가하거나 제거하려면 어떻게 해야 합니까?삽입 모드?
답변1
vim이 하나 있어요모델 "단종"(end of line)은 파일의 마지막 줄이 누락되었는지 알려줍니다.새로운 팀특징. vim(또는 vi와 유사한 프로그램)의 모든 모드 설정을 다음과 같이 볼 수 있습니다.
:set all
POSIX vi이에 대한 기능은 없습니다. 파일 길이가 0이거나가지다후행 개행 문자. 이는 POSIX vi가 줄 바꿈으로 끝나는 줄이 정의된 텍스트 파일만 처리하기 때문입니다. 빠른 확인을 통해 nvi와 elvis에는 이에 대한 모드가 없음을 알 수 있습니다. 내 의견에서 나는 vim에 대한 세부 사항을 잊어 버렸습니다. 사악한 것과 달리 ":set list"는 누락된 줄 바꿈을 쉽게 표시하지 않습니다. vim에서 본 내용은 다음과 같습니다.
ssss$
test$
~
~
악한 상태일 때:
ssss^J
test
~
~
두 편집기 중 하나를 사용하여 파일을 읽고 변경할 수 있습니다.모델,예를 들어,
:set noeol
업데이트된 파일에 개행 문자를 가져오려면 파일을 작성하세요. 직접 표시하는 대신 다음을 수정할 수 있습니다.상태 표시줄이 정보를 표시하려면 vim을 사용하세요. 기본적으로는 이 작업을 수행하지 않는 것 같지만 일부 패키저에서는 이를 사용자 정의했습니다. 예를 들어 다음과 같습니다.
"foo" [noeol] 2L, 9C 1,1 All
다음을 사용하여 제안된 의견 중 하나"?"~의set
다음과 같은 명령
:set eol?
다음과 같이 표시될 수 있습니다.
noendofline 2,1 All
그러나 삽입 모드에서는 다음으로 대체됩니다.
-- INSERT -- 2,1 All
그래서상태 표시줄이 정보를 관리하기에 적합한 장소인 것 같습니다.
다음 기능은 한동안 사용되었습니다.
이것
eol
소스 코드의 설명에 따르면 이 기능은 vim 2.4(1994년 7월)에서 처음 등장했습니다.비열한
newline
패턴이 나타납니다1993년 7월.
(nvi, 엘비스, vim 및 vile모든 핸들바이너리POSIX vi 이외의 파일텍스트문서).