วิธีเพิ่มขนาดหน้าต่างการแบ่งแนวตั้งใน Vim


316

:vsplit(รูปแบบย่อ:vs:) แบ่งวิวพอร์ตเป็นแนวตั้ง :30vsแบ่งวิวพอร์ตทำให้หน้าต่างใหม่กว้าง 30 อักขระ เมื่อสร้าง 30 หน้าต่าง char นี้แล้วจะเปลี่ยนขนาดเป็น 31 หรือ 29 ได้อย่างไร

ด้วยหน้าต่างแนวนอนCtrl- W +เพิ่มจำนวนบรรทัดโดยหนึ่ง คำสั่งเทียบเท่าเพื่อเพิ่มคอลัมน์โดยหนึ่งคืออะไร


15
คุณยังสามารถกด Ctrl-W 5+ เพื่อเพิ่มความสูงของหน้าต่างได้ 5 หรือหมายเลขใดก็ได้ กันไปสำหรับ Ctrl-W 5-
AlexMA

1
:h ^wเพื่อดูรายการคำสั่งหน้าต่าง เพื่อดูความช่วยเหลือของคำสั่งปกติ:h ^ww Ctrl-w w
qeatzy

คำตอบ:


450

CTRL-W >

และ

CTRL-W <

เพื่อทำให้หน้าต่างกว้างขึ้นหรือแคบลง


115
หรือ:30winc > และ:30winc <มีความกว้างไม่เกิน 30 อักขระ
เบอนัวต์

85
หรือ30CTRL-W >อยู่ในจิตวิญญาณของคำตอบ
ซาเวียร์ต.

50
:vertical resize 30เพื่อปรับขนาดหน้าต่างปัจจุบันให้มีความกว้าง 30 ตัวอักษร
Peter Rincker

20
ด้วย CTRL-W 30>
dhblah

5
:res <N>การตั้งค่าขนาดหน้าต่างปัจจุบันให้ตรงแถว N (สำหรับความสูงไม่กว้าง)
lukecampbell

249

และCtr-W =

จะทำให้พวกเขาเท่าเทียมกัน


10
:winc =สิ่งนี้จะทำให้พวกเขาเท่าเทียมกัน
nitin_cherian

1
สำหรับการแบ่งแนวนอนใช่ไหม อะไรจะเทียบเท่ากับการแยกแนวตั้ง?
JoséRamón

3
@ JoséRamónคำสั่งนี้ใช้ได้กับทั้งแนวนอนและแนวตั้ง
นาธาน

105

ในกรณีที่คุณต้องการปรับขนาดHORIZONTAL SPLITเช่นกัน:
คำสั่งเหมือนกันสำหรับการแยกทั้งหมดเพียงแค่การเปลี่ยนแปลงพารามิเตอร์ :

- + แทน < >

ตัวอย่าง :
ลดขนาดแนวนอนลง 10 คอลัมน์

:10winc -

เพิ่มขนาดแนวนอน 30 คอลัมน์

:30winc +

หรือภายในโหมดปกติ:

แยกแนวนอน

10 CTRL+w -

30 CTRL+w +

แยกแนวตั้ง

10 CTRL+ w <(ลดลง)

30 CTRL+ w >(เพิ่มขึ้น)


3
+1 เพียงแค่แสดงความคิดเห็นเล็ก ๆ น้อย ๆ : ตาม:he winc ctrl+w [count] {arg}ผลงานเช่นกัน ...
TrueY

45

เคล็ดลับจากด้านข้างของฉันอีก:

ในการตั้งค่าความกว้างของหน้าต่างเป็น 80 คอลัมน์ให้ใช้

80 CTRL+W |

ในการตั้งค่าความกว้างสูงสุดเพียงละเว้นหมายเลขก่อนหน้า:

CTRL+W |

