Bir çizik arabellek / önizleme penceresini kapatmanın kolay bir yolu var mı?


65

Yüklemiş olduğum eklentilerden biri (muhtemelen Supertab), tamamlama menüsünde o anda vurgulanan öğe için belgelerin güzel bir görüntüsünü sunar:

görüntü tanımını buraya girin

(Görünüşe göre) çizik tamponu tamamlamadan çıktıktan sonra bile açık kalıyor ( Enterveya tuşuna basarak Space). Sonra, bırakmak için yaparım <c-w>↑:q, ama Ctrlson derece sinir bozucu baskı yapmak zorunda olduğumu biliyorum (bölünmelerden kaçınmamın bir nedeni).

Bu çizik arabelleğini kapatmanın hızlı bir yolu nedir? Yerel bir yol var mı, yoksa bir harita yazmalı mıyım?


2
Daha Ctrlaz sinir bozucu olabilecek bir şey, eğer saklanmak istiyorsanız, onları tekrar gözden Caps Lockgeçirmek Ctrlya da değiştirmek Caps Lock.
8bittree

Python kodu için hangi eklentiyi kullanıyorsunuz? Örneğin bir jedi-vimseçenek var g:jedi#auto_close_doc.
Alex Kroll

@AlexKroll dürüst olmak gerekirse, hiçbir fikrim yok. Bence Supertab olabilir. Bunlar yüklediğim eklentilerdir: github.com/murukeshm/vimrc/tree/master/bundle . Jedi yüklü değil.
muru

2
@muru İstediğiniz g:SuperTabClosePreviewOnPopupClose (default 0)gibi görünüyor:he supertab-closepreviewonpopupclose
Alex Kroll

@AlexKroll Evet, işin püf noktası oldu, teşekkürler!
muru

Yanıtlar:


66

Üst pencereye önizleme penceresi denir. Yani herhangi bir <c-w>z, <c-w><c-z>ya da :pc[lose][!]çalışması gerekir.

Aşağıdakiler için yardım :help :pclose

CTRL-W z CTRL-W_z
CTRL-W CTRL-Z CTRL-W_CTRL-Z
: bilgisayar: bilgisayar
: pc [kaybet] [!] Açık olan herhangi bir "Önizleme" penceresini kapatın. Ne zaman 'gizli'
                seçenek ayarlanırsa veya arabellek değiştirildiğinde ve [!]
                kullanılmışsa, arabellek gizlenir (başka bir tane olmadıkça).
                pencere düzenleme). Herhangi bir "Önizleme" tamponu varsa komut başarısız olur
                kapatılamaz Ayrıca bakınız: kapat.

Başka bir ilgili yardım sayfası :help preview-window


9
İçin yay :pc! "Önizleme" adının özel olduğunu bilmiyordum.
muru

29

Özel durum için, önizleme penceresi eklentiler tarafından açıldı. Bu yüzden, bu pencereleri otomatik olarak kapatmak için eklenti yapılandırmasını kullandım.

Supertab

Alex Kroll tarafından önerildiği gibi:

let g:SuperTabClosePreviewOnPopupClose = 1

Beni tamamlıyorsun

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

İkinci değişken ayarlanmışsa, ilki etkisizdir. Dokümanlardan:

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

Diğer durumlarda da geçerli olan bir başka güzel seçenek :onlyise önizleme dahil diğer tüm pencereleri kapatmak için kullanmaktır :

: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

Önizleme penceresini otomatik olarak kapatan ve birden çok tamamlama eklentisi ile çalışması gereken başka bir seçenek deoplete'in yazarı tarafından bir konuda önerildi :

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

Dezavantajı ise karalama penceresine odaklanamayacağınız, yani kaydırma yapmamak. Ancak hızlı aramalar için en uygunudur.


0

Jedi

YCM ile kullanmıyorsanız

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

0

Bu eklentiyi kullanabilirsiniz: bufutils.vim

Sıfırlama tamponlarını, konum listesini, hata listesini vb. Kapatır ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.