본문 바로가기
Linux/명령어

[Linux 명령어] vi 편집기 (문서 편집 명령어)

by 인성패밀리 2021. 1. 3.
반응형

실습 환경은 CentOS 7 버전입니다.
VMware에 Linux를 부팅시키고 putty를 이용하여 접속하였습니다.
'#> [명령어]' // [주석]
[]안의 부분만 보시면 됩니다.
'#'은 관리자, '$'는 유저입니다.

 

문서 편집을 할 때 주로 vi 편집기를 이용합니다.

간혹 보시다가 이런 형형색색의 사진들을 보신 적이 있으실 겁니다.

 

vsftpd._conf_migrate.sh

 

이런 것들은 vim을 이용하여 문서를 열었을 경우입니다.

vim 편집기는 vi 편집기와 호환이 됩니다.

이 편집기는 프로그래밍을 할 때 편리합니다.

 

오늘은 vi 편집기를 어떻게 사용하는지 알아보겠습니다.

 

'#> vi [파일명]' // vi 명령어 사용법 입니다. 디렉터리는 불가합니다.

 

vi는 세가지 모드가 있습니다

명령 모드

입력 모드

마지막 행 모드

 

명령 모드

 

아무것도 없습니다.

 

입력 모드

 

아래에 INSERT가 보입니다.

 

마지막 행 모드

 

명령 모드에서 콜론( : )을 누르면 됩니다.

 

먼저 세 가지 모드를 전환하는 방법에 대해서 보겠습니다.

 

명령 모드에서 입력 모드로 전환 = 'i'

입력 모드에서 명령 모드로 전환 = 'esc'

명령 모드에서 마지막 행 모드 = ':'

마지막 행 모드에서 명령 모드 = '

 

이것을 표로 만들어보았습니다.

 

입력 모드 전환

 

명령 모드에서 입력 모드로 전환할 때 'i' 말고 다양한 키가 있습니다.

i = 커서 앞에 입력

o = 커서가 위치한 행의 다음 행에 입력

A = 커서가 위치한 행의 끝에서 입력

 

이것 말고도 다양한 전환 키가 있지만 사실 상 i가 가장 많이 쓰입니다.

 

입력 모드에서는 방향키로 커서 조작이 가능합니다.

또한 글자를 입력할 수 있습니다.

 

명령 모드

 

명령 모드에서도 커서를 조작할 수 있습니다.

 

이 모드에서는 단순히 키를 누르기만 하면 됩니다.

 

기본적으로 방향키로 조작이 가능하지만 다양한 기능의 키가 있습니다.

h,j,k,l = 순서대로 왼쪽, 아래, 위, 오른쪽에 대응합니다.

H, M, L = high, middle, low로써 화면의 위쪽, 가운데, 밑부분으로 커서를 옮겨줍니다.

 

커서를 이용하여 화면 전환이 느리다면 

키보드의 PgUp, PgDn 키를 이용하면 화면 전체를 이동할 수 있습니다.

 

특정 행으로도 이동을 할 수 있습니다.

G = 파일의 마지막 행으로 이동합니다.

:$ = 파일의 마지막 행으로 이동합니다. (마지막 행 모드)

#G = 지정한 행 번호로 이동합니다.

:# = 지정한 행 번호로 이동합니다. (마지막 행 모드)

 

여기서 '#' 이라는 부분은 숫자입니다. 명령어에 따라서 해당 명령을 실행하는 갯수로 이해하면 됩니다.

 

하지만 행 번호를 모를 때 화면에 행 번호를 나타내는 것이 있습니다.

마지막 행 모드에서 알려드리겠습니다.

 

명령 모드에서는 입력 모드 만큼의 글자를 자유롭게 입력은 할 수 없지만 일부 글자를 변경할 수 있습니다.

지우는 것은 순식간에 지울 수 있습니다.

 

r = 커서가 위치한 곳의 글자를 다른 글자로 변경합니다.

ex) 커서의 위치에서 'r'을 누르고 변경할 다른 글자를 입력합니다.

x 또는 #x = 현재 커서 위치의 글자를 삭제합니다. 

dw 또는 #dw = 현재 커서 위치의 단어를 삭제합니다.

dd 또는 #dd = 커서 위치의 행을 삭제합니다.

D = 전부 삭제 합니다.

 

이렇게 삭제를 하던 도중 잘못 삭제했거나 수정을 하였다면 다시 되돌릴 수 있습니다.

u = 이전 명령을 취소합니다.

U = 현재 커서가 위치한 행에서 일어난 모든 명령을 취소합니다.

:e! = 가장 최근에 저장한 것으로 돌아갑니다.

 

마지막 행 모드

 

이 부분은 주로 저장을 하는 모드입니다.

사실상 :wq가 주로 쓰입니다. 혹시나 다른 기능을 사용할 수 있으므로 작성해보겠습니다.

 

마지막 행 모드는 명령 모드에서 콜론( : )을 먼저 입력하여야 합니다.

입력을 다 하였다면 키보드의 Enter를 누릅니다.

 

:wq = 가장 많이 쓰이는 것으로 파일을 저장하고 빠져나온다는 뜻입니다.

:q = 파일 그냥 빠져나오는 것입니다. 하지만 저장된 문서를 수정했다면 빠져나오지 못합니다.

:q! = :q를 했을때 못 빠져나왔다면 !를 붙여서 강제로 빠져나오면 됩니다. 원본 파일은 수정 전으로 유지 됩니다.

:set nu (또는 :se nu) = 파일의 행 마다 번호를 붙여줍니다.

:w = 현재 파일을 저장합니다.

 

마지막 행 모드에서 비교적 쓰이는 명령어들입니다. 

 

 

각 모드의 다양한 명령어가 있습니다.

필요하다고 생각하는 것만 내용에 담아보았습니다.

 

명령어만 간략히 정리하면 아래와 같습니다.

 

 

 

긴 글 읽어주셔서 감사합니다.
오류나 틀린부분이 있으시면 댓글로 남겨주시면 감사하겠습니다.
여러분들과 같이 공부하는 공간이 되었으면 좋겠습니다.

 


추가(복사, 붙여넣기)

명령 모드에서 사용합니다.

복사 : yy

붙여넣기 : p

반응형

댓글