본문 바로가기

컴퓨터(O/S)/Linux

왕초보도 이해하는 vi, vim 사용기 중급. 그림설명.


간단하게 정리된 표로 보고 싶다면 아래 링크를 참조해 주세요.
왕초보도 이해하는 vi, vim 간단 명령표.

하지만, 아래 내용을 한번 읽고 보시는게 훨씬 이해가 빠르실거에요. ^^;


아래 내용들은 모두 명령 입니다.
따라서 모두 명령모드에서 작업해야겠죠?

명령모드를 잘 모르겠다면 아래 링크를 참조해 주시구요.
왕초보도 이해하는 vi, vim 사용기 기초 그림설명.




자. 일단 기본기는 익혔다면, 보통 사람들은 별 불편함을 느끼지 못하겠지만

vi를 쪼..끔 많이 써야 하는 상황에 있는 사람들은 은근히.. 불편한게 느껴질 것이다.


우선 아래는 보이는 것과 같이 51385줄 짜리 텍스트 파일.


5만줄.. 가장 밑에 줄을 확인하고 싶다면 어떻게 해야 할까..? 페이지다운 키를 누른채로
마냥 기다려야 하나? 그리고 다시 처음 글을 보고 싶다면 또, 마냥 기다리고..??  No !!


우선, 차근 차근 몇가지 알아보도록 하자.

 

20줄 가량의 내용을 막 적어봤다. 첫 자리를 숫자로 입력해서 몇 번째 줄인지
금방 알긴 하지만 편의상 그렇게 써둔 것이고, 실제로는 직접 커서를 가져가서
화면에 표시되는 라인수를 확인해야 한다.



라인수를 화면에 표시해 보자.


위 그림처럼 명령모드에서 :set nu 를 입력하면 라인수이 나타난다. [number의 약자]
해제하고 싶다면 :set nonu 를 입력.
내용을 복사할 때 라인 수가 같이 복사되서 불편할 때가 있다.




[이동하기]

그럼 이제 라인수를 표시 했으니 한번에 원하는 위치로 날아가 볼까??

바로. :라인수 를 적어주면 커서가 해당 라인으로 바로 날아간다. 화면도 이동하고.



그렇다면, 총 몇줄인지 모를 때 마지막 줄로 가고 싶다면??


:$  달러 표시를 해주면 가장 마지막 줄로 가게 된다.





[삭제하기]

기본적으로 삭제와 복사는 동일한 방식으로 사용.
삭제는 d, 복사는 y

한 글자 지우기.

그림이 조금 애매한데, 위 그림과 비교해 보면 원래 3이 5개가 있었다.
여기서 x 키를 입력하면 커서의 위치에 있는 1글자가 지워진다. del 키와 동일.


한 단어 지우기.


이것도 좀.. 위 그림과 비교하면 6덩어리 1개가 삭제된 것을 알 수 있다.
dw 를 입력한 결과이며, delete word의 약자이다.
한 단어란. 커서의 위치에서부터 가장 가까이 있는 띄어쓰기 까지가 "한 단어"의 기준이다.



한 줄 지우기.


dd 를 입력하면 한 줄이 삭제된다. 2 가 적혀있던 내용이 모두 삭제 되었음.

삭제 된 모습


3dd 의 입력 결과. 3줄이 삭제 된 것을 알 수 있다.
10에 커서를 놓고 3dd로 3줄을 삭제해서 10, 11, 12 가 삭제 되었음.


지정한 줄 삭제하기.


 :[시작 라인], [끝 라인]d 를 입력하면 지정한 라인이 삭제된다.
위 그림처럼, 10,13d 를 입력 시 10번째 줄 부터 13번째 줄까지. 즉 4줄이 삭제.
10번째 라인이 14 이므로  14, 15, 16, 17 이 삭제 될 것이다.

현재라인은 . 으로 표시할 수 있고, $는 가장 마지막 라인.


삭제 된 모습.





라인 수를 다르게 입력해 보자.


위에서 설명 했듯이 .은 현재 라인.   그렇다면 .+3 은 현재라인에서 3번째 아래에 있는 라인이다.
즉 3dd와 동일한 작업이 되는 셈이다. 커서는 6라인에 있었으면 총 4줄이 삭제될 것이다.

삭제된 모습.





 

작업 취소[뒤로가기 or 되살리기]

방금 위에서 삭제했던 내용을 다시 되살렸음.


이 기능이 꼭 필요하다.. 특히 dd로 삭제를 하다보면
라인을 잘못 보거나 해서 날아가는 경우가 종종 있기도 해서..
u 키를 입력하면 바로 직전 작업이 취소된다. (돌아가기)
계속 누르면 계속 돌아간다..ㅋㅋ

그러다.. 너무 많이 돌렸다면? 그 앞으로 다시 넘어가진 못할까?


앞으로 가기.

되살렸던 작업을 다시 취소했다.


Ctrl + r 키를 입력하면 취소했던 작업의 넘어간다. [취소한 작업을 취소한다랄까?]
인터넷 익스플로러의 앞으로 가기 키와 동일한 개념이다.


블럭설정.(범위지정, 범위선택)


보는 것과 같이 우리가 아는 일반적인 블럭지정.
v 키를 누른 후 방향키로 선택. 범위 지정 후 y, d 키 등으로 추가 작업.



본 사람도 있을 수 있겠지만, 사각블럭이라고도 하던데,
블럭지정 상태에서 방향키를 아래로 내리면, 남은 옆라인이 모두 선택되는 것이 아닌
그냥 내가 선택한 범위만 선택이 되는 것이다. 그러다보니 늘 사각형의 모잉이 되는데
아마 그래서 사각블럭이라고 부르지 않나 싶다.

Ctrl + v 키를 누른 후 방향키로 지정한다.

간단하게 설명을 하자면 아래처럼. 세로로 블럭지정이 가능한 것이다.



간단하게 표로 확인하고 싶다면 아래 링크를 참조해 주세요 ^^

왕초보도 이해하는 vi, vim 간단 명령표.