개발/Linux

리눅스 5편-vi 편집기에 대해 알아보자

IT하는 문과생 2019. 10. 7. 08:00

지난 시간에는 기본적인 명령어들에 대해서 익히는 시간을 가졌다. 지난 포스팅에 기재했던 명령어들 이외 tail, cat 같은 명령어도 있지만 이러한 것들은 추후 필요할 때 기재하는 것으로 하고 오늘은 vi 편집기에 대해 알아보고자 한다. tail의 경우 파일을 역순으로 읽어오는 명령어인데 주로 로그 파일을 호출하여 로그 분석에 쓰이는 경우가 많다. 나중에 리눅스에 서버 설치도 진행해볼 예정이니 그때 원 없이 다뤄보도록 하자.

관련글
2019/09/26 - [Linux 이야기] - 리눅스 1편-맥(Mac)에 Linux 설치하기(Ubuntu)
2019/09/27 - [Linux 이야기] - 리눅스 2편-Ubuntu 루트(root) 계정을 활성화해보자
2019/09/28 - [Linux 이야기] - 리눅스 3편-리눅스의 디렉터리 구조를 파악하자
2019/09/30 - [Linux 이야기] - 리눅스 4편-기본 명령어 편

vi 편집기는 Windows 환경의 메모장과 같은 것이라고 말할 수 있다. vi 이외에 vim 이라는 편집기도 있는데 이것은 vi를 기반으로 하여 개선이 된 편집기라고 할 수 있다. 기본적으로 vi 편집기 만으로 처리가 가능하므로 여기서는 별도로 vim에 대해서는 기술하지 않겠다. 이 글을 보는 여러분들은 제대로 기초를 익혀 놓고 variation을 배우는 습관을 들였으면 좋겠다. 참고로 vim 은 기본 프로그램이 아니다. 별도로 설치해야 한다. 혹시 실행해 보려고 하는데 왜 안되는지 고민하지 말자.

vi  편집기 도움말

위의 캡처화면은 vi 편집기의 도움말 화면을 가져온 것이다. 혹여 기억 안나는 분들을 위해 다시 한번 기재하자면 도움말을 보는 방법은 명령어 --help 라는 방식으로 이루어진다. 기억이 안 난다면 전편을 다시 한번 꼼꼼히 읽어보고 오도록 하자.

2019/09/30 - [Linux 이야기] - 리눅스 4편-기본 명령어 편

여하튼 위와 같이 명령어들이 있는데 우선 vi 편집기를 열어보도록 하자. 우선 본인이 테스트 파일을 만들 경로로 이동하여 아래와 같이 명령어를 입력한다. 

vi 생성할 파일명(혹은 오픈할 파일명)

vi test 라고 입력했을 때 여러분을 반길 화면

만약 이렇게 해서 만든 파일을 나중에 다시 열고 싶다면 그때도 위와 동일하게 vi 파일명으로 오픈하면 된다. 기존에 존재하는 파일이면 해당 파일이 열릴 것이고 없으면 위 화면과 같이 신규 생성 화면이 노출될 것이다. 기본적으로 vi 편집기는 최초 오픈 시 커서 이동 모드로 세팅이 되어 있다. 이 말은 이 상태에서는 바로 편집이 안 된다는 말이다. 여기서 키보드의  i를 누르면 기본 편집 모드로 진입한다. i 를 누른 순간부터 키보드 입력이 된다. 입력을 다 마쳤으면 ESC를 누르면 다시 이동 모드로 전환된다.

키보드의 i 키를 누르면 이렇게 입력 모드로 전환되어 입력이 가능하다.

그러면 우리는 여기서도 지난번과 같이 핵심적인 몇 가지 명령어를 파악해보는 시간을 갖도록 하겠다. 이것들 이후 추가로 공부하는 것은 이 글을 읽는 본인들의 몫으로 남겨두도록 하겠다. 그러면 우선 이동 모드부터 확인해 보자.

이동 모드에서 가능한 명령어
명령어 결과
shift + 4 해당 행의 끝으로 커서가 이동
shift + 6 해당 행의 처음으로 커서가 이동
[[ 문서의 첫번째 행의 처음으로 커서가 이동
]] 문서의 마지막 행의 처음으로 커서가 이동
x 커서가 위치한 곳의 한글자 삭제
dd 커서가 위치한 행 삭제
u 수정한 것 되돌리기(뒤로가기)
yy 행 복사(아래 명령어들과 함께 조합으로 쓰인다)
P(대문자 P) 복사한 행을 커서가 있는 행 위로 붙여넣기
p(소문자 p) 복사한 행을 커서가 있는 행 아래로 붙여넣기
v -> y -v 를 누르면 커서를 이동하여 블록 설정이 가능
-v 를 누른 후 블록 설정 완료 후 y를 누르면 블록 내용이 복사된다.
그 이후 붙여넣기 처리는 위에 기재한 P/p와 동일한 방식으로 처리 된다.
/ / 입력 후 찾을 내용을 입력하고 Enter로 검색한다. 검색 후 N키를 누르면 다음 검색 결과로 이동된다.

위의 명령어들을 익히고 응용한다면, vi 편집기에서 기본적인 문서들을 만드는 데는 문제가 없을 것이라 생각한다. 일단 위의 것들 만이라도 자유자재로 사용할 수 있게 익혀 보자. 그런데 이렇게 어렵사리 만든 문서는 어떻게 저장을 하는 걸까? 먼저 명령 모드로 진입을 해야 하는데 명령 모드의 경우는 : (콜론)으로 진입이 된다. 진입 후에는 아래와 같은 명령어가 사용된다.

명령 모드에서 가능한 명령어
wq 저장 후 종료하기
q! 강제 종료하기
w 저장하기
q 종료하기

이렇게 명령 모드에서 저장 후 종료하기로 나오게 되면 다음과 같이 파일이 생성된 것을 볼 수 있다. 이렇게 생성된 파일은 위에 설명했던 대로 vi 편집기로 열 수도 있지만 단순히 내용을 읽기만을 원하는 것이라면 cat이라는 명령어로도 오픈을 해볼 수 있다. 그러면 오늘은 여기서 마치도록 하겠다. vi 편집기의 경우 유용하게 쓰이는 경우가 많으므로 기본적인 명령어들은 익혀두고 다음으로 넘어가도록 하자.

vi 로 만든 test 파일이 생성 되었다!