vi 혹은 vim 에서 tab 이 계속 space 로 바뀔 때는 :set noexpandtab 명령어를 사용한다. 설정 파일에서 변경을 했음에도 불구하고 적용이 되지 않을 경우 :verb 명령어로 가장 마지막에 적용된 파일을 찾아서 변경한다.
다른 텍스트 편집기와 마찬가지로 vi 에서도 tab 과 space 를 상호 전환할 수 있는데, 그 때 사용하는 명령어가
:set expandtab
:set noexpandtab
:retab
등이다. 관련 명령어로는 tabstop, shiftwidth, softtabstop 등이 있다. 지금 나의 경우 기본 설정이 계속 tab 을 space 로 변경을 하고 있었다. 그런데 기존 python code 들은 전부 tab 으로 사용했기 때문에 python 코드가 space 와 tab 이 섞여 있다고 하며 실행이 되지 않았다. 그래서 _vimrc에 다음과 같이 설정했다. 1
42번 줄처럼 noexpandtab 을 설정했음에도 불구하고 계속 tab 이 space 로 변환되어 편집 모드가 시작되었다. 예전에 이것과 비슷하게, _vimrc 에 지정한 설정이 적용이 되지 않았던 경우가 있었는데 그 때 알아 낸 것은 _vimrc 파일에 source 명령어로 다른 파일에 있는 설정을 적용하면서 설정이 덮어쓰여졌기 때문이었다. 그래서 이번에도 그 경우인가 해서 살펴 보았는데 _vimrc 파일의 가장 마지막에 설정을 했기 때문에 그렇지 않아야 했다. 그래서 다음과 같이 설정이 영향을 받은 가장 최근의 상황을 표시해 보았다.
:verb set expandtab?
그 결과 다음과 같았다.
즉, _vimrc 파일이 적용된 이후, 저 python.vim 파일의 설정이 적용된 것이다. 그래서 그 안을 살펴 보았더니,
이런 부분이 있었다. 그래서 이 부분을 주석처리 하였더니 의도대로 동작하였다. 2
'컴퓨터 > 자질구레 팁' 카테고리의 다른 글
정규 표현식 사용 예제들 (0) | 2018.02.26 |
---|---|
윈도우즈의 vim 에서 텍스트 파일의 주석(#)이 작동하지 않을 때 (0) | 2017.10.06 |
윈도우즈에서 만들 수 없는 파일 이름 (0) | 2014.02.03 |
엔드노트 사용법 - 참고문헌 정리 프로그램 (26) | 2013.02.17 |
MD5로 데이터의 무결성 확인 (0) | 2013.01.21 |