1. 이동
    • h, j, k, l   :   좌, 하, 상, 우
    • b or B   :   이전 단어의 첫 글자로 이동
    • w or W   :   다음 단어의 첫 글자로 이동
    • <CR>   :   다음 행의 첫 글자로 이동
    • ^   :   그 행의 첫 글자로 이동
    • $   :   그 행의 마지막 글자로 이동
    • ctrl + f   :   한 화면 아래로 스크롤
    • ctrl + b   :   한 화면 위로 스크롤
    • gg   :   문서의 제일 처음으로 이동
    • G   :   문서의 제일 끝으로 이동
    • [n]G   :   n행으로 이동
    • ctrl + o   :   여러 파일 편집시 이전 편집 위치로
    • ctrl + i   :   위의 반대
  2. 입력
    • i   :   현재 위치에 입력
    • a   :   다음 위치부터 입력
    • o   :   다음 줄에 입력
    • A   :   현재 줄의 맨 끝부터 입력
    • I   :   현재 줄의 제일 처음부터 입력
  3. 편집 (변경, 삭제 및 복사 붙이기)
    • r   :   한 글자만 변경 (이후 입력 모드로 바뀌지는 않음)
    • yw   :   한 단어 복사
    • yy   :   한 줄 복사
    • p   :   붙여넣기
      • (ex 모드에서):reg   :   레지스터 버퍼 내용 확인
    • cc   :   현재 줄을 지우고 입력
    • cw   :   현재 커서 위치의 단어 변경
    • dd   :   한 줄 삭제
    • dw   :   한 단어 삭제
    • x   :   현재 위치의 글자 삭제
    • X   :   바로 앞의 글자 삭제
    • u   :   되돌리기
  4. 블럭 지정
    • v   :   블럭 지정 시작 (j키로 커서 이동하여 d(삭제)나 y(복사)가 가능)
    • ctrl + v   :   사각형의 블럭 지정 시작
  5. 문자열 탐색
    • /[찾고자 하는 문자열] 또는 ?[찾고자 하는 문자열]
  6. 문자열 치환
    • :%s/[찾을 문자열]/[변경할 문자열]/g
      • %s   :   문서 전체에서 치환
      • s   :   제일 처음 매칭되는 행의 문자열만 치환
      • 2,4s   :   2행에서 4행 사이에서 매칭되는 문자열만 치환
      • -1,+3s   :   현재 커서에서 위로 1행 아래로 3행 사이에서 매칭되는 문자열만 치환
      • g   :   행 전체에 걸쳐서 치환 (쓰지 않으면 행에 여러 개의 매칭이 일어나도 처음 하나만 치환)
      • gc   :   c를 두면 치환 여부를 사용자에게 물어봄
  7. 저장 및 종료
    • :w   :   저장
    • :w file.txt   :   file.txt로 저장
    • :w >> file.txt   :   file.txt에 덧붙여서 저장
    • :q   :   종료
    • :wq!   :   강제 저장 후 종료
    • :e   :   현재 파일을 불러옴
    • :e file.txt   :   file.txt를 불러옴
  8. 기타
    • :set nu   :   행 번호 표시
    • :set nonu   :   행 번호 숨기기
    • vi -r   :   되살릴 수 있는 모든 파일 이름 보여주기
    • :reg   :   레지스터 버퍼 확인
  9. 다중 창 사용하기
    • :sp [파일명]   :   현재 파일을 두 개의 수평 창으로 나눔
      • ctrl+w s 로도 가능
    • :vs [파일명]   :   새로운 수직 창 생성
      • ctrl+w v 로도 가능
    • :new   :   새로운 수평 창 생성
      • ctrl+w n 으로도 가능
    • ctrl+w q   :   현재 커서의 창을 종료
    • ctrl+w c   :   현재 커서의 창을 닫기
    • ctrl+w o   :   현재 커서의 창만 남기고 모든 창 삭제
    • ctrl+w w   :   다음 창으로
    • ctrl+w h/j/k/l   :   해당 창으로 커서 이동
    • ctrl+w =   :   창의 크기를 균등하게 함
    • :args   :   편집 중인 파일목록 보여주기
    • :n   :   다음 파일로 넘어가기
    • :prev   :   이전 파일로 넘어가기
    • :files 또는 :ls   :   파일 버퍼의 내용을 보여주기
    • :b[N]   :   N번 버퍼로 이동
  10. 반복되는 문자열을 네임 레지스터 버퍼에 저장하고 사용하기
    • “a3yy   :   현재 커서부터 3줄을 복사하여 a 레지스터에 저장
      • 레지스터는 a부터 z까지 26개 사용 가능
      • :reg   :   레지스터 버퍼 확인
    • “ap   :   a 레지스터의 내용을 붙여넣기
  11. 매크로 사용
    • q[네임 레지스터]   :   선택한 네임 레지스터에 매크로 등록 시작, 하단에 기록 중이란 글자가 나온다
    • q   :   매크로 지정 완료 및 저장
    • @[네임 레지스터]   :   해당 레지스터의 매크로를 수행
      • 5@b   :   b 레지스터의 매크로를 5번 수행
  12. 마킹으로 이동하기
    • m[임의의 알파벳]   :   마킹할 때
    • ‘[마킹한 알파벳]   :   마킹한 위치로 돌아갈 때
      • A-Z는 전역 마킹, a-z는 지역 마킹
  13. 셀 명령어 사용
    • :![명령어]   :   해당 명령어 수행
  14. 정규 표현식의 사용
    • ^   :   행의 첫 문자
    • $   :   행의 끝
    • .   :   아무 문자나 한 문자를 의미
    • \|   :   or의 의미
    • [ ]   :   [ ] 사이의 문자 중 하나
    • *   :   앞의 내용이 0번 이상 반복됨
    • \|   :   앞의 내용이 1번 이상 반복됨
    • \<   :   단어의 시작
    • \>   :   단어의 끝
    • \n   :   새 행 문자
    • \t   :   탭 문자
      • [a-z]\|   :   모든 소문자 찾음
      • [a-z]\+[0-9]\+   :   소문자로 시작해서 중간에 숫자가 들어가는 모든 단어
      • OK\ [a-z]\+[0-9]*   :   “OK “로 시작해서 소문자가 1개 이상 꼭 오고 뒤에 숫자가 있거나 없는 단어
      • ^[0-9]\+.*   :   숫자로 시작하는 모든 행
      • .*[0-9]$   :   숫자로 끝나는 모든 행
      • \<ko   :   ko로 시작하는 모든 단어
      • ^\t*\ \+   :   행이 공백으로 시작하거나 탭이 몇 개 있다가 공백으로 시작하는 행
  15. 기타 vim 팁
    • '{' 또는 '}' 위에 커서를 두고 % 기호를 누르면 쌍을 이루는 '{' 또는 '}' 으로 이동
    • 찾기 원하는 문자열에 커서를 두고 * 기호나 # 기호를 누르면 / 또는 ? 과 같은 결과가 나옴
    • 폴딩 접기 v 로 블럭을 잡고 zf
    • '{'위에 커서를 두고 v]}zf 하면 '{' 기준으로 자동으로 블록을 형성해서 폴딩함
    • 폴딩 접힌 부분에서 zo 하면 폴딩 풀림
    • 함수가 사용된 부분에 커서를 위치시키고 [i 누르면 화면 하단에 함수의 원형이 출력됨
    • 흐트러진 소스 정렬을 명령모드에서 gg=G 입력
  16. .vimrc
    • 파일 열때 이전 편집 위치 기억하게 하려면
      • au BufReadPost *
        \ if line("'\"") > 0 && line("'\"") <= line("$") |
        \ exe "norm g`\"" |
        \ endif

'LINUX' 카테고리의 다른 글

ftp에서 mget 사용시 확인없이 진행하기  (0) 2008.11.13
ctags, screen, vim plugins  (0) 2008.11.03
sc_debian.wmv 따라하기  (0) 2008.08.23
.bashrc  (0) 2008.08.20
#!/bin/bash  (0) 2008.08.13
by sminchoi 2008. 10. 31. 11:24
| 1 |