본문 바로가기
OS/Linux

리눅스 기초 30강 시리즈 - 17강 vim 편집기

by HJ0216 2023. 1. 26.

이 글은 양주종의 코딩스쿨 리눅스(Linux) 기초 강좌 30강 모음 수강하며 정리한 글입니다.

 

17강 vim 편집기

(일반 사용자 id: j, pw: j)

(관리자 id: root, pw: r)

 

vim editor 시작

[j@hj0216 ~/dd]$ vi
# 이름없는 파일에서 작업, 저장 시 이름 부여 필요
[j@hj0216 ~/dd]$ vi a1
# a1 파일 내용 수정
[j@hj0216 ~/dd]$ vi a2
# a2 파일 생성

esc: 작업 종료

i 끼워넣기

:w 저장

:w 파일이름 '파일이름'으로 저장

:q 종료

:q! 강제 종료

:wq 저장 후 종료

:se nu 행번호 부여

:se nonu 행번호 삭제

dd 1줄씩 지우기

 

vimtutor

[j@hj0216 ~/dd]$ vimtutor
                             LESSON 1 요약

  1. 커서를 움직일 때에는 화살표 키나 hjkl 키를 이용합니다.
         h (왼쪽)       j (아래)       k (위)       l (오른쪽)
  2. 쉘 프롬프트에서 빔을 시작하려면 vim FILENAME <ENTER>
  3. 수정한 내용을 무시한 채로 빔에서 빠져나가려면   <ESC>   :q!   <ENTER>
                     저장한 후 빔에서 빠져나가려면   <ESC>   :wq   <ENTER>
  4. 명령 모드에서 커서가 위치한 곳의 글자를 지우려면   x  를 입력합니다.
  5. 명령 모드에서 커서가 위치한 곳에 텍스트를 삽입하려면
         i   를 누른 후 텍스트를 입력하고  <ESC> 를 누릅니다.
참고: <ESC>는 명령 모드로 돌아가는 데 쓰며, 원치 않는 명령이나 완전히 입력되지
      않은 명령을 취소하는 데에도 씁니다.
                               LESSON 2 요약
                               
  1. 커서가 위치한 곳부터 단어의 끝까지 지우려면:    dw
  2. 커서가 위치한 곳부터 줄 끝까지 지우려면:    d$
  3. 줄 전체를 지우려면:    dd
  4. 명령 모드에서 내리는 명령의 형식은 다음과 같습니다:
       [횟수]   명령   대상    또는    명령   [횟수]   대상
     여기서:
       횟수 - 그 명령을 몇 번 반복할 것인가
       명령 - 어떤 명령을 내릴 것인가 ( 예를 들어, 삭제인 경우는 d )
       대상 - 명령이 동작할 대상, 예를 들어 w (단어), $ (줄의 끝) 등.
  5. 이전 행동을 취소하려면:                 u   (소문자 u)
     한 줄에서 수정한 것을 모두 취소하려면:  U   (대문자 U)
     취소한 것을 다시 실행하려면:            CTRL-R
                               LESSON 3 요약

  1. 이미 지운 내용을 되돌리려면,  p  를 누르십시오. 이 명령은 커서 *다음에*
     지워진 내용을 붙입니다(PUT). (한 줄을 지운 경우에는 커서 다음 줄에
     지워진 내용이 붙습니다.)
  2. 커서 아래의 글자를 치환하려면(REPLACE),  r  을 누른 후 원래 글자 대신
     바꾸어 넣을 글자를 입력합니다.
  3. 변환 명령(CHANGE)은 커서에서 부터 지정한 대상의 끝까지 바꿀 수 있는
     명령입니다. 예를 들어, 커서 위치에서 단어의 끝까지 바꾸려면,  cw  를
     입력하면 되며,  c$  는 줄 끝까지 바꾸는 데 쓰입니다.
  4. 변환 명령의 형식은 다음과 같습니다:
         [횟수]   c   대상       또는       c   [횟수]   대상
                               LESSON 4 요약

  1. CTRL-g  는 파일의 상태와 파일 내에서의 현재 위치를 표시합니다.
     SHIFT-G  는 파일의 끝으로 이동합니다. 줄번호를 입력한 후 SHIFT-G를
     입력하면, 그 줄로 이동합니다.
  2.  / 를 입력한 후 문구를 입력하면 그 문구를 아랫방향으로 찾습니다.
      ? 를 입력한 후 문구를 입력하면 윗방향으로 찾습니다.
     검색 후, n 을 입력하면 같은 방향으로 다음 문구를 찾으며,
     Shift-N 을 입력하면 반대 방향으로 찾습니다.
  3. 커서가 (,),[,],{,} 위에 있을 때에  % 를 입력하면 상응하는 짝을
     찾아갑니다.

  4. 어떤 줄에 처음 등장하는 old를 new로 바꾸려면          :s/old/new
     한 줄에 등장하는 모든 old를 new로 바꾸려면            :s/old/new/g
     두 줄 #,# 사이에서 치환을 하려면                      :#,#s/old/new/g
     바꿀 때마다 확인을 거치려면 'c'를 붙여서              :%s/old/new/gc
                               LESSON 5 요약

  1.  :!command  를 이용하여 외부 명령을 실행합니다.
      유용한 예:
         (MS-DOS)         (Unix)
          :!dir            :!ls            -  디렉토리의 목록을 보여준다.
          :!del FILENAME   :!rm FILENAME   -  FILENAME이라는 파일을 지운다.
  2.  :w FILENAME  하면 현재 빔에서 사용하는 파일을 FILENAME이라는 이름으로
      디스크에 저장합니다.
  3.  :#,#w FILENAME  하면 #부터 #까지의 줄을 FILENAME이라는 파일로 저장합니다
.
  4.  :r FILENAME  은 디스크에서 FILENAME이라는 파일을 불러들여서 커서 위치
      뒤에 현재 파일을 집어넣습니다.
                               LESSON 6 요약

  1.  o 를 입력하면 커서 *아래에* 한 줄이 열리며, 커서는 편집 모드로
     열린 줄 위에 위치하게 됩니다.
     대문자  O  를 입력하면 커서가 있는 줄의 *위로* 새 줄을 열게 됩니다.
  2.  a 를 입력하면 커서 *다음에* 글을 입력할 수 있습니다.
     대문자  A  를 입력하면 자동으로 그 줄의 끝에 글자를 추가하게 됩니다.
  3. 대문자  R  을 입력하면 <ESC> 를 눌러서 나가기 전까지 바꾸기 모드가 됩니다
.
  4. ":set xxx" 를 하면 "xxx" 옵션이 설정됩니다.