ฉันจะรับ gvim เพื่อเริ่มขยายใหญ่สุดใน Windows ได้อย่างไร


15

ฉันต้องการให้กองบรรณาธิการของฉันมอบอสังหาริมทรัพย์ให้กับหน้าจอให้ฉันมากที่สุดเท่าที่จะเป็นไปได้เพราะจะเป็นการเพิ่มความสามารถในการดูโค้ดส่วนใหญ่ในครั้งเดียว

ปัญหาคือgvimดูเหมือนว่าจะให้ฉันหน้าต่าง 80x25 หรือจำขนาดไม่ขยายล่าสุดขึ้นอยู่กับวิธีที่ฉันเรียกมัน

ดังนั้นฉันจะบังคับให้มันมีขนาดใหญ่ที่สุดเท่าที่จะทำได้โดยไม่คำนึงถึงสถานะใด ๆ ที่จำได้อย่างไร


ในความเป็นจริงฉันจะแนะนำปลั๊กอินgithub.com/xolox/vim-shellซึ่งทำงานกับ gvim บน win32 และ win64 ทั้งคู่โดยมี <F11> สลับระหว่างโหมดเต็มหน้าจอ / โหมดปกติ
van abel

คำตอบ:


21

คุณสามารถใส่บรรทัดนี้:

autocmd GUIEnter * simalt ~x

ในตอนท้ายของgvimrcไฟล์ของคุณ

วิธีนี้ใช้autocmdคุณสมบัติเพื่อสานความมหัศจรรย์ของมัน คำสั่งautocmd GUIEnter *ระบุคำสั่งให้เรียกใช้หลังจากเริ่ม GUI สำหรับรูปแบบไฟล์*(ไฟล์ใด ๆ ) ได้สำเร็จ

คำสั่งที่จะดำเนินการsimalt ~x(ในรูปแบบของ Windows vimเท่านั้น) จะจำลองการกดแป้นพิมพ์Alt Spacebarxซึ่งเป็นการกดแป้นที่จะขยายหน้าต่างให้ใหญ่ที่สุด

คุณยังสามารถใช้เวอร์ชันย่อ:

au GUIEnter * sim ~x

แต่ฉันชอบคำสั่งที่ขยายอย่างเต็มที่โดยเฉพาะอย่างยิ่งเนื่องจากมันเป็นสิ่งที่คุณตั้งค่าและลืมเพียงป้อนครั้งเดียวเมื่อติดตั้งvimบนระบบ Windows


โปรดทราบว่านี่เป็นการจำลองการกดแป้นพิมพ์เพื่อให้ได้มาซึ่งจุดสิ้นสุด ในเวอร์ชันภาษาอังกฤษมันจะทำงานได้ดีเพราะAlt-SpaceXเป็นวิธีเพิ่มหน้าต่างให้ใหญ่ที่สุด

หากวิธีนี้ไม่ได้ผลสำหรับคุณคุณควรตรวจสอบการกดแป้นในสถานที่ที่คุณใช้งานอยู่ ตัวอย่างเช่นเวอร์ชันภาษาฝรั่งเศสจะใช้Agrandir(ขยาย) พร้อมกับnการกดแป้นควบคุมดังนั้นคำสั่งที่คุณต้องการคือ:

autocmd GUIEnter * simalt ~n

(ซึ่งจริง ๆ แล้วจะลดหน้าต่างของคุณเป็นภาษาอังกฤษ)

หากคุณเป็นตัวแปรอื่น (ที่ไม่ใช่ภาษาอังกฤษไม่ใช่ภาษาฝรั่งเศส) เพียงกดAlt-Spaceที่หน้าต่างเพื่อเปิดเมนูระบบและค้นหาคีย์ที่ควรใช้ (ควรขีดเส้นใต้)


หากต้องการค้นหาgvimrcไฟล์ของคุณเพื่อเพิ่มคำสั่งใด ๆ ที่คุณต้องการคุณสามารถป้อน:

:version
:echo $VIM
:echo $HOME

และคุณควรรับรายการไฟล์เริ่มต้นและตัวแปรเช่น:

system gvimrc file = "$VIM/gvimrc"
  user gvimrc file = "$HOME/_gvimrc"

