vi 문자열 치환 & 검색
문자열 치환
문서를 쓰다보면 변수명이든 함수명이든 바꾸고 싶은 경우가 생긴다. 이럴 때 이 명령어를 안다면 정말 유용할 것이다. 문자열을 치환하는 방법을 설명하겠다.
vi 편집 모드에서 아래 명령어를 친다.
:<첫째줄>,<마지막줄>s/<기존바꿀문자>/<새로바꿀문자>/<옵션>
옵션은 크게 세종류로 나누어진다.
1. g (global의 약자) : 한 줄에 패턴이 여러번 나올 경우 사용하면 좋다. 이 옵션을 넣지 않으면 각 줄마다 처음 매칭되는 패턴 하나만 치환하게 된다.
2. i (ignore case의 약자) : 대소문자를 구분하지 않게 하는 옵션이다. 바꾸고 싶은 값의 대소문자를 정확히 구분하지 않고 바꿀 때 유용하다.
3. c (confirm의 약자) : 검색된 모든 패턴에 대해 확인하는 옵션이다.
<사용 예>
:1,5s/asdf/qwer/gc : 1번줄부터 5번줄까지에 있는 asdf를 qwer로 바꾸어라. 바꾸기 전에 확인은 한다.
:%s/asdf/qwer/gc : 문서 전체에서 asdf를 qwer로 바꾸어라. 바꾸기 전에 확인은 한다.
:%s/AdsF/qwer/ic : 문서 전체에서 대소문자 구분 않고 asdf를 qwer로 바꾸어라. 바꾸기 전에 확인은 한다.
문자열 검색
vi로 편집을 할 때 특정 단어나 문자를 찾고 싶을 때가 있다. 간단하게 검색 방법에 대해 설명해보겠다.
다음과 같은 명령어로 문자열을 검색한다.
/<찾을 문자열>
찾고 나서 다음 단어로 넘어갈 경우엔 <n>키를 누르면 다음 단어로 넘어가게 된다. 반대로 위로 찾은 문자열을 가고 싶다면 <Shift> + <n> 를 누르면 된다.
<사용 예>
/asdf : 문서 전체에서 asdf를 검색한다. 검색된 asdf는 하이라이트로 문자열이 바뀐다.
검색 후 하이라이트 없애기
검색을 하면 하이라이트로 찾은 문자열이 눈 앞에 서성이게 된다. 이 하이라이트를 지우는 명령어이다.
:noh : 하이라이트를 없애는 명령어이다.
커서 이동
문서의 맨 처음으로 가기 위해서 열심히 페이지업 키를 누르고 있는가? 간단한 명령어로 처음으로 이동할 수 있다.
gg : 맨 처음 첫줄로 커서가 이동하게 된다.
다른 방법으로 커서를 이동시켜볼 수 있다.
:<숫자> : 보고 싶은 라인 숫자를 왼쪽 표현식에 넣는다면 그 줄로 넘어가게 된다.