vi 문자열 찾기
vi, vim에서 문자열을 검색하기 위해서는 일반모드(vi를 실행한 상태, 입력모드나 명령행 모드라면 ESC로 빠져나온 상태)에서 "/"를 입력하고 찾을 문자열을 입력한다.
색상표시가 가능한 터미널에서는 찾는 문자열을 표시해준다.
단어를 찾은 다음
n으로 다음 단어, N으로 이전 단어로 이동할 수 있다.
/로 여러 개의 단어를 검색했다면
/입력 후 j, k로 이전 검색 문자열들을 불러올 수 있다.
커서 위치에 있는 단어 찾기
/ 문자열로 찾지 않고 화면에 찾는 단어가 있다면 *표를 누르면 화면 맨 아래쪽 명령줄에 해당 단어가
정규표현식으로 나타나고 그 단어와 같은 단어에 모두 색상으로 표시된다.
이렇게 찾은 단어도 n, N으로 앞, 뒤에 있는 문자열로 옮겨갈 수 있다.
하이라이트된 표시 없애기
vi, vim이 찾은 단어를 색으로 표시해주는건 좋은데, 키보드로 위치를 옮겨도 없어지지 않는다.
하이라이트 표시를 없애려면 명령모드에서 :nohl이라고 입력하면 하이라이트 부분이 없어지는데 이것보다는 다시 /를 입력하고 검색어로 /lakjdlfkajld같은 엉뚱한 문자열을 찾아서 하이라이트 없애는게 더 효율적(?)이다.
vi 문자열 치환
vi, vim에서 문자열을 교체하는 명령어 구조는 다음과 같다.
=========================================
: 문자열 바꿀 시작 행, 끝 행 s/ 찾을 패턴 / 바꿀 문자열 / 옵션
===========================================
하나씩 설명해보자
1) 문자열 바꾸기를 시작할 행, 끝 행
1,10 - 첫줄부터 10번째 행 안에서 바꾸기
1,$ - 첫줄부터 문서 끝($)까지 바꾸기
.,20 - 현재 행부터 20번째 행 안에서 바꾸기
% - 문서 전체(%)에서 바꾸기
2) s/
s는 구분자를 지정하는 역할을 한다.
구분자는 일반적으로 슬래쉬를 사용하지만 ,(쉼표)나 @같은 다른 기호를 사용하는 것도 가능하다.
만약 바꿔야할 문자열에 /(슬래쉬)가 포함된다면 \/처럼 슬래쉬 앞에 이스케이프 문자(\)를 넣어 표현하거나 구분자를 /가 아닌 다른 문자로 적어야 한다.
3) 찾을 패턴
찾을 패턴은 단순한 문자열이 아닌 정규표현식이 가능하다.
4) 바꿀 문자열
바꿔넣을 문자열을 지정해준다.
5) 옵션
g - 범위 내에 해당 문자열 바꾸기한다
i - 대소문자 무시
c - 문자열 바꾸기 전 "확인" 과정을 거친다
옵션에 c를 사용했을 때 나타나는 선택은 다음과 같다.
y - yes. 바꾸기
n - no. 안 바꾸기
a - all. 전부 바꾸기
q - quit. 문자열 바꾸기 취소
l - line. 현재 행에서만 작업하고 바꾸기 끝.
^E - 아래로 한 행 보여주기
^Y - 위로 한 행 보여주기
출처: https://ttend.tistory.com/748 [toward the end · · ·]