[리눅스] VIM에서 블록지정 및 기타기능

|
윈도우의 텍스트 에디터에서 사용하는것과 같이 VIM에서도 블록지정이 가능하다.

편집모드가 아닌 상태에서 shift+v를 누르고 방향키로 이동하면 이동한 만큼 블록지정이 된다.


이렇게 블록지정을 했으면 합당한 역할을 할 수 있어야 겠다.

복사 밑 붙여넣기가 이러한 기능인데, 복사는 y  붙여넣기는 p를 누르면 실행된다.


y를 눌러서 블록지정 영역을 복사한 모습이다.



p 키를 눌러서 중간에 붙여넣은 모습이다. 붙여넣기는 편집모드에서는 실행되지 않는다.


복사와 붙여넣기 말고도 삭제 또한 가능하다.


블록지정하고 d를 누르면 지정한만큼의 라인이 삭제된다.



vim의 블록지정 외에도 유용한 기능 몇가지에 대해서 살펴보자.

위에서 예시로 블록지정하여 삭제를 했지만, 이를 취소해야 할 경우가 있을 것이다.



이럴때는 u(Undo)를 누르면 방금 수행한 내용이 취소된다.



그리고 이렇게 취소한 상태에서 다시 취소이전을 원할경우  ctrl + r(Redo)를 누르면

취소전으로 돌아간다. 단 이 기능은 u를 눌러 취소한 적이 없으면 수행되지 않는다.





vim에서 문서를 작성중에 리눅스의 명령어를 사용하고 싶은 경우가 있을 수 있다.

이럴때는 어떻게 해야할까.


명령창에서 !(느낌표)와 사용하고픈 명령어를 함께 작성하면된다.


명령어를 실행한 모습이다.




이번에는 vim에서 문자열 검색하는 방법을 살펴보자.


슬래시(/)와 찾고자 하는 문자열을 작성하면 해당 문자열을 검색할 수 있다.

만약 여러개가 존재할 경우 가장 처음의 문자열의 위치로 이동하고, 없을 경우 없다는 것을 표시해준다.

문자열 검색결과가 다수일 경우 n을 누르면 다음위치로 N을 누르면 이전위치로 이동한다.


그렇다면 문자열을 찾아바꾸는 것도 가능할까.

:%s/aaa/bbb/gc 이렇게 입력하면 aaa 문자열을 찾아 bbb로 변환해준다. gc는 변환전에 변환의사를 묻는 옵션이다.


구분하기 쉽게 아주 긴 문자열로 교체를 시도했다.



정상적으로 문자열을 찾아 바꾸었다.


마지막으로 문서의 시작과 끝으로 이동하고 싶을 경우 gg(시작) G(끝)를 입력하면 된다.
And