Ex 및 Vi: 버퍼 및 정규식

Ex 및 Vi: 버퍼 및 정규식

정규식 일치 항목을 버퍼에 넣고 싶지만 더 간단한 예제 y :.put myNewBuffer반환 메시지를 얻을 수 없습니다 [line] [put] [buffer]. 즉, 버퍼에 무언가를 어떻게 넣나요?

따라서 정규 표현식과 ex의 경우

  1. 무슨 뜻이에요 (.,.)~ replaces the previous regular expression with the previous replacement pattern from a substitution? 몇 가지 유용한 예, 소스인용하다.
  2. ex와 함께 정규식을 사용하는 방법에 대한 예를 들어주세요. 예를 들어 h첫 번째 문자로 시작하는 단어와 문자로 끝나는 단어 사이의 영역을 버퍼링하는 방법은 무엇입니까 s?
  3. 줄의 마지막 항목(즉, 끝 단어가 줄 끝 또는 끝 단어인 경우 )은 s어떻게 되나요 $?

답변1

vim 매뉴얼은 아마도 이전 Ex 매뉴얼보다 더 좋고 최신일 것입니다. 대부분의 최신 Linux 배포판에서는 vim과 함께 제공되는 ex를 사용하게 될 것입니다. Vim에서 도움말을 보려면 :help를 사용하고, 특정 명령(예: Ex 명령 ~)에 대한 도움말을 보려면 를 사용하세요 :help :~. Vim에서는 모든 Ex 명령 앞에 다음이 붙습니다: . (.,.)는 단지 2,8에서 지정할 수 있는 범위를 나타내는 데 사용된 것 같습니다. 즉, 파일의 각 줄의 2~8번째 줄 또는 1,$($는 마지막 줄을 의미함)을 의미합니다. Vim에서 입력이란 :1,$~파일의 각 줄에 ~ Ex 명령을 실행하는 것을 의미합니다.

  1. Vim이 말하는 것은 :~"동일한 대체 문자열을 사용하지만 마지막으로 사용한 검색 패턴을 사용하여 마지막 대체를 반복합니다." 대체는 일반적으로 다음과 같이 작성됩니다. :s/pattern/string/ 이는 한 줄에서 패턴을 찾아 문자열로 바꿉니다. :~마지막 바꾸기 명령을 반복하되 가장 최근에 검색된 패턴을 사용합니다.

  2. 다음 패턴을 시도해 보세요./\<h.*s\>

/는 Ex/Vim에서 검색을 시작하는 데 사용됩니다. \<는 단어의 시작 부분과 일치하고, h는 h와 일치하고, .*는 단일 문자와 일치하며, *는 문자를 0회 이상 반복하므로 .*는 일치를 의미합니다. 0개 또는 여러 개의 문자. s는 s와 일치하고, \>는 단어의 끝과 일치합니다.

  1. 이 패턴을 시도해 보세요/words\?$

패턴 일치에 사용될 때 $는 줄의 끝을 나타내고, \?는 이전 문자가 선택 사항임을 나타냅니다. 이는 줄 끝에 있는 하나 이상의 단어와 일치합니다.

관련 정보