Làm cách nào để có được gvim để bắt đầu tối đa hóa trong Windows?


15

Tôi muốn các biên tập viên của tôi cung cấp cho tôi càng nhiều bất động sản màn hình càng tốt vì nó làm tăng khả năng của tôi để xem hầu hết các mã cùng một lúc.

Vấn đề là gvimdường như cung cấp cho tôi một cửa sổ 80x25 hoặc nhớ kích thước không tối đa hóa cuối cùng, tùy thuộc vào cách tôi gọi nó.

Vì vậy, làm thế nào tôi có thể buộc nó phải lớn nhất có thể, bất kể trạng thái nhớ nào?


Trên thực tế, tôi sẽ giới thiệu plugin github.com/xolox/vim-shell , hoạt động cho gvim trên win32 và win64 cả hai, với <F11> Chuyển đổi giữa chế độ Toàn màn hình / chế độ bình thường
van abel

Câu trả lời:


21

Bạn có thể đặt dòng này:

autocmd GUIEnter * simalt ~x

vào cuối gvimrctập tin của bạn .

Phương pháp này sử dụng autocmdtính năng để dệt phép thuật của nó. Lệnh chỉ autocmd GUIEnter *định một lệnh để chạy sau khi khởi động thành công GUI cho mẫu tệp của *(bất kỳ tệp nào).

Lệnh mà nó sẽ thực thi, simalt ~x(chỉ trong các biến thể của Windows vim), sẽ mô phỏng tổ hợp phím Alt Spacebarx, là tổ hợp phím sẽ tối đa hóa cửa sổ.

Bạn cũng có thể sử dụng phiên bản rút gọn:

au GUIEnter * sim ~x

nhưng bản thân tôi thích các lệnh được mở rộng hoàn toàn, đặc biệt là vì đó là thứ bạn đặt và quên, chỉ nhập một lần khi cài đặt vimvào hệ thống Windows.


Hãy nhớ rằng đây là mô phỏng tổ hợp phím để đạt được kết thúc của nó. Trên các phiên bản tiếng Anh, nó sẽ hoạt động tốt vì đó Alt-SpaceXlà cách bạn tối đa hóa một cửa sổ.

Nếu điều đó không phù hợp với bạn, bạn nên điều tra tổ hợp phím trong bất kỳ ngôn ngữ nào bạn đang sử dụng. Ví dụ: phiên bản tiếng Pháp sẽ sử dụng Agrandir(phóng to) với ntổ hợp phím điều khiển, vì vậy lệnh bạn cần có là:

autocmd GUIEnter * simalt ~n

(mà thực sự sẽ thu nhỏ cửa sổ của bạn bằng tiếng Anh).

Nếu bạn là một số biến thể khác (không phải tiếng Anh, không phải tiếng Pháp), chỉ cần nhấn Alt-Spacevào cửa sổ để hiển thị menu hệ thống và tìm ra phím nào nên được sử dụng (cần gạch chân).


Để tìmgvimrc tệp của bạn để thêm bất kỳ lệnh nào bạn cần, bạn có thể nhập:

:version
:echo $VIM
:echo $HOME

và bạn sẽ nhận được một danh sách các tệp khởi động và các biến như:

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

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

Phiên bản rút gọn của autocmd của bạn bị thiếu *.
jamessan

Phương pháp này không hiệu quả với tôi: thay vì tối đa hóa cửa sổ, nó sẽ mở menu bật lên cho phép khôi phục, di chuyển, thu nhỏ, tối đa hóa (...) cửa sổ. Tôi đang sử dụng Windows 7 SP1 và gvim 7.4.711. Làm thế nào tôi có thể làm cho nó hoạt động?
statox

@statox, đó là những gì bạn thấy nếu bạn rời khỏi xcuối. Hãy chắc chắn rằng bạn có toàn văn au GUIEnter * sim ~x.

@paxdiablo Tôi không chắc là đã hiểu tôi đã sao chép toàn bộ dòng (cả phiên bản dài và ngắn) từ ausang ~x. Có một vi khuẩn khoảng trắng tôi đang thiếu hoặc một cái gì đó tương tự?
statox

