vim이 "more"호출기를 사용하여 컨텐츠를 표시 할 때 어떻게 검색을 수행 할 수 있습니까?


17

변수의 값을보고 싶으므로 명령을 실행하십시오.

:let

Vim은 --more--호출기를 사용하여이 명령의 결과를 표시합니다 .
예를 들어 구를 검색하려면 어떻게 html해야합니까? 검색에 사용되는
더 많은 호출기에 대한 매뉴얼 페이지를 보았지만 +/작동하지 않는 것 같습니다 /.


1
AFAIK, 그것은 Vim 내부 명령입니다- 'more'처럼 보이지만 프로그램은 Vim에 의해 호출되지 않습니다 (증명 : Windows에서도 작동합니다). Vim에 변수를 완성하도록 요청하는 것보다 변수 이름의 시작 부분을 계속 쓸 수 있습니다 (예 :로 Ctrl-d).
VanLaser

덕분에 변수 이름을 입력하거나 실제로는 거의 모든 것이 vim에서 허용되지 않습니다 -- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit. 명령 줄에 프롬프트가 표시됩니다 .
the_velour_fog

1
쓰기 :let 다음 때리지 마세요 Enter,하지만 TabCtrl-d- 당신이 "더"스타일에 표시되는 기존 변수의 목록을해야합니다 - 이제 공격을 Esc몇 글자, 히트 쓰기 Tab또는 Ctrl-d다시를 ... 그래서 당신은 변수 당신을에 찾을 때까지 필요. 실제로 변수의 값을 보려면 echo 대신 사용해야 합니까? (또는 set variable-name?옵션)
VanLaser

1
매우 멋지다 Ctrl-d. 에코와 에코 트릭 모두 훌륭하게 작동했다.
the_velour_fog

답변:


16

이것은 more호출기가 아니며 검색 기능이없는 Vim의 내부 및 최소 호출기입니다.

그러나 다음 :redir명령을 사용할 수 있습니다 .

:redir @a    redirect output of following commands to register a
:let         list every current option and its value
G<CR>        go straight to the end of the listing and make it disappear
:redir END   stop redirection
:tabnew      open a new buffer in a new window in a new tab page
"ap          put from register a

… 그런 다음 일반 Vim 명령을 사용하십시오.


아 정말 멋지다, 그것은 훌륭한 명령이다! 감사합니다
the_velour_fog

7
약간 더 간단합니다 ::redir @b|sil let|redir end
Christian Brabandt

11

Vim 8에는 execute()명령의 출력을 얻을 수 있는 명령이 있습니다. 현재 버퍼로 보려면 다음을 수행하십시오.

:put =execute('let')

Vim 7의 경우 capture.vim 을 사용할 수 있습니다 . @romainl의 답변에서 명령을 감싸고 다음과 같이 사용할 수있는 플러그인입니다

:Capture let

알다시피 감사합니다. 업그레이드 할 때 확인하겠습니다. vim 7에서 steve losh의 clam 플러그인을 사용하여 많은 양의 출력을 새 버퍼로 캡처합니다. 잘 작동합니다
the_velour_fog
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.