Bölünmüş bir pencereyi nasıl büyütebilirim?


110

Vim'de çağırarak :help, bölünmüş pencereli yardım kılavuz sayfasını aldım. Yardım kılavuzu penceresini büyütmek ve diğer pencereyi kapatmak istiyorum.

Bunu nasıl yapabilirim? Bunu yapmak için Vim komutu nedir?

Yanıtlar:


88

İle : Yardım [konu] Eğer çıkarları olduğunu bir konuyu açın.
Ctrl-Wo diğer pencereleri simge durumuna küçültür (yalnızca yardım penceresini açık / ekranı kaplamış olarak bırakır).
(Ctrl-Wo, Ctrl tuşunu basılı tutmak anlamına gelir W'ye ve ardından o'ya basın)


39
veya: sadece işi yapacak.
shibly

14
Düzenleme dosyasından CTRL + W o yaptıktan sonra yardım kılavuzuna nasıl geri dönebilirim?
shibly

3
@guru: C-w, ^, :buf OtherFile.txt, :sbuf Otherfile.txtvb (için yardıma bakın wincmd, switchbufayrıntılar için). İşin garibi, (IMHO) doğru cevabımın henüz verilmemiş olması ...
sehe

2
@ldigas: Bu (şaşırtıcı) bir fikir. Saygın bir kaynaktan alıntı yapmazsanız, bunu kişisel tercihiniz olarak kabul edeceğim, gerçekten. Genelde onları kullanmıyorum, ancak son zamanlarda bunları böyle şeyler için kullandığımı fark ettim (geçici olarak bir yan arabelleği maksimize etmek; tek bir vim oturumunda birden fazla ayrık yan yana farka sahip olmak gibi güçlü şeyler yapmak). Sekmeler aynı zamanda bir kullanılabilirlik mucizesidir gvim --remote. Her zaman kullanıyorum se guioptions=agimçünkü sekmelerin konsol benzeri şekilde oluşturulmasını tercih ediyorum.
sehe

23
bu, diğer pencereleri kapatır ve değişiklikleri yaptığınız ve kaydetmediğiniz bir veya daha fazla pencereniz varsa, bu işe yaramaz - ayrıca bence soru, bu durumda ve daha sonra kısa bir süre çalışmak için pencereyi büyütmekle ilgili. önceki duruma dönün - tüm pencereleri kapattığınızda, oturum dosyanızı kullanmanız veya geri dönmek için diğer tüm pencereleri manuel olarak açmanız
gerekecek

133

Herhangi bir açık pencereyi kendi sekmesine taşımak için Ctrl+WT( bu bir başkenttirT ) kullanabilirsiniz.

Başkaları tarafından belirtildiği gibi Ctrl+W_/ Ctrl+W|mevcut sekme / pencere düzeni içinde maksimize etmek için (diğer çeşitli pencereler için minimum yükseklik / genişlik ayarlarına uyarak).

( Ctrl+W=minimum yükseklik / genişlik ayarlarına uyarak tüm pencereleri eşit boyuta yeniden boyutlandırır)

Düzenleme comment için

  1. vim'i başlat (örneğin gvim /tmp/test.cpp)
  2. yardım çağır :help various-motions- bölünmüş bir pencere açar
  3. yardımı maksimize edilmiş ayrı sekmeye taşıyın: C-wT
  4. ince kılavuzu okumanın tadını çıkarın :)
  5. yardımı orijinal sekmeye geri taşıyın:

    mAZZ<C-w>S`A
    
    • mA: genel işareti A ayarla
    • ZZ: yardım arabelleğini / sekmesini kapat
    • C-wS: orijinal pencereyi böl
    • `A: kaydedilmiş işaret A'ya atla

Normal (yardım dışı) tamponlar için bir işaret kullanmaktan kaçınabilirsiniz. Eğer ilgilenirsen bana haber ver.


4
CTRL + WT ile sekme aldıktan sonra orijinal bölünmüş pencerelere nasıl geri dönebilirim?
42'de

2
@guru: her zaman olduğu gibi sekmeler arasında geçiş yapın ( Ctrl-PgUp, Ctrl-PgDownveya :tabnext, kullanın :tabprev). Sekmesini kullanın yeni (örneğin yardım) kapatmak için ZZ, Ctrl-W, C, :q, :clo, :tabcloseveya başka bir şekilde genellikle yakın pencereler / sekmeler
sehe

1
Hayır, soru bu değildi. Diyelim ki iki sekmeniz var, artık sekme istemiyorsunuz, bu iki arabelleği bölünmüş pencere olarak istiyorsunuz. Bunu yapmak için herhangi bir komut var mı?
shibly

Genel prosedürle soru düzenleme. ( Yorumlarınızın üslubunun oldukça düşmanca gelebileceğini eklemek isterim. Yazılı dilde, "No, that was not the question"bir kınama olarak gelebilir. Eminim kötü bir şekilde kastetmediğinizden eminim )
sehe

@guru: cevap güncellendi. Yardım arabellekleri özel olduğu için (ve :sbufnormalde tercih ettiğim gibi kullanamazsınız) bu beklenenden biraz daha zordu . Umarım bu yardımcı olur
sehe

53

