무슨 뜻인지 vim commnad ": v"or ": g!" 범위에 단어가있을 때

all4register

Vim 매뉴얼에 따르면

:[range]v[global]/{pattern}/[cmd] Execute the Ex command [cmd] (default ":p") on thelines within [range] where {pattern} does NOT match."

그러나 ": v / {pattern1} /, / {pattern2} / [cmd]"와 같은 명령을 사용하면 결과가 내가 원하는 것이 아니고 이유를 이해할 수 없습니다.

exapler에게는 텍스트 파일이 있습니다.

1
2
3
4
5

": g / 2 /, / 4 / d"명령을 실행하면 "2"에서 "4"까지의 줄이 삭제됩니다. 괜찮아.

하지만 ": v / 2 /, / 4 / d"명령을 실행하면 내가 아는 것처럼 작동하지 않습니다.

"2"에서 "4"까지 세 줄을 유지하고 다른 줄은 삭제해야한다고 생각합니다.

또는 ": v / 2 /, / 4 / d"명령이 ": g / [^ 2] /, / [^ 4] / d"처럼 작동 할 수 있다고 생각하지만 그렇지 않습니다.

그렇다면 ": v / {pattern1} /, / {pattern2} / [cmd]"명령에 대한 정확한 의미는 무엇입니까?

켄트

명령은해야 할 일을합니다. 명령을 제대로 이해하지 못한 것 같습니다. 나는 그것을 설명하려고 노력한다.

첫째, :g하나. 다음 :g/p1/,/p2/d과 같이 명령을 읽어야합니다.

:g/p1/   "for each line match p1
,/p2/d   "till line match p2, delete.

여기에서는 줄 일치 p1에서 ( ,쉼표) 줄 일치 까지 범위를 사용했습니다 p2. 귀하의 1-5예에서 vim은 첫 번째 일치하는 줄 #2을 찾은 다음 2,/4/d, 그래서 2-4 줄이 제거되었습니다. :g완료되지 않은 경우 나머지 줄을 찾습니다. 5줄, 일치하지 않음 /2/, 다음 줄, 죄송합니다. EOF를 쳤으므로 :g작업을 완료했습니다.

에서 예제를 1 to 20만들면 msg 오류가 표시됩니다 Pattern not found. 이는 :gcan find /2/이지만 범위 끝을 /4/더 이상 찾을 수없고 마지막 d명령 으로 제거 되었기 때문에 발생합니다 . 혼자서 테스트를하면 내가 의미하는 바를 알 수있을 것입니다.

경우 :g분명하다, :v이해하기 쉽다.:v/2/,/4/d

vim search first line이 일치하지 않습니다 /2/. 첫 번째 줄이 1되고 do 1,/4/d, 즉 1-4 번째 줄 이 삭제됩니다. :v명령이 아직 완료되지 않은 경우 5라인 번호가 1 인 라인으로 이동합니다. 이제 라인 번호 1 /2/과도 일치하지 않으므로 vim을 사용하고 a 1,/4/d를 수행하지만 /4/버퍼에 라인 일치 가 없으므로 pattern not found오류 메시지가 표시됩니다. 표시됩니다. 그리고 :v명령은 그 일을 끝냈습니다.

:g/{pattern}/cmd이 아니라는 점을 명심해야합니다 :g{range}cmd. 패턴범위 는 다릅니다. A는 않습니다 :h range세부 사항을 볼 수

그것이 당신이 결과를 얻은 이유입니다. 분명하기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

vim 무슨 일을하는지 % s / () () / () / g

분류에서Dev

./은 무슨 뜻인가요?

분류에서Dev

./은 무슨 뜻인가요?

분류에서Dev

! $은 무슨 뜻인가요?

분류에서Dev

`? :`은 무슨 뜻인가요?

분류에서Dev

은 무슨 뜻인가요?

분류에서Dev

무슨 일이 Gradle을에 '에서 적용'의 뜻인가?

분류에서Dev

내 코드에 다음과 같은 오류가 나타납니다. 무슨 뜻인지 모르겠습니다.

분류에서Dev

서비스 : 폭풍에 매력 URL이나 분기가 지정되어 있지 않습니다은 무슨 뜻인가요?

분류에서Dev

GitHub에서 커밋을 볼 때 #-> #이 추가 된 파일이 나열됩니다 (그림 참조). 무슨 뜻인가요?

분류에서Dev

h is not defined은 무슨 뜻인가요?

분류에서Dev

self.transforms는 무슨 뜻인가요?

분류에서Dev

man [-acdfFhkKtwW]은 무슨 뜻인가요?

분류에서Dev