C:\Program Files (x86)\Vim
C:\Users\Pax\Documents

คร่าว ๆ ของคุณ autocmd *จะหายไป
jamessan

วิธีนี้ใช้งานไม่ได้สำหรับฉัน: แทนที่จะเพิ่มขนาดหน้าต่างให้ใหญ่ที่สุดจะเปิดเมนูป็อปอัพเพื่อให้สามารถเรียกคืนย้ายย่อเล็กสุดเพิ่ม (... ) หน้าต่าง ฉันใช้ Windows 7 SP1 และ gvim 7.4.711 ฉันจะทำให้มันทำงานได้อย่างไร
statox

@statox นั่นคือสิ่งที่คุณจะได้เห็นถ้าคุณxไม่สนใจ ตรวจสอบให้แน่ใจว่าคุณมีเต็มรูปแบบau GUIEnter * sim ~xข้อความ

@paxdiablo ผมไม่แน่ใจว่าจะเข้าใจผมคัดลอกสายเต็ม (ทั้งรุ่นยาวและระยะสั้น) จากการau ~xมีแบคทีเรียช่องว่างที่ฉันหายไปหรืออะไรแบบนั้น?
statox

@statox เมื่อคุณเปิดหน้าต่าง gvim และคลิกเมาส์ปุ่มระบบ (ไอคอน vim บนซ้ายสุดเหนือเมนูไฟล์) คุณเห็นการขยายสูงสุดหรือไม่ เมื่อเมนูระบบนั้นเปิดขึ้นจะเพิ่มขึ้นเมื่อคุณกด x หรือไม่

7

ทางเลือกอื่นสำหรับหน้าต่างที่ขยายใหญ่สุดเหตุใดจึงไม่เพิ่มพื้นที่สำหรับประสบการณ์การแก้ไขแบบหลายหน้าต่างในโหมด autostart FULL SCREEN ;-)

ภาพหน้าจอแบบเต็มหน้าจอของผลลัพธ์สุดท้าย (= ความจุพิกเซลทั้งหมดวิดีโอ): ภาพหน้าจอวิดีโอแบบเต็มหน้าจอ

ในความคิดของฉันดีกว่าหน้าต่างเพิ่มสูงสุด: หน้าจอเต็มสมบูรณ์ (เหมือนที่เคยทำกับ puTTY ด้วย ALT-Enter เมื่อทำการแก้ไขบนเทอร์มินัลยูนิกซ์ระยะไกล ... )

ฉันอธิบายวิธี:

ขั้นตอนที่ 1

ติดตั้งยูทิลิตี้ที่ยอดเยี่ยมที่สวยงามเพื่อให้ใช้งานเต็มหน้าจอใน gvim บน Windows:

https://github.com/derekmcloughlin/gvimfullscreen_win32/tree/master

คุณต้องดาวน์โหลดไฟล์ DLL gvimfullscreen.dllและวางไว้ในไดเรกทอรีเดียวกันโดยที่ gvim.exe คือ ($ VIM / vim74 กับ gVim รีลีส 7.4) ในการดาวน์โหลด DLL (โดยไม่ใช้ git):

https://github.com/derekmcloughlin/gvimfullscreen_win32/raw/master/gvimfullscreen.dll

ขั้นตอนที่ 2

แก้ไขไฟล์. vimrc (ภายใน vim:) :e $HOME/.vimrc, แทรกคำสั่งเหล่านี้เพื่อเริ่มระบบอัตโนมัติเต็มหน้าจอและอนุญาตให้ใช้ฟังก์ชันปุ่ม F11 เพื่อสลับโหมดระหว่าง 3 สถานะ: เต็มหน้าจอ, หน้าต่างขยายใหญ่สุด, หน้าต่างดั้งเดิม / ขนาดเริ่มต้น:

"run the command immediately when starting vim
autocmd VimEnter * call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)

" activate/deactivate full screen with function key <F11>  
map <F11> <Esc>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>

ขั้นตอนที่ 3

แก้ไขไฟล์. gvimrc (ภายใน vim:) การ:split $HOME/.gvimrcแทรกคำสั่งเหล่านี้เพื่อหลีกเลี่ยงแถบเมนูและสิ่งที่ไร้ประโยชน์:

