컴퓨터 세상/LiNuX

VI 문서 편집기 - 마지막 행 모드에서 검색 및 바꾸기

Jimin Daddy 2022. 1. 4. 12:12

** 문서 편집기 (vi)

- 마지막 행 모드에서 검색
  특정 문자열을 검색하거나 검색한 문자열을 다른 문자열로 바꾸는 명령은 마지막 행 모드에서 제공 (마지막 행 모드는 ":"이 아닌 "/"나 "?" 입력함으로 사용 가능)
  "/"는 커서의 위치에서 아래 방향으로 검색하고, "?"는 커서의 위치에서 위 방향으로 검색.
  "/"나 "?" 다음에 찾고자 하는 문자열을 입력하고 Enter를 누르면 검색이 진행되고, 해당 문자열을 찾으면 그 문자열의 시작 위치로 커서가 이동.
  계속해서 다음 문자를 찾으려면 "n" 명령을 사용.
  따라서 명령어를 요약하면 아래와 같다.
  /문자열 : 문자열의 아래 방향으로 검색
  ?문자열 : 문자열의 위 방향으로 검색
  n : 원래 찾던 방향으로 다음 문자열을 검색
  N : 역방향으로 다음 문자열을 검색.

- 마지막 행 모드에서 바꾸기
  기존 문자열을 다른 문자열로 바꾸려면 먼저 ":"를 입력하여 마지막 행 모드로 전환.
  문자열을 바꾸는 명령은 커서 위치의 문자열만 바꿀 수도 있고, 파일 전체나 특정 범위 내에서 해당하는 문자열을 모두 찾아 바꿀 수도 있다.
  :s/문자열1/문자열2 -> 커서가 위치한 행에서 첫 번째로 나오는 문자열1을 문자열2로 바꾼다.
  :%s/문자열1/문자열2/g -> 파일 전체에서 모든 문자열1을 문자열2로 바꾼다.
  :<범위>s/문자열1/문자열2 -> 범위 내 모든 각 행에서 첫 번째로 나오는 문자열1을 찾아 문자열2로 바꾼다.
  :<범위>s/문자열1/문자열2/g -> 범위 내 모든 행에서 문자열1을 문자열2로 바꾼다.  
  :<범위>s/문자열1/문자열2/gc -> 범위 내 모든 행에서 문자열1을 문자열2로 바꿀 때 수정할지 여부를 묻는다.