kill -3은 무슨 뜻인가요?

분류에서Dev

// = require은 무슨 뜻인가요?

분류에서Dev

&은 무슨 뜻인가요? 씨

분류에서Dev

프로세스에 소유자가있을 수 있습니까? 무슨 뜻인가요?

분류에서Dev

클라이언트 컴퓨터에 .git 폴더가 있지만 git이 설치되지 않았습니다. 무슨 뜻인가요?

분류에서Dev

git에서 6 바이트의 파일 권한. 무슨 뜻인가요?

분류에서Dev

C #의 select 문에 대해 SQL commnad가 작동하지 않음

분류에서Dev

"라인은 소나 큐브 테스트에 의해 충분한 커버리지를 가져야합니다"는 무슨 뜻입니까?

분류에서Dev

lsblk 열 "RAND"일명 "무작위 추가"-무슨 뜻입니까?

분류에서Dev

많은 디렉토리에는 ".d"접미사 / 확장자가 있습니다. 무슨 뜻인가요?

분류에서Dev

많은 디렉토리에는 ".d"접미사 / 확장자가 있습니다. 무슨 뜻인가요?

분류에서Dev

키보드 단축키는 @as []입니다. 무슨 뜻인가요?

분류에서Dev

키보드 단축키는 @as []입니다. 무슨 뜻인가요?

분류에서Dev

목록보기 채우기에 대한 Android 가이드의 ListAdapter. 무슨 뜻인가요?

분류에서Dev

하위 쿼리가 SQL 쿼리에서 둘 이상의 값을 반환했습니다. 그게 무슨 뜻인가요?, 무엇이 잘못 되었나요?

분류에서Dev

`template <class> friend class Foo`는 무슨 뜻인가요?

Related 관련 기사

  1. 1

    vim 무슨 일을하는지 % s / () () / () / g

  2. 2

    ./은 무슨 뜻인가요?

  3. 3

    ./은 무슨 뜻인가요?

  4. 4

    ! $은 무슨 뜻인가요?

  5. 5

    `? :`은 무슨 뜻인가요?

  6. 6

    은 무슨 뜻인가요?

  7. 7

    무슨 일이 Gradle을에 '에서 적용'의 뜻인가?

  8. 8

    내 코드에 다음과 같은 오류가 나타납니다. 무슨 뜻인지 모르겠습니다.

  9. 9

    서비스 : 폭풍에 매력 URL이나 분기가 지정되어 있지 않습니다은 무슨 뜻인가요?

  10. 10

    GitHub에서 커밋을 볼 때 #-> #이 추가 된 파일이 나열됩니다 (그림 참조). 무슨 뜻인가요?

  11. 11

    h is not defined은 무슨 뜻인가요?

  12. 12

    self.transforms는 무슨 뜻인가요?

  13. 13

    man [-acdfFhkKtwW]은 무슨 뜻인가요?

  14. 14

    kill -3은 무슨 뜻인가요?

  15. 15

    // = require은 무슨 뜻인가요?

  16. 16

    &은 무슨 뜻인가요? 씨

  17. 17

    프로세스에 소유자가있을 수 있습니까? 무슨 뜻인가요?

  18. 18

    클라이언트 컴퓨터에 .git 폴더가 있지만 git이 설치되지 않았습니다. 무슨 뜻인가요?

  19. 19

    git에서 6 바이트의 파일 권한. 무슨 뜻인가요?

  20. 20

    C #의 select 문에 대해 SQL commnad가 작동하지 않음

  21. 21

    "라인은 소나 큐브 테스트에 의해 충분한 커버리지를 가져야합니다"는 무슨 뜻입니까?

  22. 22

    lsblk 열 "RAND"일명 "무작위 추가"-무슨 뜻입니까?

  23. 23

    많은 디렉토리에는 ".d"접미사 / 확장자가 있습니다. 무슨 뜻인가요?

  24. 24

    많은 디렉토리에는 ".d"접미사 / 확장자가 있습니다. 무슨 뜻인가요?

  25. 25

    키보드 단축키는 @as []입니다. 무슨 뜻인가요?

  26. 26

    키보드 단축키는 @as []입니다. 무슨 뜻인가요?

  27. 27

    목록보기 채우기에 대한 Android 가이드의 ListAdapter. 무슨 뜻인가요?

  28. 28

    하위 쿼리가 SQL 쿼리에서 둘 이상의 값을 반환했습니다. 그게 무슨 뜻인가요?, 무엇이 잘못 되었나요?

  29. 29

    `template <class> friend class Foo`는 무슨 뜻인가요?

뜨겁다태그

보관