본문 바로가기

사이버보안 1학년 1학기/리눅스

리눅스 vi (명령모드, 입력모드, 라인모드) 명령어


입력모드 (insert mode)

Insert키나 i 키로 명령모드에서 입력모드로 전환이 가능하다.


라인모드 (line mode)

명령모드에서 : 와 / 와 ? 을 사용해 명령을 입력할 수 있다.

:q - vi 종료

:w - vi 저장 (내용을 변경한 경우 :wq로 저장 후 나갈 수 있다.)

:set number - 라인 수를 표시한다.

:set nonu - 라인 수 표시를 끈다.

:set ic - 검색시 대소문자 구분을 하지 않는다.

:set ai - 들여쓰기를 설정한다.

:set ts=n - tab 공백을 n 수만큼 지정한다.

:set wm=n - 오른쪽 여백을 n 수만큼 지정한다.

:set ruler - 커서의 위치를 표시한다.

:syntax on - 컬러로 표시한다.

:숫자 - 숫자의 줄로 이동한다.

:%s/기존문자열/새 문자열 - 기존 문자열을 새 문자열로 바꾸기

/문자열 - 현재 커서 이후로 문자열 찾기 ( n키로 다음 문자열로 이동)

?문자열 - 현재 커서 이전으로 문자열 찾기 ( n키로 이전 문자열로 이동)

:![옵션] - ! 은 강제로 명령을 실행한다.


명령모드 (Command mode)

ESC키로 명령모드로 전환이 가능하다.

키 

 의미

 키

 의미

 i

 현재 커서 위치부터 입력

 I

 현재 커서 줄의 맨 앞에서 입력

 a

 현재 커서 다음 위치부터 입력 

 A

 현재 커서 줄의 맨 뒤부터 입력

 o

 현재 커서의 다음 줄에 입력

 O

 현재 커서의 이전 줄에 입력

 s

 현재 커서의 한 글자 지우고 입력

 S

 현재 커서 한 줄을 지우고 입력

 ^

 현재 줄의 처음으로 이동

 $

 현재 줄의 마지막으로 이동

 g g

 맨 앞 첫 번째 줄로 이동

 G

 맨 끝 줄로 이동

 숫자 G

 해당 숫자 줄로 이동

 u

 되돌리기

 Ctrl+F

 다음 화면으로 이동

 Ctrl+B

 이전 화면으로 이동

 x

 현재 커서가 위치한 글자 삭제

 X

 현재 커서가 위치한 앞 글자 삭제

 d d

 현재 커서의 줄 삭제

 숫자d d

 현재 커서부터 숫자만큼 줄 삭제

y y

 현재 커서가 있는 줄 복사

 숫자y y

 현재 커서부터 숫자만큼 줄 복사

 p

 복사한 내용을 현재 줄 이후로 붙여넣기

 P

 복사한 내용을 현재 줄 이전에 붙여넣기

 w

 현재 커서에서 다음 단어로 이동

 -

이전 줄의 처음으로 이동

 .

 이전에 사용한 명령어 재실행

 ~

 대소문자 변경

 J

 현재 줄과 다음 줄을 연결

 <<

 현재 줄을 왼쪽으로 내어쓰기

 >>

 현재 줄을 오른쪽으로 들여쓰기

 r

 한 글자 변경하기

 Ctrl+G

 마지막 줄에 현재 줄 정보 출력

 )

 다음 문장으로 이동

 (

 이전 문장으로 이동

 }

 다음 문단으로 이동

 {

 이전 문단으로 이동

 +

 다음 줄의 처음으로 이동 


명령모드에서는 되도록이면 화살표를 쓰지않고

   k

h  j  l

을 써야합니다.