vim 관련 팁

파일 끝에 개행문자 붙지 않게 하기

vim으로 한줄만 입력하고 저장하면 뒤에 개행문자가 붙는다. 아래 예의 경우 xxd 출력문 중 마지막의 0a가 개행문자이다 저장 후 파일 크기도 7 바이트가 아니라 8 바이트이다.

$ vi a.txt
abcdefg
$ xxd a.txt 
00000000: 6162 6364 6566 670a                      abcdefg.

개행문자가 자동으로 붙지 않게 하려면 .vimrc에 다음 설정을 추가한다.

set binary
set noeol

다시 위의 예를 반복해보면 개행문자가 붙지 않는 것을 확인할 수 있다.

$ vi a.txt
abcdefg
$ xxd a.txt 
00000000: 6162 6364 6566 67                        abcdefg

특정 단어가 포함된 라인 삭제

:%g/<string>/d

참고로 삭제가 아니라 replace를 원할 때에는 다음과 같이 한다.

:%s/<old-string>/<new-string>/g