vi editor 윈도우에서의 에디터 즉, 메모장과 워드패드의 기능이라고 생각하면 된다.
모든 유닉스.리눅스 시스템에 기본으로 포함되어 있어서 명령어들을 잘 기억해 두어야 한다.
완전 중요함! 많이 있어서 그렇지 막상 연습하다 보면 별거 아닌듯 쉽다.
명령어 vi 를 입력하면
여기서 i 나 a를 누르면(i=insert, a=append) 맨 밑에 -- INSERT --라고 바뀌면서 내용을 입력하거나 수정할 수 있다.
입력/수정 후 저장하고 종료할땐 우선 입력모드를 나오기 위해서 esc키를 누른다, 누르면 -- INSERT -- 가 사라짐.
그 후 :wq! (파일이름) 을 치면 된다. (w=저장, q=종료)
참고. vi (파일이름) 을 치면 (파일이름) 파일이 이미 존재하면 그 파일을 여러서 보여주지만, 존재하지 않는 파일이면 자기가 직접 생성을 한다.
더 쉽게 설명을 하자면;
1. 텍스트 입력 후 파일 저장하고 바로 종료할때
vi
i 를 누른 후 문서내용 입력
esc키 누르고(입력모드에서 나오는거임) :wq! test0.txt 하면 입력된 내용은 test0.txt로 저장이되고 종료가 된다.
명령어 vi 입력 후 i를 눌렀을 때 밑에 INSERT가 요렇게 나온다. 그러면 입력모드로 바뀌게 되어 입력/수정을 할 수 있다.
(이게 입력모드)
내용을 입력해 보았다.
esc키를 눌러야지만 :wq! test0.txt 을 입력할 수 있다. test0.txt로 저장하고 종료한다는 뜻
2. 기존파일 열어서 수정할때
vi test0.txt
i나 a 누르고 문서를 수정해본다
esc 누르고 :wq! 하면 된다. 저장하고 꺼짐.
-->만약 실수로 잘못 수정해서, 수정한 내요을 무시하고 그냥 나가고 싶을경우는
w(종료)를 쓰지말고 그냥 q!를 입력하면 저장되지 않고 빠져나온다.
아까 연습해봤던 test0.txt 파일을 불러오려고 함 푱푱.
그냥 불러오고 입력모드 들어가기 전엔 요렇게 나옴, 밑에 test0.txt는 6줄과 42자로 되어있다고 설명 (이게 명령모드임)
4번째줄 cccc 를 한번 지워보았다 (수정작업을 함) 하고 esc로 입력모드 나온 후 :wq! 저장하고 종료 (ex모드/라인명령모드)
실수해서 그냥 나가고 싶을때
아까 4번째줄 cccc를 지우고 저장했던 test0.txt, 다시 들어가보니 잘 수정이되어 저장이 되어있음.
이번엔 cccc밑에 dddd라고 수정을 한번 해보았다. 근데 이게 잘못수정한거야! 내가 실수했어! 이러면 안되 그냥 나는 나가고 싶은 마음만 간절할 뿐이야!!!!!!!! 이럴땐 입력모드를 나와서 esc눌러서나온 후 :q! 를 입력해준다. (w 즉, 저장을 뺀 명령어) 그러면 저장하지 않고 그냥 나가게 된다.
한번 확인을 해보면? 다시 test0.txt 로 들어가보면 (들어가는 명령어는 당근 vi test0.txt)
짜잔. 이렇게 내가 똥싸논 dddd 는 저장이 안되었다. 다행임.
이때까지가 기본적인 vi 사용법 설명이었음.
이거 말고도 훨씬 많은데 중요한 기능들을 한번 살펴보자.
(내가 하면서 좀 어렵고 헤갈리는 부분들이 있었는데 그거는 남들도 그렇지 않을까 하는 생각에 캡쳐로도 보여주겄음)
1. 명령모드에서 입력모드로 전환하는 KEY
아까 위에서 실습하는거 보면 항상 뭘 입력할 때 i 를 누르고 입력을 했다. 근데 a 눌러도 입력가능하다. 둘의 차이는 위치 차이임
i --> 현재 커서 앞칸부터 입력
a --> 현재 커서 뒷칸부터 입력
현재 커서가 "t"에 위치해 있다.
i 를 눌러서 777을 입력했을때 "t" 앞에 입력되는것을 볼 수 있다.
반면에 a 를 눌러서 777을 입력하면 "t" 뒤에 입력되는것을 볼 수 있다.
추가적으로;
대문자 I 를 누르면 현재 커서가 있는 줄 맨 앞에서부터 입력
대문자 A를 누르면 현재 커서가 있는 줄 맨 뒤에서부터 입력
소문자 o를 누르면 현재 커서의 다음줄에 입력
대문자 O를 누르면 현재 커서의 윗줄에 입력
2. 명령모드에서 커서를 이동하는 KEY
이거는 아주 SIMPLE 함! 물론 우리에겐 방향키! 아주 친절한 방향키 님이 계신다.
하지만 이 위대한 방향키님이 안계실수도 있는 환경을 위해 커서를 이동할 수 있는 키가 따로 있다.
바로 h j k l
차례대로 ←↓↑→
3. 명령 모드에서 삭제, 복사, 붙여넣기 KEY
x --> del 키를 썼을 때 삭제되는 것처럼 삭제됨. (뒷 내용이 삭제된다는 말씀)
대문자 X --> backspace 키를 썼을 떄 삭제되는 것처럼. (앞 내용들이 슉슉 지워짐)
dd --> 현재 커서가 있는 줄을 한꺼번에 삭제함
yy --> 현재 커서가 있는 줄을 한꺼번에 복사함
p --> 붙여넣기 (커서가 있는 줄 다음줄에 붙여넣는다, 이전 줄에 붙여넣기를 하고 싶으면 대문자 P)
u --> undo
:set nu --> 각각의 줄 앞에 숫자를 붙여줌
:1,3 co 5 --> 1~3번줄 내용을 복사해서 5번행 다음에 붙여넣기
:4,6 m 8 --> 4~6번줄 내용을 8번행 다음으로 옮겨라
:set nu 를 쳤을때 요래, 각각의 행 앞에 줄번호가 슉슉
4. 명령모드에서 문자열 찾기 KEY
/(찾을단어) --> 현재 커서 이후로 찾을단어를 찾아줌
?(찾을단어) --> 현재 커서 이전으로 찾을단어를 찾아줌
n --> 해당 단어들이 찾아진 상태에서 n을 누르면 다음 단어로 계속 넘어감
:%s/바꾸고싶은단어/바꿀단어(new단어) --> 바꾸고싶은 단어를 바꿀단어로 바꿔줌
예를들어 :%s/aaaa/dddd => aaaa를 dddd로 바꿔줌
이상 vi editor에서 쓸만한 기능들 소개였습닏.
'Linux' 카테고리의 다른 글
파일 압축+묶기 / 파일위치검색 (0) | 2012.11.20 |
---|---|
프로그램 설치를 위한 RPM (0) | 2012.11.20 |
리눅스에서의 사용자와 그룹관리 (0) | 2012.11.20 |
리눅스 기본 명령어 (0) | 2012.11.20 |
리눅스(Linux) 운영 개념잡기 (0) | 2012.11.20 |