vi는 텍스트 편집기입니다. 메모장이나 한글, 워드 같은 친숙한 편집 프로그램을 떠올리면 됩니다. 우리는 편집기에서 원하는 곳으로 커서를 이동하고 텍스트를 쓰고, 지우는 등의 일을 합니다. 가끔은 어떤 문자열을 검색해서 다른 문자열로 한꺼번에 치환하기도 합니다. 일반 편집기에서 하는 일을 vi로 할 수 있으면 vi를 쓸 줄 아는 것입니다.

vi는 세가지 모드를 제공합니다. 1. 명령모드, 2. 편집모드, 3. 마지막행 모드 입니다. 처음 vi 를 실행하면 명령모드로 실행됩니다. 명령모드에선 키보드의 키를 누르면 특정한 동작을 하도록 약속되어있습니다. 예를 들어 'x' 를 입력하면 커서가 있는 곳의 문자를 하나 지우고 'ZZ' 를 입력하면 작업중인 파일을 저장하고 닫습니다. 글을 편집하려면 편집 모드로 이동해야합니다. 당연히 편집 모드로 이동하기 위한 약속된 키가 있습니다.

vi를 처음 접하면 모드에 대한 개념이 없어서 알파벳을 눌렀는데 글이 안나오고 난데없이 문자가 삭제되거나 커서가 이동되니 당황하게되고 어렵다고 느낍니다. 하지만 vi는 CUI(Character User Interface) 환경에서 사용할 수 있는 좋은 편집기입니다. 알아두면 좋습니다. 모드간 전환하는 키는 아래 그림과 같습니다.

1. 편집

위 그림처럼 명령 모드에서 편집모드로 전환하는 키가 여러가지인 것은 현재 커서 위치를 기준으로 어디에서 편집을 시작할 것인지 정하기 위함입니다. 명령모드에선 커서가 한 문자의 위에 위치합니다. 편집모드가 되면 문자와 문자사이로 이동합니다.

위 그림에서 현재 커서는 별모양 아래 this 의 s 문자 위에 있습니다. 따라서 편집을 시작한다면 s 문자의 왼쪽에서 시작할건지 오른쪽에서 시작할건지를 알려줘야합니다. 명령모드에서 대소문자 i, a 와 I, A 키를 누르면 편집모드로 전환하며 위의 그림처럼 현재 커서를 기준으로 바로 앞, 바로 뒤, 현재 행의 맨 앞, 맨 뒤에서 편집을 시작할 수 있습니다. 대소문자 o와 O는 현재 행의 바로 밑 또는 위에 빈 행을 만들고 그 행의 처음부터 편집을 시작합니다. 당연하게도 편집모드에서 키보드의 문자키 입력은 바로바로 모니터에 출력됩니다. 명령모드로 돌아갈 때는 ESC 키를 누릅니다.

2. 커서 이동

원하는 위치에서 편집을 시작하려면 명령모드에서 커서의 위치를 이동하는 방법을 알아야합니다. 글자, 단어, 페이지 단위 등 다양한 방법의 커서이동이 가능합니다. 원하는 행의 시작 위치로 커서를 바로 이동시킬 수도 있습니다.

h, j, k, l 키는 한 글자만큼 왼쪽, 아래, 위, 오른쪽으로 커서를 이동합니다. vi 버전에 따라 방향키를 지원하기도 합니다. 단어간 커서 이동은 b, w, e 키를 이용합니다. 페이지 단위 커서 이동은 PgUp, PgDn 키를 이용하면 편리합니다. Ctrl + f, b 는 PgDn, PgUp 키와 같은 기능입니다. Ctrl + u, d 는 한 페이지의 절반만큼 위아래로 커서를 이동합니다. 임의의 행으로 이동하고자 할 땐 행번호를 누르고 G를 입력하면 됩니다. 예를 들어, 1행으로 이동하고자 할 경우 1G 를 입력합니다. 파일의 맨 끝으로 이동하고자 할 땐 그냥 G를 누르면 됩니다.

3. 검색

ㅇㅇ

+ Recent posts