해당 포스팅은 William E. Shotts, Jr.의 오픈소스 저서 The Linux Command Line(링크)를 번역한 내용입니다

미국에는 뉴욕에 온 방문자가 지나가는 행인에게 유명한 클래식 음악 공연장인 카네기 홀로 가는 길을 묻는 상황에 관한 농담이 있습니다:
방문자: 실례합니다. 카네기 홀에 어떻게 가나요?
행인: 연습, 또 연습하세요!
리눅스 커맨드 라인을 배우는 것은 성공적인 피아니스트가 되는 것처럼 하루아침에 이루어지는 것이 아닙니다. 수년간의 연습이 필요한 일이죠. 이번 장에서는
왜 vi 를 배워야 할까?
그래픽 기반 에디터와
는 거의 항상 사용할 수 있습니다. 원격 서버나 X 윈도우 시스템이 제대로 작동하지 않는 로컬 시스템 같이 그래픽 사용자 인터페이스가 없는 경우에도 사용할 수 있습니다.vi 도 인기를 얻고 있지만 보편적인 에디터는 아닙니다. 유닉스 시스템 간의 프로그램 호환송을 위한 표준인 POSIX에 따르면nano 가 필수적으로 설치되어 있어야 합니다. 이는 유닉스 계열 시스템에vi 가 거의 항상 존재한다는 것을 의미합니다.vi 는 가볍고 빠릅니다. 다양한 작업에서 그래픽 기반 텍스트 에디터를 메뉴에서 찾아서 열고 로딩하는 것을 기다리는 것보다vi 를 실행하는 것이 훨씬 간편합니다. 또,vi 는 타이핑 속도를 위해 디자인 되어있습니다. 뒤에 설명하겠지만 숙련된vi 사용자는 편집하는 동안 키보드에서 손을 뗄 필요가 없게 설계되어 있습니다.vi - 다른 리눅스와 유닉스 사용자에게 허접으로 보여서는 안됩니다
음, 두 가지 이유인 걸로 하죠.
약간의 배경지식
첫 번째 버전의
대부분의 리눅스 배포판은 실제
vi 실행 및 종료하기




쉘 프롬프트가 돌아온 것을 볼 수 있습니다. 만약 모종의 이유로

Tip:에서 헤메고 있다면 vi 키를 두 번 눌러 Esc 의 커맨드 모드로 돌아올 수 있습니다. vi
호환성 모드
위 예제 시작화면에서 "Running in vi compatible mode"라는 텍스트를 볼 수 있습니다. 이는이 향상된 vim 의 동작 방식보다는 vim 에 가깝게 동작한다는 것을 의미합니다. 이 장의 목적을 위해 vi 의 향상된 동작 방식으로 실행해야 합니다. 이를 위해서 몇 가지 다른 방식을 사용할 수 있습니다. vim 대신 vi 을 입력하여 실행해보세요. vim 이 잘 작동되면 vim 파일에 .bashrc 을 추가해도 됩니다. 또 다른 방법은 아래 명령을 입력하여 alias vi="vim" 설정 파일에 한 줄을 추가하는 것입니다: vim echo "set nocp" >> ~/.vimrc
리눅스 배포판들은 저마다을 패키징하는 방식이 다릅니다. 어떤 배포판들은 한정된 기능만이 포함된 미니멀 버전의 vim 을 설치합니다. 뒤에 나올 내용들을 따라가면서 기능들이 빠져있는 경우가 있을 수 있습니다. 이런 경우에는 정식 버전의 vim 을 설치해주세요. vim
편집 모드

잘 작동했다면 아래와 같은 화면을 볼 수 있습니다:

앞에 나오는 틸데 기호(~)는 해당 행에 텍스트가 없다는 것을 알려주기 위해 있습니다. 즉, 비어있는 파일임을 확인할 수 있습니다. 아직 아무것도 입력하지 마세요!
입력 모드에 진입하기
파일에 텍스트를 추가하기 위해서는 먼저 입력 모드(insert mode)에 들어가야 합니다.

이제 텍스트를 입력할 수 있습니다. 아래 내용을 작성해보세요:

입력 모드에서 나가 명령 모드로 돌아가려면
저장하기
파일을 수정한 내용을 저장하려면 명령 모드에서 ex 명령(ex command)를 입력해야 합니다. 명령 모드에서

수정된 파일을 쓰기 위해서 콜론 뒤에

파일이 하드 드라이브에 쓰였고 화면 하단에서 아래와 같은 확인 메시지를 확인할 수 있을 것입니다:

Tip:문서를 읽다보면 명령 모드가 일반 모드(normal mode)로, vim 명령들이 명령 모드(command mode)로 설명된 것을 볼 수 있을 것입니다. 주의 하세요. ex
커서 움직이기
Table 12-1: 커서 이동 키
단축키 | 커서를... |
우측으로 한 칸 이동 | |
좌측으로 한 칸 이동 | |
한 줄 아래로 이동 | |
한 줄 위로 이동 | |
현재 줄의 맨 앞으로 이동 | |
현재 줄의 공백이 아닌 첫 번째 문자로 이동 | |
현재 줄의 마지막으로 이동 | |
다음 단어의 맨 앞 글자나 구두점으로 이동 | |
다음 단어의 맨 앞 글자로 이동 (구두점 무시) | |
이전 단어의 맨 앞 글자나 구두점으로 이동 | |
이전 단어의 맨 앞 글자로 이동 (구두점 무시) | |
한 페이지 아래로 이동 | |
한 페이지 위로 이동 | |
숫자 + |
숫자 번째 줄로 이동. 예를 들어 |
파일의 맨 마지막 줄로 이동 |
왜
'리눅스 > Part 2 - Configuration and Environment' 카테고리의 다른 글
리눅스 기초 | 11-2. 환경 (0) | 2024.06.05 |
---|---|
리눅스 기초 | 11-1. 환경 (0) | 2024.06.04 |