본문 바로가기
CS/운영체제

[리눅스] vi / vim Editor

by merona99 2019. 4. 11.
반응형

vi / vim Editor

 

 

보라색 : 입력모드에서도 작동

초록색 : 명령어 앞에 숫자 입력가능 (문자, 단어, 줄수를 의미)

:q [Enter] 수정된 내용이 없을 때 그냥 끝내기
:q! [Enter] 저장하지 않고 강제로 끝내기
0 커서가 라인의 제일 왼쪽으로 이동
^, Home 제일 처음 문자로 이동
$, End 제일 오른쪽으로 이동
ctrl+b, PgUp 한 화면 위로 올라감
ctrl+f, PgDn 한 화면 아래로 내려감
ctrl+d 반 화면 아래로 내려감
ctrl+u 반 화면 위로 올라감
J / Delete / 백스페이스 현재 커서가 위치한 줄과 다음 줄을 한 줄로 결합하고자 하는 명령
. / u 바로 전에 수정한 명령 / 실행 취소
nG, :숫자[E] n(숫자) 라인 번호로 커서 이동
G 파일의 끝으로 이동
:set nu [E] / setnonu [E] 파일 내용에 줄 번호 부여 / 줄 번호 해제
:set tabstop=4 [E] tap의 크기를 설정
:set autoindent [E], :set noautoindent [E] 자동 인덴트 설정 및 해제
:set all [E] set 설정의 모든 옵션을 보여줌
소문자 o 커서가 위치한 현재 줄의 아래 줄을 새로 만듬(명령모드->입력모드)
대문자 O 현재 커서가 위치한 위 줄을 새로 만들어 데이터를 입력(명령모드->입력모드)
소문자 x / Delete 커서가 위치한 부분의 한 문자를 삭제
대문자 X / 백스페이스 커서가 위치한 앞 부분의 문자를 삭제
dw 현재 커서의 위치에서 오른쪽 방향으로 한 단어를 삭제
db 현재 커서의 왼쪽 글자부터 왼쪽 방향으로 한 단어를 삭제
dd 커서가 위치한 현재 줄을 삭제
D 현재 줄의 커서 위치부터 그 줄의 끝까지를 삭제

*백스페이스 -> 입력모드 o 명령모드 x

*Delete -> 입력모드 o 명령모드 x

*Esc -> 명령모드로 전환

 

 

 

[Copy & Paste, 취소 명령어]

yl 현재 커서가 위치한 문자를 임시 버퍼에 복사 ex) 3yl
yw 현재 커서가 위치한 단어를 임시 버퍼에 복사 ex) 2yw
yy / Y 현재 커서가 위치한 줄를 임시 버퍼에 복사 ex) 6yy, 7Y
P (대문자) 현재 커서의 에 임시 버퍼에 복사된 내용 붙이기
p (소문자) 현재 커서의 에 임시 버퍼에 복사된 내용을 붙이기
u (소문자) 전에 행한 명령들을 취소
U (대문자) 이전에 행한 그 줄에서 이루어졌던 모든 수정들을 원상 복구
(또 누르면 수정된 내용들로 다시 복구)

*p (소문자) == 윈도우즈의 Ctrl+V

 

 

[찾기, 바꾸기 명령어]

/찾을 문자열 [E] 현재 커서에서 파일 끝 쪽으로 문자열 찾기
?찾을 문자열 [E] 현재 커서에서 파일 앞쪽으로 문자열 찾기
n / N 다음 문자열 찾기 / 찾을 문자열을 역 방향으로 찾기
r 현재 커서가 위치한 곳의 한 문자를 다른 문자로 바꿈
R 현재 커서 위치에서 임의의 개수 문자를 Esc 칠 때까지 바꿈
cw 현재 커서가 위치한 단어를 임의의 다른 내용으로 바꿈(명령모드->입력모드)
cc 현재의 줄을 임의의 다른 내용으로 바꿈(명령모드->입력모드)
C 현 커서에서 줄의 끝까지를 임의의 다른 내용으로 바꿈(명령모드->입력모드)

*단어, 줄 바꾸기를 끝내려면 Esc키를 쳐서 입력모드에서 빠져 나옴

*같은 단어를 찾아서 바꾸기를 계속하려면, 처음에 [/찾을 문자열]로 찾고 [cw 바꿀단어]로 변경한 후,

 n(다음찾기).(바꾸기:직전 수정 반복)을 반복해서 누름

 

 

[파일 저장]

:w [E] 저장하기
:w newfile.c [E] 다른이름(newfile.c)로 저장
:w newfile.c [E] 다른이름(newfile.c)로 저장하되 같은 이름이 있을 경우 덮어쓰기
:wq [E] / ZZ 파일을 저장하고 끝내기

 

 

[파일 불러오기]

:e! [E] 현재까지 수정한 파일을 원래의 상태로 환원 (vi는 종료x)
:e 파일명 [E] 현재 버퍼 내에 있는 파일을 무시하고 지정한 파일 내용을 새로 버퍼로 읽어 옴
(다른 파일 작업할때)
:r 파일이름 [E] 현재 편집중인 문서에 다른 파일을 삽입 ex) :r sample.c [E]
:sh vi 내에서 :sh를 수행시키면 일시적으로 vi를 벗어나고 시스템 프롬프트가 나옴
쉘 명령어 수행후 다 했으면 마지막으로 exit를 치면 원래의 vi 상태로 되돌아옴
반응형

'CS > 운영체제' 카테고리의 다른 글

[리눅스] 명령어 (basic)  (0) 2021.10.13
[리눅스] Compile & Link with gcc  (0) 2019.04.11
[리눅스] 파일명의 확장  (0) 2019.04.09
[리눅스] UNIX 명령어  (0) 2019.03.18
[리눅스] Putty 설정  (0) 2019.03.18

댓글