문자열 다루기

MySprtlty·2022년 7월 3일
0

vim

목록 보기
10/21
post-thumbnail

🏷️문자열 검색

  • 하나 이상의 문자, 기호, 공백으로 이루어진 문장이나 패턴을 찾는 기능이다.
  • /(슬래시 문자)로 검색하는 기능을 호출한다.
  • /문자열or/패턴으로 검색한다.

📌다음 검색과 이전 검색

  • 다음 명령어로 검색 후 이동할 수 있다.
명령어설명
n다음 검색 결과로 이동한다.
N이전 검색 결과로 이동한다.

📌커서 위치의 단어 검색

  • 명령어는 다음과 같다.
명령어설명
* (asterisk)커서가 위치한 단어를 검색한다.
  • 단어 단위로만 검색이 가능하다.
  • 즉, 앞 뒤로 공백문자나 문장 부호로 분리된 문자열만 검색된다.
  • 다음 명령어로 검색하는 문자열에 하이라이트를 줄 수 있다.
명령어설명
:set hls (hlsearch)하이라이트 서치 기능을 On
:set nohls하이라이트 서치 기능 Off
  • Highlight를 해제하려면 절대로 검색될 수 없는 문자열을 입력하면 된다.
    • 🔍ex) /qwnavoije

🏷️문자열 교체

  • vim을 편리하게 만들어주는 정말 강력한 기능이다.

  • 포맷은 다음과 같다.

    • :범위s{구분자}구 문자열{구분자}신 문자열{구분자}교체옵션

      • 범위

        • 명령행 모드에서 사용되던 범위 지정 형식이 그대로 사용된다.
          • 🔍ex) 1,$or%
      • s (substitution)

        • 교체 명령어다.
      • {구분자}

        • 구분자는 총 3개가 사용되는데, 주로 /(slash)를 사용한다.
        • , (쉼표)같은 다른 문자를 사용해도 상관없다.
        • 문자열에 /가 사용되는 경우 구분자와 구별하기 위해 \(역 슬래시)를 사용하여 escape한다.
      • 구 문자열

        • 교체가 될 문자열을 의미한다.
        • regex으로 패턴을 사용해도 된다.
      • 신 문자열

        • 구 문자열을 대체할 문자열을 의미한다.
        • back-referecne를 사용할 수 있다.
      • 교체옵션

        옵션설명
        g (global)범위 내의 모든 문자열을 교체한다.
        i (ignore case)대소문자를 무시한다.
        c (confirm)문자열을 교체하기 전에 확인한다.
        e (error)교체 과정중 에러를 무시한다.
    • 🔍ex)

      • :1,$s/they/them/g
      • %s/$/<BR>/g
        • 여기서 $는 행 마지막을 뜻한다.
      • :%s/\([a-zA-Z0-9.\-]\+@[a-zA-Z0-9.\-]\+\)/<a href="mailto=\1">\1<\/a>/g
        • 복잡한 regex와 escape sequence 그리고 back-reference가 결합된 형태다.
        • 구분자는 /가 사용되었다.
    • 🖇️cf)

      • ^$는 행의 시작과 끝을 의미하기도 하지만, 가끔은 특정 스트림의 맨 앞과 맨 끝을 의미하기도 한다.
      • vim에서 파일 전체를 가리킬 때 1,$을 사용할 수 있는 것이 이와 같은 맥락이다.

0개의 댓글