6
ความสูง: พารามิเตอร์คู่นี้คือ "_" (shift + -) สำหรับการปรับความสูง จริง ๆ แล้วมันง่ายมากที่จะจำภาพด้วยตาตั้งแต่ | คือตัวแบ่งแนวตั้งและ _ คือเส้นแบ่งแนวนอนอย่างแท้จริง ตัวอย่าง: 15 CTRL + W _ ตั้งค่าความสูงแยกปัจจุบันเป็น 15 แถว อีกวิธีในการจำ: คุณต้อง SHIFT สำหรับขนาดที่แน่นอนเนื่องจากทั้งสอง และ _ ต้องการกะที่จะกด
freeo

29

ฉันได้แมปเหล่านี้ใน. gvimrc ของฉันเพื่อให้ฉันกด command- [ลูกศร] เพื่อย้ายความสูงและความกว้างของหน้าต่างปัจจุบันของฉันไปรอบ ๆ :

" resize current buffer by +/- 5 
nnoremap <D-left> :vertical resize -5<cr>
nnoremap <D-down> :resize +5<cr>
nnoremap <D-up> :resize -5<cr>
nnoremap <D-right> :vertical resize +5<cr>

สำหรับ MacVim คุณต้องใส่ไว้ใน. gvimrc ของคุณ (ไม่ใช่. vimrc ของคุณ) เนื่องจากจะถูกเขียนทับโดยระบบ. gvimrc


1
ในท้ายที่สุด <cr> หมายความว่าอย่างไร ไม่เคยเห็นแบบนั้นใน nnoremap มาก่อน
เซน

2
มันสั้นสำหรับ "carriage return" โดยพื้นฐานแล้วมันเทียบเท่ากับการที่ผู้ใช้กดปุ่มคืน
Ted Naleid

9

ในบรรทัดเดียวกันฉันใช้สิ่งต่อไปนี้.vimrcเพื่อให้ฉันเลื่อนผ่านทางแยกขยายขนาดที่ฉันกำลังจะขยายให้เต็มขนาดโดยอัตโนมัติและย่อส่วนที่เหลือทั้งหมดให้เหลือความสูงหรือความกว้างต่ำสุด:

" Switch between window splits using big J or K and expand the split to its 
" full size. 
" 
" Move vertically in the window through the horizontal splits... 
map <C-J> <C-w>j<C-w>_ 
map <C-K> <C-w>k<C-w>_ 

" Move horizontally in the window through the vertical splits... 
map <C-H> <C-w>h<C-w>\| 
map <C-L> <C-w>l<C-w>\| 

4

ฉันกำลังใช้ตัวเลขเพื่อปรับขนาดโดยการจับคู่สิ่งต่อไปนี้ใน. vimrc

nmap 7 :res +2<CR> " increase pane by 2 
nmap 8 :res -2<CR> " decrease pane by 2
nmap 9 :vertical res +2<CR> " vertical increase pane by 2
nmap 0 :vertical res -2<CR> " vertical decrease pane by 2

ฉันคิดว่าคุณหมายถึงnmap 9 :vertical res +2<CR>แทนที่จะ-2เป็นvertical increase
Zach

นี่เป็นข้อผูกมัดที่ดีจริงๆ ขอบคุณ!
LeOn - Han Li

3

นี่คือสิ่งที่ฉันใช้ตอนนี้:

nnoremap <silent> <Leader>= :exe "resize " . (winheight(0) * 3/2)<CR>
nnoremap <silent> <Leader>- :exe "resize " . (winheight(0) * 2/3)<CR>
nnoremap <silent> <Leader>0 :exe "vertical resize " . (winwidth(0) * 3/2)<CR>
nnoremap <silent> <Leader>9 :exe "vertical resize " . (winwidth(0) * 2/3)<CR>

1

ฉันใช้คำสั่งด้านล่างนี้:

set lines=50     " For increasing the height to 50 lines (vertical)
set columns=200  " For increasing the width to 200 columns (horizontal)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.