ฉันกำลังทำงานกับการแยก (ใช้ ^ 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>