리눅스에서 편집기로 가장 많이 쓰이는 프로그램으로 vi가 있다.많은 명령어, 기능이 있지만 꼭 알아야 할 명령어와 편리한 사용법에 대해 알아보자.먼저 vi 명령어를 통해 새 파일을 생성하거나 기존에 존재하는 텍스트 파일을 연다.
$ 시험. txt.
vi는 기본적으로 명령 모드와 편집 모드가 존재한다. 처음 접하게 되면 이 부분에서 맨붕이 올 수 있는데 간단히 설명하면 명령 모드에서는 키보드 입력이 미리 정의된 어떤 기능을 수행하는 역할을 하고 편집 모드에서는 키보드 입력 시 해당 문자가 입력된다고 보면 된다.vi가 시작되면 처음에는 명령 모드로 실행되고 i, a, o 키를 통해 편집 모드로 전환할 수 있다.편집모드로 전환되면 키보드를 입력할 때 해당 문자가 그대로 작성된다.
i카솔 위치에서 입력 시작 a카솔 다음 위치부터 입력 시작 o 커서 다음 행으로 입력 시작
i카솔 위치에서 입력 시작 a카솔 다음 위치부터 입력 시작 o 커서 다음 행으로 입력 시작
문자 작성이 끝나고 다른 기능을 수행하려면 Esc 키를 눌러 다시 명령 모드로 전환한다.명령 모드에서 커서를 이동할 때는 h, j, k, l 키를 입력한다.순서대로 왼쪽, 아래, 위, 오른쪽으로 이동하여 아래 그림과 같이 방향키로 생각하면 이해하기 쉽다.
입력한 문자의 수정이나 삭제가 필요한 경우 명령 모드에서 해당 라인이나 문자로 커서를 이동 후 x, d, r 키를 활용한다.
x 카솔 위치 문자 1개 삭제 5x 카솔 위치 포함 오른발 문자 5개 삭제 dd카솔위치라인1개삭제 5dd카솔위치포함밑라인5개삭제 dw 카솔 위치 포함 오른쪽 띄어쓰기까지 삭제 (deleteword) r + ? 카솔 위치 문자 1개를 r키 다음에 입력된 ?로 수정 (revision)
한 문장이 길거나 페이지를 넘을 경우 문장 이동, 페이지 이동도 반드시 필요하다.
$ $ (Shift+4) 문장 끝에 커서 이동^ (Shift+6) 문장 첫번째 커서 이동 gg 첫번째 줄에 커서 이동 G 마지막 줄에 커서 이동 Ctrl+d 다음 페이지로 이동 (down) Ctrl+u 이전 페이지로 이동 (up)
내용이 길다면 특정 단어를 검색하거나 바꾸는 기능도 꼭 필요한 때가 온다./키를 입력하면 검색모드로 전환되며 단어나 문장을 입력한 후 Enter키를 누르면 일치하는 단어 위치로 이동한다.일치하는 단어가 여러 개인 경우 n키를 입력하여 다음 일치하는 단어로 이동한다. (이전에 일치하는 단어로의 이동은 Shift+n) 검색 모드에서 다시 명령 모드로 돌아가려면 Esc 키를 눌러준다.
문서 편집이 모두 완료되면 변경사항을 저장하거나 취소 후 vi를 종료하고 터미널로 돌아간다.vi를 종료하기 위해서는: 키를 입력하고 ex 명령 모드로 전환한 후 아래 명령을 입력한 후 Enter를 입력한다.명령모드에서 다시 명령모드로 돌아가려면 Esc키를 누른다.
: wq + Enter 저장 후 종료 : q + Enter 종료 : q! + Enter 강제종료 (변경사항이 있을 경우 취소하고 종료)
vi를 처음 접할 때 가장 헷갈리는 부분인 모드 전환에 대해 그림으로 정리해봤다.이외에도 기능이 너무 많은데 일단 이 정도만 알아두면 vi를 잘 쓰는데 전혀 지장이 없다.반대로 이 정도도 모르면 vi를 사용하는데 반드시 불편함을 느낄 것이다.내 손으로 쓴 출처 : https://uutopia.tistory.com/51