Ctrl+W_(Alt çizgi) kullanarak bir pencereyi maksimum boyutuna genişletebilirsiniz . Genişletilmiş pencerenin son boyutu, winminheightseçeneğin değeri ile sınırlandırılacaktır . Yardım penceresini kapattığınızda, önceki pencereleriniz eski boyutlarına geri yüklenecektir.


19
Ctrl+W o diğer pencereleri kapatır , böylece giderler. Bu yüzden kullanıyorum Ctrl+W _.
Greg Hewgill

2
Orijinal iki bölünmüş pencereyi düzenleme dosyası ve yardım kılavuzu ile nasıl geri alabilirim?
05

3
Ctrl+W =Hepsi kabaca aynı boyutta böylece komut pencerelerini boyutlandırır.
Greg Hewgill 2011

14
Dikey bölmeler için kullanmak isteyeceksiniz Ctrl+W |.
Achal Dave

2
bu ileti dizisinde meydana gelen kayıp ruhlara… bölünmüş görünümlere geri dönmek için ctrl+w = // bu tüm pencereleri aynı boyutta yapar
duggi

19

Bunun için sekmeleri kullanmayı tercih ederim. kullanım

:tabedit %

yeni bir sekmede büyütülmüş bir dosyayı açmak için, işiniz bittiğinde tüm pencereleri kullanarak eski kuruluma dönün

:tabclose

:cwTagbar eklentisi ile birlikte çalıştığı için bunu ideal bir çözüm buluyorum . Alındığı: vim.wikia


13

Büyütmek için 'M' ve küçültmek için 'm' kullanmayı seviyorum.

Aynı arabellekte bulunan diğer tüm açık pencereleri küçülteceği için harika görünmeyecek, ancak sekmelerle uğraşırken daha kullanışlı buldum. Örneğin, o dosya için yeni bir sekme açmak yerine, işiniz bittiğinde veya küçültmek istediğinizde onu kapatmak zorunda kalırsınız.

nnoremap <C-W>M <C-W>\| <C-W>_
nnoremap <C-W>m <C-W>=

Nnoremap'in nedeni, yinelemeli haritalamayı önemsememem, ancak sadece haritanın da çalışması gerekiyor.


1
Eğer kullanırsanız nnoremap <C-W>M <C-W>\|<C-W>_(arkasındaki boşluk olmadan |), o zaman imleç her ekranı kapladığında 1 hareket etmeyecektir.
rsanden

1
Bunu ters eğik çizgi ( nnoremap <C-W>\ <C-W>\|<C-W>_) kullanarak seviyorum . Varsayılan bağları ile doğal hissediyor |, _ve =.
rsanden

6

Kullanarak diğer pencereleri kapatmadan / yeniden boyutlandırmadan tam boyutlu yardım penceresi alabilirsiniz.

tab help {topic}

Bu, yardım penceresini yeni bir sekmede açacaktır, diğer pencereler olduğu gibi bırakılacaktır (gerçekten yeniden boyutlandırılarak sekme satırı gösterilebilir, ancak bu yukarıdaki yalnızca bir ek satırdır). Her zamanki gibi yardım kapatabilirsiniz: En az :bw<CR>ve <C-w>cbenim için işin sıra yeni bir sekme kapatma.




2

Sadece yardım yukarı, sonra da kapat diğer pencereyi almak için, bunu: :helpCTRL-WCTRL-W:close. O zaman sadece yardım alacaksın.


1

.vimrc dosyanızda, sadece yerleştirin

nmap - :res<CR>:vertical res<CR>$

Mevcut pencereyi büyütmek istediğinizde, komut modunda - tuşuna basmanız yeterlidir. Birden çok pencerenin son durumunu geri yüklemek istediğinizde = tuşuna basın


2
Güzel ama = 'son durumu' geri yüklemiyor.
majkinetor

1

Her nasılsa ZoomWin eklentisi benim için hiç çalışmadı, şimdi başka eklentiler olduğunu görüyorum ama bunu zaten yazdım ve bana tam olarak istediğim etkiyi veriyor (aşağıda ayrıntılı olarak küçük bir tuhaflıkla) :

function! ToggleZoom(zoom)
  if exists("t:restore_zoom") && (a:zoom == v:true || t:restore_zoom.win != winnr())
      exec t:restore_zoom.cmd
      unlet t:restore_zoom
  elseif a:zoom
      let t:restore_zoom = { 'win': winnr(), 'cmd': winrestcmd() }
      exec "normal \<C-W>\|\<C-W>_"
  endif
endfunction

augroup restorezoom
    au WinEnter * silent! :call ToggleZoom(v:false)
augroup END
nnoremap <silent> <Leader>+ :call ToggleZoom(v:true)<CR>

Büyütülmüş / önceki düzen arasında geçiş yapmak için eşlenmiş tuşu (benim durumumda Lider ve +) kullanın. Aynı sekmede başka bir bölüme geçerseniz, büyütme kapanır.

Sekmeleri değiştirirseniz, bölme en üst düzeye çıkarılır, ancak bir şekilde artık tüm genişliği kaplamaz, genişlik küçültülmüş pencereler bazı 4 sütunu veya başka bir şeyi geri kazanır. Her neyse, bu küçük tuhaflıkla bile benim için kabul edilebilir şekilde çalışıyor.

düzenleme: bir şekilde şimdi iyi çalışıyor, daha önce bir şekilde berbat etmiş olmalı.

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.