더북(TheBook)

일반적으로 vi [파일명] 형식으로 새로 생성하거나 추가할 파일 이름과 함께 vi를 실행합니다.

shinjaehun@losttemple:~$ vi BallGame

화면 아래 파일에 대한 정보 외 빈 화면만 보입니다. 왼쪽에 ‘~’ 표시는 해당 행이 비어 있다는 의미입니다. 현재 상태는 명령 모드로 커서 이동키를 이용해서 커서를 움직여볼 수 있습니다.

~
~
"BallGame" [새 파일]

i를 누르면 화면 아래에 ‘끼워넣기’라는 메시지가 나타날 것입니다. 이 상태가 입력 모드입니다. 첫 행에 텍스트를 삽입해보겠습니다.

~
~
-- 끼워넣기 --
Tip

i 외에 텍스트를 입력할 수 있는 텍스트 입력키는 ‘명령 모드에서 사용할 수 있는 기능키’에 설명하고 있습니다.

실제로 텍스트를 입력해보겠습니다. 예제는 영문으로 입력했지만 그래픽 환경의 터미널에서 vi를 실행했다면 한글 입력도 가능합니다 (입력 모드로 전환하기 위한 i는 반드시 영문 상태에서 입력해야 합니다). 텍스트 콘솔 환경에서는 한글을 입력할 수 없기 때문에 그래픽 환경을 제공하지 않는 우분투 서버에서는 한글 입력이 불가능합니다.

Take me out to the ball game
Take me out to the ball game
Take me out with the crowd
Buy me some peanuts and crackerjacks
I don't care if I never get back
Let me root, root, root for the home team
If they don't win it's a shame
For it's one, two, three strikes
you're out at the old ball game
~
-- 끼워넣기 --

파일을 저장하기 위해 저장 명령을 내릴 수 있는 ex 모드로 변경해야 합니다. 입력 모드에서 ex 모드로 바로 전환할 수 없으므로 일단 입력 모드에서 ESC를 눌러 명령 모드로 전환합니다. 화면 아래 끼워넣기 –가 사라질 것입니다. 그 다음에 ‘ :’를 눌러 ex 모드로 전환합니다. 화면 아래 ex 프롬프트인 ‘ :’이 표시되고 여기에 명령을 입력할 수 있습니다. :wq는 파일을 저장하고 vi를 종료하여 커맨드라인으로 되돌아가는 ex 명령입니다(w는 파일을 저장하고 q는 편집기를 종료합니다). Enter를 눌러 명령을 실행합니다.

:wq
Tip

입력 도중에 파일을 저장하지 않고 그대로 vi를 종료하려면 :q!를 입력합니다. ! 명령으로 강제로 종료할 것입니다.

커맨드라인의 명령 프롬프트가 나타나면 ls 명령으로 파일이 제대로 생성되었는지 확인해봅니다. cat로 파일 내용을 확인해볼 수도 있습니다. 파일을 수정하려면 파일을 처음 만들 때처럼 vi BallGame이라고 입력합니다. 파일이 존재하면 새로운 파일을 생성하는 대신 해당 파일을 편집할 수 있습니다.

shinjaehun@losttemple:~$ ls -l BallGame
-rw-rw-r-- 1 shinjaehun shinjaehun 295 9월 24 20:37 BallGame
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.