set guioptions-=m  "remove menu bar
set guioptions-=T  "remove toolbar
set guioptions-=r  "remove right-hand scroll bar
set guioptions-=L  "remove left-hand scroll bar

มี gvimwin64fullscreen หรือไม่ หรือเราสามารถรวบรวมมันใช้โครงการบน GitHub?
van abel

ใช่ฉันพบมันที่นี่: github.com/derekmcloughlin/gvimfullscreen_win32/blob/…
van abel

2

จาก:help 'lines':

จำนวนบรรทัดของหน้าต่าง Vim
[... ]
เมื่อ Vim ทำงานใน GUI หรือในหน้าต่างที่ปรับขนาดได้การตั้งค่าตัวเลือกนี้จะทำให้ขนาดของหน้าต่างเปลี่ยนไป
[.. ]
คุณสามารถใช้คำสั่งนี้เพื่อให้ได้หน้าต่างที่สูงที่สุดเท่าที่จะเป็นไปได้:
:set lines=999

columnsตัวเลือกไม่เหมือนกันยกเว้นสำหรับความกว้าง (ในตัว)

ตัวอย่างเช่นคุณสามารถใส่สิ่งนี้ลงในไฟล์ vimrc ของคุณ:

set lines=55
set columns=120

สิ่งนี้ไม่เหมือนกับการขยายให้ใหญ่สุด (แม้ว่าคุณจะใช้999ค่าตามที่อธิบายไว้ข้างต้น) เนื่องจาก "กำลังขยายใหญ่สุด" เป็นธงพิเศษวางอยู่บนหน้าต่างและเปลี่ยนการดำเนินการบางอย่าง (เช่นการเคลื่อนที่) แต่ควรแก้ไขปัญหา ของการมีขนาดหน้าต่าง 80x25 ขนาดเล็กโดยค่าเริ่มต้น


นั่นไม่เลวร้ายเกินไปแม้ว่ามันจะให้234x56หน้าต่างบนระบบของฉันในขณะที่การขยายให้236x57ใหญ่สุด ยังคงเป็นสั้นสองคอลัมน์และแถวหนึ่งที่มีขนาดที่ไม่เกินไปมากของปัญหาโดยเฉพาะอย่างยิ่งสำหรับบางสิ่งบางอย่างที่อาจทำงานในแพลตฟอร์มที่ไม่ใช่ Windows เช่นกัน แต่ผมไม่ได้ทดสอบจริง ฉันจะดูคืนนี้เมื่อฉันกลับถึงบ้านกล่อง Debian ที่รักของฉัน :-)

ด้วย Debian ของฉันหน้าต่างเริ่มต้นคือ 200x50 ตั้งค่าทั้งบรรทัดและคอลัมน์เป็น 999 ในvimตัวของมันเองไฟล์ rc หรือด้วยgvim -c 'set them'ให้ฉัน 236x61 และการขยายให้ 237x61 ยิ่งใกล้เคียงยิ่งกว่าใน Windows ที่น่าสนใจก็คือgvim -geometry 999x999ให้หน้าต่างขยายใหญ่สุดในขนาดที่ใหญ่กว่าเล็กน้อยซึ่งอาจดีกว่าสำหรับผู้ที่ไม่ใช่ Windows สงสารไม่มีสิ่งที่พิมพ์ด้วย simalt สำหรับแพลตฟอร์มที่ไม่ใช่ winin

ถึงกระนั้นมันก็คุ้มค่ากับตัวแทนบางส่วนเพราะมันใกล้พอและพกพาได้ดีกว่าวิธีชนะเท่านั้น โดยวิธีการใช้ 9999x9999 เป็นรูปทรงเรขาคณิตประหลาดvimเพราะมันไม่ชอบหน้าต่างที่มีขนาดมากกว่า 64K พิกเซล (เรขาคณิตเป็นเซลล์อักขระในกรณีนี้มากกว่าพิกเซล) ดูเหมือนว่า 999x999 จะทำงานได้ดี ไม่แน่ใจว่าสิ่งนี้จะเกิดขึ้นในระบบหลายจอภาพได้อย่างไร