@statox, khi bạn mở cửa sổ gvim và bạn nhấp chuột vào nút hệ thống (biểu tượng vim ở trên cùng bên trái, phía trên menu tệp), bạn có thấy tối đa hóa không? Khi menu hệ thống đó mở, nó có tối đa hóa khi bạn nhấn x không?

7

Thay thế cho cửa sổ tối đa hóa, tại sao không có thêm không gian cho trải nghiệm chỉnh sửa đa luồng vim đầy đủ với chế độ FULL SCREEN tự động khởi động? ;-)

Ảnh chụp màn hình FULL SCREEN của kết quả cuối cùng (= TẤT CẢ CÁC pixel pixel): video toàn màn hình

Theo ý kiến ​​của tôi, điều đó tốt hơn một cửa sổ tối đa hóa: một màn hình đầy đủ hoàn chỉnh (như tôi đã từng làm với puTTY với ALT-Enter khi chỉnh sửa trên thiết bị đầu cuối unix từ xa ...)

Tôi giải thích làm thế nào để:

Bước 1

Cài đặt tiện ích tuyệt đẹp để cho phép sử dụng toàn màn hình trong gvim trên Windows:

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

Bạn phải tải xuống tệp DLL gvimfullscreen.dll và đặt nó vào cùng thư mục có gvim.exe ($ VIM / vim74 với gVim phát hành 7.4). Để tải xuống DLL (không sử dụng git):

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

Bước 2

Chỉnh sửa tệp .vimrc (bên trong vim :e $HOME/.vimrc:), chèn các lệnh này để tự động khởi động toàn màn hình và cho phép phím chức năng F11 chuyển đổi chế độ giữa 3 trạng thái: toàn màn hình, tối đa hóa cửa sổ, kích thước cửa sổ gốc / mặc định:

"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>

Bước 3

Chỉnh sửa tệp .gvimrc (bên trong vim :split $HOME/.gvimrc:) chèn các lệnh này để tránh thanh menu và những thứ vô dụng:

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

Có một gvimwin64fullscreen? hoặc chúng ta có thể biên dịch nó sử dụng dự án trên github không?
van abel

Vâng, tôi đã tìm thấy nó ở đây: github.com/derekmcloughlin/gvimfullscreen_win32/blob/ Kẻ
van abel

2

Từ :help 'lines':

Số dòng của cửa sổ Vim.
[...]
Khi Vim đang chạy trong GUI hoặc trong cửa sổ có thể thay đổi kích thước, cài đặt tùy chọn này sẽ khiến kích thước cửa sổ bị thay đổi.
[..]
Bạn có thể sử dụng lệnh này để có được cửa sổ cao nhất có thể:
:set lines=999

Các columnstùy chọn không giống nhau, ngoại trừ cho chiều rộng (bằng ký tự).

Vì vậy, bạn có thể, ví dụ, đặt cái này vào tệp vimrc của bạn:

set lines=55
set columns=120

Điều này không giống như được tối đa hóa (ngay cả khi bạn sử dụng 999giá trị như được mô tả ở trên), vì "được tối đa hóa" là một lá cờ đặc biệt được đặt trên cửa sổ và thay đổi một cách tinh tế một số thao tác (như di chuyển), nhưng nó sẽ giải quyết vấn đề của bạn mặc định có kích thước cửa sổ 80x25 nhỏ.


Điều đó không quá tệ, mặc dù nó mang lại một 234x56cửa sổ trên hệ thống của tôi trong khi tối đa hóa cho 236x57. Tuy nhiên, việc ngắn hai cột và một hàng ở kích thước đó không phải là vấn đề quá lớn, đặc biệt là đối với một số thứ có thể hoạt động trong các nền tảng không phải Windows, mặc dù tôi chưa thực sự thử nghiệm nó. Tôi sẽ có một cái nhìn tối nay khi tôi trở về nhà với chiếc hộp Debian yêu quý của mình :-)

Với Debian của tôi, cửa sổ mặc định là 200x50, đặt cả dòng và cột thành 999 trong bất kỳ vimtệp nào, tệp RC hoặc với gvim -c 'set them'tôi là 236x61 và tối đa hóa mang lại cho 237x61, thậm chí còn gần hơn so với Windows. Thật thú vị, gvim -geometry 999x999cung cấp cho tôi một cửa sổ tối đa hóa ở kích thước lớn hơn một chút để có thể tốt hơn cho những người không dùng Windows mặc dù tôi nghi ngờ sẽ khó đảm bảo tất cả các phương thức gọi sử dụng điều đó. Đáng tiếc không có một loại simalt cho nền tảng nonWin.

