스크래치 버퍼 / 미리보기 창을 닫는 쉬운 방법이 있습니까?


65

내가 설치 한 플러그인 중 하나 (아마도 Supertab)는 완료 메뉴에서 현재 강조 표시된 항목에 대한 문서를 잘 보여줍니다.

여기에 이미지 설명을 입력하십시오

완료를 종료 한 후에도 ( Enter또는 을 눌러) (겉보기에) 스크래치 버퍼가 열려 Space있습니다. 그런 다음 끝내려면, <c-w>↑:q그러나 나는 Ctrl매우 성가신 것을 눌러야합니다 (분할을 피하는 한 가지 이유).

이 스크래치 버퍼를 닫는 빠른 방법은 무엇입니까? 기본 방법이 있습니까, 아니면 매핑을 작성해야합니까?


2
할 수있는 뭔가 Ctrl덜 짜증나는 매핑됩니다 Caps LockCtrl또는 유지하려는 경우이를 교환 Caps Lock가능합니다.
비트 트리

파이썬 코드에 어떤 플러그인을 사용합니까? 예를 들어 jedi-vim옵션이 있습니다 g:jedi#auto_close_doc.
Alex Kroll

솔직히 @AlexKroll, 나는 모른다. Supertab 일 수 있습니다. 이 내가 설치 한 플러그인은 다음과 같습니다 github.com/murukeshm/vimrc/tree/master/bundle . 제다이가 설치되어 있지 않습니다.
muru

2
@muru g:SuperTabClosePreviewOnPopupClose (default 0)당신이 원하는 것 같습니다:he supertab-closepreviewonpopupclose
Alex Kroll

@AlexKroll 그래, 그 트릭을했다, 감사합니다!
muru

답변:


66

상단 창을 미리보기 창이라고합니다. 그래서 어떤의 <c-w>z, <c-w><c-z>또는 :pc[lose][!]작동합니다.

아래는 다음에 대한 도움말입니다. :help :pclose

CTRL-W z CTRL-W_z
CTRL-W CTRL-Z CTRL-W_CTRL-Z
: pc : pclose
: pc [lose] [!] 현재 열려있는 "미리보기"창을 닫습니다. '숨겨진'
                옵션이 설정되었거나 버퍼가 변경되고 [!]가
                사용 된 경우 버퍼가 숨겨집니다 (다른 버퍼가없는 한)
                창 편집). "미리보기"버퍼가 있으면 명령이 실패합니다.
                닫을 수 없습니다. : close도 참조하십시오.

다른 관련 도움말 페이지는 :help preview-window


9
:pc! 나는 "미리보기"라는 이름이 특별하다는 것을 몰랐다.
muru

29

필자의 경우 미리보기 창이 플러그인에 의해 열렸습니다. 그래서 플러그인 구성을 사용하여 이러한 창을 자동으로 닫았습니다.

수퍼 탭

Alex Kroll이 제안한대로 :

let g:SuperTabClosePreviewOnPopupClose = 1

너는 나를 완성시켜

let g:ycm_autoclose_preview_window_after_insertion = 1
let g:ycm_autoclose_preview_window_after_completion = 1

두 번째 변수가 설정되면 첫 번째 변수는 영향을 미치지 않습니다. 문서에서 :

The *g:ycm_autoclose_preview_window_after_completion* option

When this option is set to '1', YCM will auto-close the 'preview' window after
the user accepts the offered completion string. If there is no 'preview' window
triggered because there is no 'preview' string in 'completeopt', this option is
irrelevant. See the |g:ycm_add_preview_to_completeopt| option for more details.

Default: '0'
>
  let g:ycm_autoclose_preview_window_after_completion = 0
<
-------------------------------------------------------------------------------
The *g:ycm_autoclose_preview_window_after_insertion* option

When this option is set to '1', YCM will auto-close the 'preview' window after
the user leaves insert mode. This option is irrelevant if
|g:ycm_autoclose_preview_window_after_completion| is set or if no 'preview'
window is triggered. See the |g:ycm_add_preview_to_completeopt| option for more
details.

Default: '0'
>
  let g:ycm_autoclose_preview_window_after_insertion = 0

4

다른 경우에도 관련된 또 다른 멋진 옵션 :only은 미리보기를 포함하여 다른 모든 창을 닫는 데 사용 하는 것입니다.

:on[ly][!]
:{count}on[ly][!]
CTRL-W o                        *CTRL-W_o* *E445*
CTRL-W CTRL-O                   *CTRL-W_CTRL-O* *:on* *:only*
    Make the current window the only one on the screen. All other
    windows are closed. For {count} see |:quit|.

3

미리보기 창을 자동으로 닫고 여러 완성 플러그인과 함께 작동하는 또 다른 옵션은 deoplete의 저자에 의해 제안되었습니다 .

autocmd InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif

단점은 스크래치 창에 초점을 맞출 수 없으므로 스크롤이 없다는 것입니다. 그러나 빠른 검색을 위해 가장 편리합니다.


0

제다이

YCM과 함께 사용하지 않는 경우

let g:jedi#auto_close_doc = 0  " close preview window after completion

0

이 플러그인을 사용할 수 있습니다 : bufutils.vim

스크래치 버퍼, 위치 목록, 오류 목록 등을 닫습니다.

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