Vim
 찾은 후에 그 단어를 다시 바꾸기 명령을 입력하는 경우가 많다. 그냥 타이핑을 열심히 하면 되긴 하는데 단어가 길거나 비슷한 단어가 연거푸 나오는 경우 오타를 내기 쉽다. 이 경우에 사용하는 것이 Ctrl + r,w(Ctrl 누르면서 r과 w를 순서대로 입력)이다. 이 명령은 이전에 찾았던 것을 그대로 붙여넣어 준다.


 예를들어 naver라는 단어를 찾기를 수행한 후에 google로 바꾸는 다음의 경우를 생각해 보자.
  • /naver를 입력하고 naver를 찾는다.
  • 찾아 보니 google이 들어갈 자리에 naver가 들어가 있는 것은 보고 바꿔야 한다고 생각한다.
  • :%s/naver/google/g 로 naver를 google로 변경한다.
여기서 관심 사항은 마지막 부분이다. naver를 두번이나 입력을 하고 있다. naver 정도의 짧은 단어는 문제가 되지 않겠지만, teamManagement와 같은 긴 단어인 경우에는 오타가 발생할 가능성도 있다. 또 복잡한 정규식을 입력하는 경우라면 더욱 그러할 것이다. 이때 우리는 두번째 입력하는 naver 대신에 Ctrl + r,w를 입력하면 된다. 즉
:%s/Ctrl +r,w/google/g 로 입력하면 된다는 말이다.
2008/07/04 06:27 2008/07/04 06:27
Sangkle 이 작성.

사용자 삽입 이미지
VIM에서 찾기 및 치환 기능은 보통의 편집기들 보다 그 기능이 막강하다.

찾기

찾기는 보통 모드(Normal Mode)에서 사선 기호(/), 또는 물음표(?) 뒤에 찾는 말 또는 정규식을 쓰면 검색이 된다. 사선 기호(/)는 순방향으로(아래로), 물음표(?)는 역방향으로(위로) 찾는다. 예를 들어, love라는 단어를 검색하는 경우에는 다음과 같다.
/love
하이라이트(HighLight, 강조 또는 돋보이기?)기능이 켜져 있으면 찾는 단어는 하이라이트된다. 그리고 다음 찾는 단어로의 이동은 보통모드에서 n 또는 N을 사용하면 된다.

바꾸기

바꾸기는 실행 모드(Excute Mode)에서 s/찾을 말/바꿀 말 를 사용한다.
대체로 다음과 명령을 사용한다.
:1,$s/old/new/g
위 명령은 파일 전체에서 old를 new로 바꾸라는 명령이다. 하나하나 살펴보자
  • : 는 실행모드로 바꾸는 것이다.
  • 1,$ 는 1행에서 마지막행까지는 의미한다. 이를 줄여 %로 쓰기도 한다. 지정하지 않는 경우에는 커서가 위치한 현재 행만 수행한다.
  • s 는 바꾸다(substitute)라는 뜻의다.
  • /old 바꿀 말이다. 여기서는 'old'라는 단어이다.
  • /new 바뀔 말이다. 여기서는 'new'라는 단어이다.
  • /g 바꾸기의 다른 부가 기능을 나타낸다. g는 globally를 뜻하며 검색된 부분을 전부 바꾸라는 뜻이다. 이외에 바꿀지 여부를 물어보는 c가 있다.
2008/07/04 06:15 2008/07/04 06:15
Sangkle 이 작성.