[Linux]

[Linux] VI 편집기

UtakerS 2022. 5. 19. 12:50
반응형

vi 에디터를 실행하면 명령모드로 시작하게 된다

 

명령모드

최초 vi편집기 실행시 기본상태 [커서이동, 복사, 삭제]

 

k : 위
j : 아래
h : 왼쪽
l : 오른쪽

 

w , W : 다음 단어로 이동 / 소문자는 특수기호마다 멈춤, 대문자는 띄어쓰기 기준으로 멈춤
b , B : 이전 단어로 이동 / 소문자는 특수기호마다 멈춤, 대문자는 띄어쓰기 기준으로 멈춤

 

0 : 행의 처음으로 이동 (Windows에 Home Key와 같은 기능)
$ : 행의 마지막으로 이동 (Windows에 End Key와 같은 기능)

 

gg : 문서의 처음으로 이동
G : 문서의 마지막으로 이동 

 

dd : 한줄 삭제
yy : 한줄 복사
** dd와 yy는 앞쪽에 숫자값을 붙여 활용이 가능하다 
(ex) 3dd : 3줄삭제 , 8yy : 8줄복사

p (소문자) : 복사한 값을 커서아래쪽에 붙여넣기
P (대문자) : 복사한 값을 커서위쪽에 붙여넣기

 

x (소문자) : 커서가 위치하고있는 글자를 삭제 (Windows에 delete와 같은 기능) 
X (대문자) : 커서왼쪽의 글자를 삭제 (Windows에 BackspaceKey와 같은 기능)

 

u : undo 
Ctrl + r : redo

입력모드

실제 문서편집이 가능한모드 

화면 하단에 ---INSERT--- 표시

 

i : 현재커서의 위치에서 입력모드로 전환
a : 우측으로 한칸이동 후 입력모드로 전환
o (소문자) : 아래로 빈줄하나 생성 후 입력모드로 전환
O (대문자) : 위로 빈줄하나 생성 후 입력모드로 전환

 

 

실행모드

명령어 수행이나 저장, 종료, 검색 기능들을 수행

:(콜론) 가장 많이 사용되며, 명령어 및 각종 실행모드의 기능을 사용할때 :(콜론)을 먼저입력 후 작업을 시작

/(위에서 아래) , ?(아래에서 위) 문서에서 특정단어를 검색을 할때 사용된다.
- 검색결과의 다음 위치로 이동을 하고싶을때는 n을 눌러서 이동한다. / 대문자 N은 이전 위치로 이동

 

:s : 치환(찾아서 바꾼다)

  :[n]s/old(이전단어)/new(바꿀단어)

  :3s/you/I : 3번째줄의 you를 I로 변경한다.

  - g 옵션을 사용하지 않을 경우에는 해당 줄에 you가 여러개 있어도 첫번째 you만 I로 치환
  :4,5s/boot/grub/g : 4번째줄, 5번째줄의 boot를 grub로 치환
  - g 옵션은 전부를의미하며 해당라인의 모든 boot를 찾아 치환
  :%s/you/I/g : 문서전체에서 you를 찾아 I로 치환

 

:! : vi 편집기를 잠시 중단하고 명령어를 수행

:f : 현재파일의 정보 확인 

:set nu : 줄번호 활성화 
:set nonu : 줄번호 비활성화
:[n] : 해당 라인으로 이동 

:q : 종료

:q! : 강제종료

:w : 저장

:wq : 저장 후 종료

:wq! : 강제 저장 후 종료

:w [저장할 위치 및 저장할 이름] : 다른이름으로 저장

:e : 불러오기

:enew : 새로만들기

 

 

정석적인 방법은 위와 같지만

실제로는

hjkl  > 방향키

복사 > 드래그

붙여넣기 > 우클릭

0 $ 대신 home, end 사용

입력모드로 들어가서 enter, backspace, 방향키 등을 이용하여 작업

:! 이용하지 않고 putty new session 접속해서 창 두개로 작업

 

현명하게 작업

반응형