-
맥 터미널 명령어 입문 7-2. vim 조회, 입력개발입문/개발환경 세팅 2017. 1. 3. 18:10
더 개발자스러운 읽고, 쓰고, 종료
CMD Line 에서 텍스트 편집을 자유자재로 한다면 얼마나 좋을까? 내 손으로 그런 일은 없겠지... (마치 헤드퍼스트같은 말투네요)
익숙해지면 할 수 있습니다.
VIM 은 CMD Line의 최강 Text Editor 입니다. 지금은 GUI 환경의 좋은 개발툴이 있어 소스코드를 터미널에서 작업하지는 않겠지만. 역시 개발 효율을 높이려면 CUI 환경에서도 기본적인 작업은 할 수 있어야 합니다. (그게 더 개발자스럽기도 하고요!)
이 글에서는 LINUX, UNIX CMD 터미널에서 VIM 텍스트 에디터 편집을 실습해보겠습니다. 텍스트를 읽고 쓰는 작업입니다.
VIM 명령어에 대해서 기본부터 심화까지 패키지로 정리하고 있습니다. 정리되는 대로 링크를 추가하도록 하겠습니다. (2017.01.03)
VIM 모드와 사용법에 대해 이해하신 분을 위하여 바로 익혀볼 수 있도록 치트키와 매뉴얼 링크를 미리 공유드립니다. 내가 자주 사용하는 기능 단위로 손에 익히는 것도 괜찮은 방법입니다.
jkl 그리고 h, 커서 이동
물론 키보드 우측하단의 상하좌우 키 사용 가능합니다. 하지만 VIM의 커서 이동 도 못지않게 편합니다. 커서 이동에 사용되는 키는 오른손을 키보드에 자연스럽게 올렸을 때 베이스가 되는 키들입니다. 검지부터 jkl 그리고 h.
오른손을 자연스럽게~
가장 편한 검지 위치의 j 가 다음줄을 의미합니다. 다음줄! 다음줄! 빠르게 문서를 읽을 수 있도록 가장 편한 위치에 있는 검지의 j가 사용되었습니다. 바로 옆 중지의 k는 윗줄을 의미합니다. j 와 k 는 라인 단위로 이동할 때 사용합니다.
그리고 가장 오른쪽에 있는 l 은 jklh 중 가장 오른쪽이고, 오른쪽 이동입니다. 반대로 가장 왼쪽에 있는 h가 왼쪽 이동입니다. l과 h 는 글자 단위로 이동할 때 사용합니다.
이동, 더 빠르게, 쓱
스키밍 할 때에는 스크린을 더 빠르게 이동하고 싶을 때가 있습니다. 쓱- 그럴 때는 화면 단위로 또는 원하는 줄에 바로 가고 싶을 때도 있습니다. 이럴 때 사용하는 명령어들입니다. 자기 습관에 맞게 편하신 것을 취사선택하시면 됩니다.
- 단어 단위로 블록잡을 때 ve e e 하이라이팅 넣으면서 읽는다거나,
- gg V G 텍스트파일 텍스트 전체 선택할 때이런식으로 자기 습관에 맞게 응용하실 수 있습니다.
H M L // 스크린의 High, Middle, Low
w e // 그 다음 word 단어 앞, end 단어 끝,
b // back 이전 word 단어 앞
^ $ // 단어 내 첫글자, 끝글자
gg G // 텍스트 파일 앞, 뒤
10g // 텍스트 파일 10번째 줄
입력모드 전환
기본적인 i 와 o 정도만 잘 활용해도 될 것 같습니다. 그래도 각자 편집습관은 다양할 수 있으니 정리해보겠습니다.
입력모드에 들어가면 하단에 ---INSERT MODE--- 를 확인하실 수 있습니다. 입력모드에서는 기본 .docx 파일처럼 입력, 백스페이스 (delete) 수정, 뛰어쓰기 (space) 모두 가능합니다.
i / I 커서/행 이전 위치 입력 (Insert)
a / A 커서 다음/행 마지막 위치 입력 (Append)
o / O 커서 다음/위 라인 입력
ea (응용) 현재단어의 마지막으로 가서 append
Esc 입력모드 종료, 명령모드로 전환
입력모드 편집+전환
이 글자가, 단어가, 문장이 마음에 들어서 쭉 지우고 편집하고 싶을 수도 있습니다. 저는 보통 문장을 다시 쓰고 싶을 때 유용하게 사용하고 있는 명령어들입니다. cc 이렇게 반복되면 보통 한 문장을, cw w( word) 가 붙으면 단어 단위로, $가 붙으면 변수, 커서위치부터 문장끝까지 편집합니다.
s / S 커서 단어 / 커서 라인 지우고 입력
cc 커서 위치의 문장 삭제, 입력
cw 커서 위치의 단어 삭제, 입력
c$ 커서 위치 ~ 문장 끝 삭제, 입력
ESC
입력모드를 사용한 후 ESC 를 통해 꼭 명령모드로 돌아와야 합니다. 명령모드를 통해 명령이든, 다른 실행(저장, 종료) 등을 할 수 있기 때문입니다.
VIM 종료VIM 을 변경 없이 종료할 수 있습니다. 변수를 확인하면 된다거나 일부 내용을 클립보드 복사만 하면 되는 경우 그렇습니다. 그럴 때는 q! 로 강제 종료를 꼭 알려주어야합니다. 변경이 있었는데 q 를 누르면 실패합니다. E37: No write since last change (add ! to override)
## q - Quit
:q // (변경없을 때, 저장없이) 종료
:q! // (저장없이) 강제 종료
:wq // 저장 후 종료
:w // (종료없이) 저장
vi ./bash_profile 당황NO!
기본적인 VIM 수정 방법을 알아보았습니다. 실습파일 하나 가져다 놓고 이리저리 편집해보시다 보면 손에 익을 것입니다. 저도 이 포스트 작성하면서 2시간 내내 명령어 하나하나 써보면서 테스트해봐서 VIM 명령어에 더 친숙해진 듯 합니다. :3
- vi ./bash_profile 에도 당황하지 않을 수 있습니다.
- vi 에서 갑자기 입력되다가 입력이 되는 현상을 이해할 수 있습니다.
- vi 이동을 방향키 말고도 조금 더 개발자스럽게 할 수 있습니다.VIM 편집 심화편 준비중
그 다음 시간에는 VIM 편집 심화편을 정리해보겠습니다.
'개발입문 > 개발환경 세팅' 카테고리의 다른 글
맥 터미널 명령어 입문 7-4. vim 매뉴얼 (0) 2017.01.04 맥 터미널 명령어 입문 7-3. vim 복붙, 복사 붙여넣기 (0) 2017.01.04 맥 터미널 명령어 입문 7-1. vim 개요 (0) 2017.01.03 맥 터미널 명령어 입문 6 tar.gz 압축/압축해제 (1) 2017.01.02 Ubuntu Eclipse 수동설치 (0) 2017.01.02