[Linux] VI 편집기
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 접속해서 창 두개로 작업
현명하게 작업