![Ex 및 Vi: 버퍼 및 정규식](https://linux55.com/image/42429/Ex%20%EB%B0%8F%20Vi%3A%20%EB%B2%84%ED%8D%BC%20%EB%B0%8F%20%EC%A0%95%EA%B7%9C%EC%8B%9D.png)
정규식 일치 항목을 버퍼에 넣고 싶지만 더 간단한 예제 y :.put myNewBuffer
반환 메시지를 얻을 수 없습니다 [line] [put] [buffer]
. 즉, 버퍼에 무언가를 어떻게 넣나요?
따라서 정규 표현식과 ex의 경우
- 무슨 뜻이에요
(.,.)~ replaces the previous regular expression with the previous replacement pattern from a substitution
? 몇 가지 유용한 예, 소스인용하다. - ex와 함께 정규식을 사용하는 방법에 대한 예를 들어주세요. 예를 들어
h
첫 번째 문자로 시작하는 단어와 문자로 끝나는 단어 사이의 영역을 버퍼링하는 방법은 무엇입니까s
? - 줄의 마지막 항목(즉, 끝 단어가 줄 끝 또는 끝 단어인 경우 )은
s
어떻게 되나요$
?
답변1
vim 매뉴얼은 아마도 이전 Ex 매뉴얼보다 더 좋고 최신일 것입니다. 대부분의 최신 Linux 배포판에서는 vim과 함께 제공되는 ex를 사용하게 될 것입니다. Vim에서 도움말을 보려면 :help를 사용하고, 특정 명령(예: Ex 명령 ~)에 대한 도움말을 보려면 를 사용하세요 :help :~
. Vim에서는 모든 Ex 명령 앞에 다음이 붙습니다: . (.,.)는 단지 2,8에서 지정할 수 있는 범위를 나타내는 데 사용된 것 같습니다. 즉, 파일의 각 줄의 2~8번째 줄 또는 1,$($는 마지막 줄을 의미함)을 의미합니다. Vim에서 입력이란 :1,$~
파일의 각 줄에 ~ Ex 명령을 실행하는 것을 의미합니다.
Vim이 말하는 것은
:~
"동일한 대체 문자열을 사용하지만 마지막으로 사용한 검색 패턴을 사용하여 마지막 대체를 반복합니다." 대체는 일반적으로 다음과 같이 작성됩니다.:s/pattern/string/
이는 한 줄에서 패턴을 찾아 문자열로 바꿉니다.:~
마지막 바꾸기 명령을 반복하되 가장 최근에 검색된 패턴을 사용합니다.다음 패턴을 시도해 보세요.
/\<h.*s\>
/는 Ex/Vim에서 검색을 시작하는 데 사용됩니다. \<는 단어의 시작 부분과 일치하고, h는 h와 일치하고, .*는 단일 문자와 일치하며, *는 문자를 0회 이상 반복하므로 .*는 일치를 의미합니다. 0개 또는 여러 개의 문자. s는 s와 일치하고, \>는 단어의 끝과 일치합니다.
- 이 패턴을 시도해 보세요
/words\?$
패턴 일치에 사용될 때 $는 줄의 끝을 나타내고, \?는 이전 문자가 선택 사항임을 나타냅니다. 이는 줄 끝에 있는 하나 이상의 단어와 일치합니다.