ฉันกำลังทำงานกับการแยก (ใช้ ^ w + v, ^ w + s) บัฟเฟอร์ แต่บางครั้งฉันต้องการที่จะขยายแยกปัจจุบันหรือเปลี่ยนความสูงของมัน ฉันจะบรรลุสิ่งนั้นได้อย่างไร
ฉันกำลังทำงานกับการแยก (ใช้ ^ w + v, ^ w + s) บัฟเฟอร์ แต่บางครั้งฉันต้องการที่จะขยายแยกปัจจุบันหรือเปลี่ยนความสูงของมัน ฉันจะบรรลุสิ่งนั้นได้อย่างไร
คำตอบ:
มีคำสั่งหลายหน้าต่างที่ให้คุณทำสิ่งนี้:
20<C-w>+
)30<C-w><
)50<C-w>_
)50<C-w>|
)ดูสิ่งนี้ด้วย: :help CTRL-W
:help CTRL-W
และไม่ได้:help CTRL_W
vimdiff -o bigfile1.bash bigfile2.bash
:: ctrl-w =
เปิดหน้าต่างที่ 3 MiniBufExplorer ที่ด้านบน (และตอนนี้ทั้ง 3 หน้าต่างมีขนาดเท่ากัน), และการปิดหน้าต่างนั้นทำให้หน้าต่าง. bash ของไฟล์. 2 แรกใหญ่กว่าไฟล์. bash ที่ 2 หน้าต่าง. การดำเนินการเดียวกันกับไฟล์ 2. vim ให้ผลลัพธ์เดียวกัน :( เหมือนกันกับvim -o
คุณยังสามารถใช้resize
คำสั่ง:
:resize [+-]N
- ปรับขนาดการแบ่งแนวนอนการเพิ่มหรือลดความสูงด้วยอักขระ N:vertical resize [+-]N
- ปรับขนาดการแบ่งตามแนวตั้งการเพิ่มหรือลดความสูงด้วยอักขระ N:resize N
- ปรับขนาดแบ่งแนวนอนการตั้งค่าความสูงเป็น N อักขระ:vertical resize N
- ปรับขนาดแบ่งแนวตั้งการตั้งค่าความกว้างเป็น N อักขระสิ่งเหล่านี้เทียบเท่ากับCtrlwคำสั่ง :help window-resize
ดู
นี่เป็นหนึ่งในเหตุผลไม่กี่อย่างที่ฉันชอบใช้โหมดเมาส์ของกลุ่ม
หากคุณใช้เวอร์ชัน GUI หรือเทอร์มินัลของคุณรองรับการส่งกิจกรรมลาก (เช่น xterm หรือ rxvt-unicode) คุณสามารถคลิกที่เส้นแบ่งและลากเพื่อปรับขนาดหน้าต่างตามที่คุณต้องการโดยไม่ต้องเดางานมากโดยใช้ ctrl -w บวก, ลบ, น้อยกว่า, ชุดค่าผสมที่มากขึ้น
ในรุ่นเทอร์มินัลคุณต้องตั้งค่าโหมดเมาส์อย่างถูกต้องเพื่อให้สามารถใช้งานได้
:set mouse=n
(ฉันใช้ 'n' แต่ 'a' ยังใช้งานได้)
และคุณต้องตั้งค่าชนิดเมาส์ tty
:set ttymouse=xterm2
หลายคนบอกว่าใช้เวลานานมากเสียเวลากับการใช้เมาส์ (ส่วนใหญ่เนื่องจากเวลาที่ใช้ในการย้ายมือจากแป้นพิมพ์ไปยังเมาส์และกลับ) แต่ฉันพบว่าในกรณีนี้เวลาที่บันทึกโดย มีข้อเสนอแนะทันทีในขณะที่การปรับขนาดหน้าต่างและความรวดเร็วในการปรับขนาดอีกครั้ง (ให้เลื่อนเมาส์แทนการพิมพ์ลำดับคีย์อื่น) เทียบกับความล่าช้าของมือโมจิ
:set mouse=n
นั้นเพียงพอ แต่เพื่อเปิดใช้งานเมื่อ:set ttymouse=xterm2
ต้องการtmux ภายใน
z{nr}<CR>
ดูเหมือนว่าไม่มีใครกล่าวถึง
หากคุณ:h ^w_
แล้วจะเห็นเพียงด้านล่างมันซึ่งมีผลเช่นเดียวกับz{nr}<CR>
CTRL-W_
ถ้าคุณไม่จำเป็นต้องz=สำหรับการตรวจสอบการสะกดและเสริมด้านล่างเพื่อ.vimrc
,
" vertical resize, z0<CR> minimize, z= equalize, z99<CR> maximize.
nnoremap z= <C-w>=
จากนั้นเปลี่ยนความสูงของหน้าต่าง:
z
ค่อนข้างใช้งานง่าย ฉันคิดว่าเราควรจะC-W
แมป เป็นเรื่องดีที่ได้ทราบว่ามีอะไรเกิดขึ้นบ้าง
ปรับขนาดการแยกให้เร็วขึ้น:http://vim.wikia.com/wiki/Resize_splits_more_quickly
คุณสามารถใช้:resize
คำสั่งหรือทางลัด:res
เพื่อเปลี่ยนความสูงของหน้าต่าง หากต้องการเปลี่ยนความสูงเป็น 60 แถวให้ใช้:
:resize 60
คุณสามารถเปลี่ยนความสูงได้ทีละส่วน หากต้องการเปลี่ยนความสูงโดยการเพิ่มทีละ 5 ให้ใช้:
:res +5
:res -5
คุณสามารถใช้: ปรับขนาดแนวตั้งเพื่อเปลี่ยนความกว้างของหน้าต่างปัจจุบัน หากต้องการเปลี่ยนความกว้างเป็น 80 คอลัมน์ให้ใช้:
:vertical resize 80
คุณยังสามารถเปลี่ยนความกว้างได้ทีละส่วน หากต้องการเปลี่ยนความกว้างโดยเพิ่มทีละ 5 ให้ใช้:
:vertical resize +5
:vertical resize -5
Resize splits more quickly
นอกจากว่าคำสั่งเหล่านี้จะเชื่อมโยงกับการโยงคีย์ซึ่งทำจากกล่อง
ด้วยเหตุผลบางอย่าง (น่าปลั๊กอิน) มาตรฐานC-w >
(อื่น ๆ ) ~/.vimrc
ไม่ได้ทำงานในของฉัน
ส่วน.vimrc
เพิ่มเติมเหล่านี้ใช้งานได้ ( Ctrl-Shift-Left
... โดยLeft | Right
= ปุ่มลูกศรซ้ายและขวาตามลำดับ
" noremap <silent> <C-S-Left> :vertical resize +5<CR>
" noremap <silent> <C-S-Right> :vertical resize -5<CR>
noremap <silent> <C-S-Left> :vertical resize +1<CR>
noremap <silent> <C-S-Right> :vertical resize -1<CR>