Tuy nhiên, nó đáng để một số đại diện vì nó đủ gần và dễ mang theo hơn phương pháp chỉ thắng. Nhân tiện, sử dụng 9999x9999 làm hình học kỳ dị vimvì nó không giống như các cửa sổ có kích thước trên 64K pixel (hình học là các ô ký tự trong trường hợp này thay vì pixel). 999x999 dường như hoạt động tốt. Không chắc chắn làm thế nào điều này sẽ đi trong một hệ thống đa màn hình.

Vâng, phương pháp này không hoàn hảo, nhưng như bạn đã đề cập, đó là nền tảng chéo và nó cũng có thể nhanh hơn (chạy các công cụ dòng lệnh khi khởi động có thể gây ra một chút chậm trễ trên Windows Vim, ít nhất, đó là trường hợp khi tôi sử dụng nó một vài năm trước đây).
Martin Tournoij

Đặt các cột / đường để 160 x 42cho hình dạng cửa sổ xấp xỉ tỷ lệ vàng và bạn sẽ có được sự tuyệt vời 42!
roblogic 30/03/2015

0

Ngoài các lệnh dành riêng cho gVim trong các câu trả lời khác, có một số tính năng tiêu chuẩn của Windows để khởi chạy bất kỳ ứng dụng nào được tối đa hóa.

Nếu bạn đang nhìn chằm chằm gVim từ một phím tắt, chẳng hạn như từ Menu Bắt đầu hoặc Máy tính để bàn, bạn có thể thay đổi các thuộc tính phím tắt để bắt đầu tối đa hóa Vim. Bấm chuột phải vào phím tắt, chọn Thuộc tính và chọn Tối đa hóa từ danh sách thả xuống Chạy. Tuy nhiên, điều này sẽ chỉ ảnh hưởng đến phím tắt đó, vì vậy gVim vẫn sẽ mở trong một cửa sổ nhỏ nếu được khởi chạy từ một phím tắt khác, hộp thoại Run hoặc dòng lệnh.

Nếu bạn đang bắt đầu gVim từ dòng lệnh hoặc tệp bó, bạn có thể sử dụng startlệnh của CMD : start "" /max "C:\Program Files (x86)\Vim\vim73\gvim.exe". (Điều ""này là bắt buộc nếu đường dẫn đến gvim.exe được trích dẫn. Nếu bạn sử dụng đường dẫn không trích dẫn mà không có khoảng trắng, bạn có thể bỏ qua nó : start /max C:\Progra~2\Vim\vim73\gvim.exe.)


Tôi không làm thế nào những gì mặc định startlệnh là, nhưng tôi ghi đè lên PATH của tôi và bây giờ mingsys của startlà có, vì vậy hãy cẩn thận bạn đang chạy một trong những quyền
TankorSmash

Tôi đã thử điều này ("từ một phím tắt ... chọn Tối đa hóa"). Cửa sổ lóe lên và sau đó xuất hiện cùng kích thước như nó vừa mới bắt đầu từ vỏ cmd của DOS. Để công bằng, tôi có các lệnh trong .vimrc của mình đặt rõ ràng một kích thước (dòng / cột) để tôi nghi ngờ cái sau đang ghi đè lên nỗ lực tối đa hóa.
p giàu

Loại điều này cũng tồn tại như một chức năng của một số trình quản lý cửa sổ Linux. Ví dụ: tôi thích các cửa sổ Vim của mình có chiều cao đầy đủ, nhưng hai màn hình của tôi cao 1024px, trong khi trung tâm là cao 1080px. Đặt Vim để bắt đầu tối đa hóa theo chiều dọc bằng bảng điều khiển "Quy tắc cửa sổ" của KDE đảm bảo rằng gVim sẽ thay đổi kích thước để phù hợp khi di chuyển từ màn hình sang màn hình. (Nó cũng có lợi ích bổ sung trọng các linesthiết lập, vì vậy tôi có thể rời khỏi đó trong tôi gvimrcnhư một dự phòng cho hệ thống nơi mà tôi không thiết lập một tinh chỉnh như vậy.)
ssokolow
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.