vim에서 파일을 편집하는 동안 파일의 단어 수를 계산하는 방법


21

명령 줄에서wc 문자, 단어 및 파일 줄을 계산 하는 데 사용할 수 있다는 것을 알고 있습니다 .

vim에있는 동안 단어 수를 계산할 수있는 방법이 있습니까?

답변:


22

자체 카운터를 vi사용하여 내부의 단어와 줄을 계산할 수 있습니다 vi.

를 누른 g다음 CTRL-를 누르십시오 g. 그런 다음 결론은 다음과 같습니다.

Col 1 of 11; Line 1 of 106; Word 1 of 344; Byte 1 of 2644

또는 vi의 메소드를 사용 하여 쉘 명령을 호출하십시오.

:w !wc -w

save ( :w) 명령을 먼저 호출 한 다음 wc -w출력을 표시합니다. 예:

:w !wc -w
344

Press ENTER or type command to continue

를 눌러 Enter로 돌아갑니다 vi.


실제로 :w !<cmd>구성에 대한 잘못된 설명입니다 . 현재 버퍼를 명령에 연결된 파이프에 씁니다. 파일에 대한 현재 버퍼의 별도 쓰기는 약속되지 않았습니다. 그럼에도 불구하고 그것은 질문이 요구하는 것을 수행합니다.
mcepl

1

:!wc %Vim의 버퍼에있는 파일이 아니라 디스크상의 파일 크기를 계산하지만 Vim 에서도 시도해 볼 수 있습니다 . 이것은 당신이 원하는 것일 수도 아닐 수도 있습니다.


버퍼의 내용이 아닌 디스크의 내용 (있는 경우)을 계산합니다. 따라서 마지막 저장 이후 버퍼의 내용을 변경했거나 전혀 저장하지 않은 경우 잘못된 수를 얻습니다 (또는 파일을 만드는 중입니다).
Stephen Kitt

콘트라 스티븐, 이것은 이다 "어떻게 단어의 수를 셀 수에 대한 정확한 솔루션 파일에 허용 대답은 엄격하게 구사하면서 의미가 있었는지 모호한 비록 VIM에서 파일을 편집하는 동안은"(하지 않거나은 중요한 여부 ).
마이클 호머

-wD_Bye의 2014 년 답변 삭제 와 비슷한 결과 ( 출력을 단어로만 제한 하는 플래그 제외)와 비슷하다는 것은 재밌 습니다.
Jeff Schaller

0

vim-airline 과 같은 플러그인 은 상태 표시 줄의 일부로 파일 (및 선택)에 대한 단어 수를 제공 할 수 있습니다.


이 답변은 링크 전용이 아닙니다. 특정 플러그인은 구식이 될 수 있기 때문에 특정 플러그인의 세부 사항은 포함하지 않았습니다.
Patrick Sanan

나는 정정되었다. 그러나 앞으로는 제시하는 솔루션을 구현하기 위해 관련 단계를 포함해야한다고 말하고 싶습니다. 고맙습니다!
kemotep

0

주어진 텍스트 조각 (전체 파일이 아님)에서 단어 수를 세려면 \S\+regexp를 사용하십시오 .

  1. 관심있는 텍스트를 선택하십시오 (시각적 모드).
  2. :s/\S\+//gn

결과. Vim은 다음과 같이 보여줄 것입니다 :10 matches on 1 line

당신이 공격 할 때 :시각적 모드에서, 정력은 당신의 명령 앞에 추가 '<,'>수단이 선택한 텍스트에 명령을 적용 할를.

\S\+ 공백으로 구분 된 문자 그룹 인 단어를 캡처합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.