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 : 줄 번호 미표시