vi는 모드 기반이다. 명령 모드(기본) ↔ 입력 모드(i·a·o) ↔ 마지막 행 모드(:).i 커서 앞, a 커서 뒤, I 행 맨 앞, A 행 맨 끝, o 아래 행, O 위 행.dd(행 삭제=잘라내기) · yy(행 복사) · p/P(붙여넣기). 취소는 u.:wq는 항상 다시 쓰고, :x와 ZZ는 변경됐을 때만 저장한다.:%s/old/new/g. %가 "파일 전체 행"을 뜻하며 문법은 sed와 한 뿌리다.그래픽 환경 없는 원격 서버에도, 최소 설치 시스템에도 vi는 거의 예외 없이 존재합니다. 그래서 관리자에게는 선택이 아니라 필수입니다.
📚 유래/사례: vi에서 vim으로
vi(visual editor)는 1976년 빌 조이(Bill Joy)가 만든 에디터입니다.vim(Vi IMproved)은 1991년 브람 무레나르(Bram Moolenaar)가vi를 개선해 만든 현대적 버전으로, 구문 강조, 다중 실행 취소, 분할 화면 등을 추가했습니다. 오늘날 대부분의 리눅스에서vi를 입력하면 실제로는vim이 실행됩니다.
vi를 이해하는 열쇠는 모드입니다. 같은 키를 눌러도 어떤 모드에 있느냐에 따라 전혀 다르게 동작합니다.