ใช่วิธีนี้ไม่สมบูรณ์แบบ แต่อย่างที่คุณพูดถึงมันเป็นแพลตฟอร์มข้ามและมันอาจเร็วกว่า (การเรียกใช้ commandline-tools เมื่อเริ่มต้นอาจทำให้ Windows Vim มีความล่าช้าเล็กน้อยเป็นอย่างนั้น เมื่อฉันใช้มันเมื่อไม่กี่ปีที่ผ่านมา)
Martin Tournoij

การตั้งค่าคอลัมน์ / บรรทัดเพื่อ160 x 42ให้รูปร่างของหน้าต่างใกล้เคียงกับอัตราส่วนทองคำและคุณจะได้รับสุดยอดของ42!
roblogic

0

นอกเหนือจากคำสั่งเฉพาะของ gVim ในคำตอบอื่น ๆ แล้วยังมีฟีเจอร์ Windows สองมาตรฐานเพื่อเรียกใช้แอปพลิเคชั่นใด ๆ

หากคุณกำลังจ้อง gVim จากทางลัดเช่นจากเมนูเริ่มหรือเดสก์ท็อปคุณสามารถเปลี่ยนคุณสมบัติทางลัดเพื่อเริ่ม Vim ให้ใหญ่สุดได้ คลิกขวาที่ทางลัดเลือกคุณสมบัติและเลือกขยายให้ใหญ่ที่สุดจากรายการดรอปดาวน์เรียกใช้ อย่างไรก็ตามสิ่งนี้จะส่งผลกระทบต่อทางลัดนั้นเท่านั้นดังนั้น gVim จะยังคงเปิดในหน้าต่างเล็ก ๆ หากเปิดใช้จากทางลัดอื่นกล่องโต้ตอบเรียกใช้หรือบรรทัดคำสั่ง

หากคุณเริ่มต้น gVim จากบรรทัดคำสั่งหรือไฟล์ชุดคุณสามารถใช้ CMD ของคำสั่ง:start start "" /max "C:\Program Files (x86)\Vim\vim73\gvim.exe"( ""จำเป็นต้องมีหากอ้างถึงเส้นทางไปยัง gvim.exe หากคุณใช้เส้นทางที่ไม่มีเครื่องหมายอัญประกาศโดยไม่มีช่องว่างคุณสามารถละเว้นได้: start /max C:\Progra~2\Vim\vim73\gvim.exe.)


ฉันไม่ได้ว่าstartคำสั่งเริ่มต้นคืออะไร แต่ฉันเขียนทับ PATH ของฉันและตอนนี้ mingsys startอยู่ที่นั่นดังนั้นระวังว่าคุณกำลังใช้คำสั่งที่ถูกต้อง
TankorSmash

ฉันลองทำสิ่งนี้ ("จากทางลัด ... เลือกขยาย") หน้าต่างกระพริบแล้วมีขนาดเท่ากันกับที่มันเพิ่งเริ่มจากเชลล์ cmd ของ DOS เพื่อความเป็นธรรมฉันมีคำสั่งใน. vimrc ของฉันที่กำหนดขนาด (เส้น / คอลัมน์) อย่างชัดเจนดังนั้นฉันจึงสงสัยว่าหลังกำลังเอาชนะความพยายามที่จะขยายให้ใหญ่สุด
รวย p

สิ่งเหล่านี้มีอยู่ในฟังก์ชันของตัวจัดการหน้าต่าง Linux บางตัว ตัวอย่างเช่นฉันต้องการให้หน้าต่าง Vim ของฉันมีความสูงเต็ม แต่จอมอนิเตอร์ของฉันสองจอมีความสูง 1024px ในขณะที่จุดศูนย์กลางตรงกลางเป็น 1080px สูง การตั้งค่า Vim ให้เริ่มขยายใหญ่สุดในแนวตั้งโดยใช้แผงควบคุม "Window Rules" ของ KDE ทำให้มั่นใจได้ว่า gVim จะปรับขนาดให้ตรงกับที่ถูกย้ายจากจอภาพไปยังจอภาพ (นอกจากนี้ยังมีประโยชน์เพิ่มเติมของการเอาชนะการlinesตั้งค่าดังนั้นฉันสามารถปล่อยให้มันgvimrcเป็นทางเลือกสำหรับระบบที่ฉันไม่ได้ตั้งค่าการปรับแต่งดังกล่าว)
23919
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.