vi editor는 리눅스에서 많이 쓰이는 문서 편집기로 윈도우의 메모장과 같다고 생각하시면 됩니다.
vi
: 파일 이름 없이 에디터 실행
vi test.txt
: test.txt 파일을 편집하기 위해 에디터 실행, 만약 파일이 존재하지 않으면 생성한 뒤 실행
vi editor에는 위처럼 3가지 모드가 있습니다.
자세한 내용은 명령어를 소개하면서 함께 하도록 하겠습니다.
':' 으로 시작하는 명령어는 execution 모드에서 실행되며, 그 외에는 모두 명령 모드에서 실행됩니다.
i
: 텍스트가 커서 앞에서 삽입a
: 텍스트가 커서 뒤에서 삽입o
: 텍스트가 현재 줄 다음 행에 삽입O
: 텍스트가 현재 줄 위 행에서 삽입R
: 텍스트 대치esc
이동
k
: 한 줄 위로j
: 한 줄 아래로l
: 한 문자 오른쪽으로h
: 한 문자 왼쪽으로단어
b
: 한 단어 앞으로w
: 한 단어 뒤로줄
:$
: 마지막 줄로:nn
: nn 줄로:.
: 현재 줄로행
^
: 행의 처음으로$
: 행의 마지막으로페이지
Control-f
: 한 화면 밑으로Control-b
: 한 화면 위로문서
G
: 문서의 마지막 행으로gg
: 문서의 첫 행으로복사
yy, Y
: 한 줄 복사nyy
: n 줄 복사yw
: 한 단어 복사yG
: 현재 행 ~ 문서 끝까지 복사ygg
: 문서 처음 ~ 현재 행까지 복사붙여넣기
p
: 아래로(오른쪽으로) 붙여넣기P
: 위로(왼쪽으로) 붙여넣기2p
: 아래로 2번 반복해서 붙여넣기삭제
x
: 커서 오른쪽 한 문자 삭제dw
: 커서 오른쪽 한 단어 삭제(space까지 삭제)dd
: 한 줄 삭제D
: 현재 줄 끝까지 삭제:<range>d
: 블록 단위로 삭제
<range>
: 줄의 범위를 나타냅니다.
ex)
첫 줄에서 마지막 줄까지 : 1, $
현재 줄부터 그 다음 10 줄 : +10
3번째 줄에서 13번째 줄 : 3, 13
dG
: 커서가 있는 행 ~ 문서 끝까지 삭제dgg
: 문서 처음 ~ 커서가 있는 행까지 삭제d$
: 커서가 있는 행의 끝까지 삭제d^
: 커서가 있는 행의 처음까지 삭제r
: 한 문자 치환 (명령 모드 유지)R
: 여러 문자 치환 (입력 모드로 전환)cw
: 한 단어 치환 (입력 모드로 전환)cc
: 한 줄 치환, 현재 행 삭제 (입력 모드로 전환)/sss
: 현재 위치에서 파일의 뒤쪽으로 문자열 'sss' 탐색?sss
: 현재 위치에서 파일의 앞쪽으로 문자열 'sss' 탐색n
: 마지막 탐색 명령을 같은 방향으로 재탐색N
: 마지막 탐색 명령을 반대 방향으로 재탐색 (이전에 역방향 탐색이었다면, 순방향 탐색으로):w
: 파일을 저장하고 수행을 계속:w <filename>
: filename으로 저장하고 수행을 계속:q
: 수정 사항이 없을 경우 수행을 종료:wq
: 파일을 저장하고 수행을 종료:q!
: 편집한 내용을 저장하지 않고 수행을 종료u
: 이전 명령 복구U
: 행 전체에서 복구Control-R
: undo를 취소, redo.
: 이전 번경 작업을 반복Control-g
: 요약 줄에 편집 상태 표시 J
: 현재 행, 아래 행을 합체:set number
: 줄 번호 표시:set nonumber
: 줄 번호 미표시