Bagaimana cara memulai gVim dimaksimalkan?


38

Bagaimana cara membuat gVim memaksimalkan jendela secara otomatis ketika saya membukanya? Dan solusi lintas-plataform, saya mencoba menggunakan konfigurasi yang sama di mesin Linux dan Windows ...

Saya sudah mencoba retas :set lines=999 columns=999, hampir berhasil, tetapi jendela tidak dimaksimalkan, hanya diubah ukurannya dan saya kehilangan beberapa baris / kolom.


3
Itu cara paling portabel yang saya tahu. Bisakah Anda menguraikan "tetapi jendela tidak dimaksimalkan, hanya diubah ukurannya dan saya kehilangan beberapa baris / kolom". Maksimalisasi adalah afaik, mengubah ukuran hingga tepian. Dan saya pikir saya tidak pernah kehilangan satu baris pun dalam hal itu.
Benteng

@Idigas: benar, maksimisasi hanyalah "mengubah ukuran hingga memenuhi ruang yang tersedia (tidak mencakup bilah alat, dll)", dalam hal wm-speak :)
akira

Mengatur peretasan di atas tidak mengubah ukuran hingga tepinya. Saya mulai berpikir pendekatan yang lebih baik akan menambahkan if di vimrc saya: jika itu windows, panggil konfigurasi, kalau tidak, panggil konfigurasi lain.
Seseorang masih menggunakan Anda MS-DOS

Jawaban:


30

Dari Vim wiki :

au GUIEnter * simalt ~x

Itu akan bekerja pada Windows; Saya tidak yakin kombinasi tombol apa yang Anda perlukan di Gnome / KDE.


Ini tidak berhasil untuk saya di Windows 7 Ultimate.
Matt Alexander

2
Ini juga tergantung pada bahasa OS sedihnya. Untuk versi Windows Perancis, itu menjadi au GUIEnter * simalt ~n.
ereOn

Apakah ada cara untuk melakukan yang sebaliknya, untuk tidak memaksimalkan? Sepertinya :simalt ~xhanya bekerja satu arah di Windows7x64 ENG.
TankorSmash

1
~xberasal dari pintasan keyboard untuk opsi menu. Periksa pintasan untuk opsi keinginan dan coba. Mungkin itu Restore?
Grzegorz Gierlik

@ GrzegorzGierlik Terima kasih, Anda benar. Saya tidak menyadari bahwa itu simaltberarti 'mensimulasikan alt penekanan tombol'. Terima kasih.
TankorSmash

10

Cara terbaik jika Anda khawatir tentang kompatibilitas lintas platform adalah set lines=999 columns=999. Saya telah menemukannya di Wiki Vim , dan meskipun itu tidak sempurna, ini adalah solusi terbaik jika Anda perlu bekerja pada sistem operasi yang berbeda.


Bisakah Anda menggabungkan ini dengan au GUIEnter * simalt ~ x ??
snitzr

Ya, membuat kondisi di vimrc Anda untuk mengetahui apakah itu windows atau Linux. Karena saya terutama menggunakan Linux, saya akan menambahkan konfigurasi ini nanti.
Seseorang masih menggunakan Anda MS-DOS

Pendekatan ini tidak berfungsi untuk saya di bawah GNOME 3. Ketika jendela sudah tidak dimaksimalkan, ini akan memperlambat Vim untuk sementara waktu (tidak terjadi ketika saya memaksimalkan menggunakan manajer jendela), dan itu akan meninggalkan sedikit keunggulan di atas jendela terbuka, karena tinggi layar saya bukan kelipatan sempurna dari ketinggian garis. Ketika jendela secara vertikal (tapi tidak horizontal) dimaksimalkan dengan menyeret jendela ke kiri atau kanan layar, ini tidak akan berpengaruh.
Andres Riofrio

@AndresRiofrio Untuk situasi ini (beberapa lingkungan desktop di Linux), saya serius berpikir untuk menggunakan devilspie . Itu solusi pihak ketiga, saya tahu, tetapi mungkin berhasil. Saya sudah menggunakannya di beberapa aplikasi lain yang saya ingin dimaksimalkan terbuka.
Seseorang masih menggunakan Anda MS-DOS

Ini juga menyebabkan jendela menjadi besar jika Anda memaksimalkannya.
Kevin Cox

6

Trik dengan:

au GUIEnter * simalt ~x

tergantung pada bahasa Windows.

Untuk versi bahasa Polandia saya berfungsi:

au GUIEnter * simalt ~ s

Dari mana sdatangnya Mak_s_ymalizuj.

Jadi, jika ~xtidak berfungsi tekan ALT+SPACEuntuk membuka menu Window dan periksa pintasan untuk opsi menu Window Ma_x_imize .


1
Dan ~ n untuk bahasa Prancis ("Agra & ndir")
Sébastien RoccaSerra

1
Dan ~ m untuk bahasa Norwegia
Bjarte Brandt

4

Anda dapat menggunakan maximize.dll plugin untuk fullscreen veiw di Vim (jika Anda menggunakan Windows). Cukup salin maxim.dll.dll ke dalam vimdirectory/pluginfolder.



3

Di GNU / Linux

Pada GNU / Linux, cara termudah adalah untuk memohon gvimdengan -geometrypilihan. Sebagai contoh:

gvim -geometry 1336x744

Ini tidak berguna jika Anda ingin menggunakan kembali perintah mulai yang sama pada mesin yang berbeda.

Inilah yang saya gunakan sekarang di beberapa mesin tanpa masalah. Tambahkan saja suatu tempat yang tinggi di Internet Anda .vimrc.

if has("gui_running")
  " GUI is running or is about to start.
  " Maximize gvim window (for an alternative on Windows, see simalt below).
  set lines=999 columns=999
else
  " This is console Vim.
  if exists("+lines")
    set lines=50
  endif
  if exists("+columns")
    set columns=100
  endif
endif

Sumber: http://vim.wikia.com/wiki/Maximize_or_set_initial_window_size


Untuk linux, ini mungkin pilihan terbaik. di .zshrc do alias v = "gvim -geometry 1366x768" dan Anda siap untuk selamanya.
Tanel Tammik

@TanelTammik Lihat lagi jawaban saya. Saya telah mengeditnya secara substansial untuk menunjukkan solusi yang lebih baik yang saya gunakan sekarang. Terima kasih telah memberikan suara.
Serge Stroobandt

2

UPDATE: untuk pengguna linux, saya telah menemukan solusi yang jauh lebih baik yang benar-benar memaksimalkan jendela: https://stackoverflow.com/questions/12448179/how-to-maximize-vims-windows-on-startup-with-vimrc

Satu-satunya ketergantungan adalah wmctrl, tetapi layak diinstal.

Jadi, untuk windows saya menggunakan maximize.dll plugin (sebagaimana telah disebutkan oleh @fatihturan), dan untuk linux saya gunakan wmctrl. Besar!

(tapi saya benar-benar tidak mengerti mengapa pada tahun 2014 gvim tidak memiliki fitur ini di luar kotak)


Jawaban lama:


Bagi saya, hack biasa :set lines=999 columns=999berfungsi buruk di Linux Mint MATE saya dengan dua monitor. Saya biasanya gvim dibuka pada monitor sekunder, tidak ada taskbar, jadi, Vim harus menempati seluruh layar. Tetapi jika saya melakukannya :set lines=999 columns=999, gvim menyusutkan nilai-nilai ini ke ukuran monitor utama , oleh karena itu, ada area kecil di bawah jendela gvim yang tidak digunakan. Lebih baik jika saya menetapkan jumlah baris / kolom nyata: cukup maksimalkan jendela Anda "dengan tangan" dan ketik :set lines?dan :set columns?, untuk mendapatkan nilai yang dibutuhkan. Karena saya menggunakan dua monitor, saya juga perlu menentukan posisi jendela, jadi, ketik :winposuntuk mendapatkan posisi jendela saat ini.

Dan sekunder, lebih baik tidak hanya menempatkan pengaturan ini ke .vimrc, tetapi mengeksekusi mereka ketika gui dimuat.

Jadi, resep terakhir:

1) memaksimalkan gvim Anda dengan tangan dan ketik tiga perintah untuk mendapatkan nilai yang sebenarnya: :winpos, :set lines?dan :set columns?.

2) tambahkan ini ke .vimrc:

function Maximize()

   " put your actual values below
   winpos 0 0
   set lines=78
   set columns=237

endfunction

autocmd GUIEnter * call Maximize()

Menarik. Mungkin Anda dapat secara dinamis mendapatkan nilai garis dan kolom dalam vimscript, jadi konfigurasi ini akan berfungsi di semua perangkat.
Seseorang masih menggunakan Anda MS-DOS

1

Ubuntu (16.04)

Lebih baik membiarkan manajer jendela melakukan tugas ini, setidaknya di Ubuntu , itu akan menjadi layar penuh gvimalih-alih memaksimalkan jendela, memberi Anda lebih banyak ruang. Tentu saja solusi ini bergantung pada platform dan bukan cross-platform, tetapi ini adalah pilihan yang jauh lebih baik untuk Ubuntu . Anda bahkan dapat mengatur gvimuntuk membuka pada viewport tertentu .

Compiz Config Settings Manager -> Tempat Windows -> Penempatan Jendela Tetap -> Windows dengan mode penempatan tetap -> baru

 Windows class=Gvim
 Mode    Maximize

Jika Anda tidak memiliki Compiz Config Settings Manager:

sudo apt install compizconfig-settings-manager

1

Jika Anda ingin vim mencapai layar penuh di Windows secara menyeluruh (seperti pada gambar), plugin gvimfullscreen_win32sangat disarankan.

Plugin ini memungkinkan akses lebih mudah ke mode layar penuh dan lingkungan bebas gangguan. Anda juga dapat menambah :set go=untuk mendapatkan lebih banyak ruang. Berikut ini adalah tangkapan layar (Gvim7.4 di Windows 8.1):

masukkan deskripsi gambar di sini


0

Saya percaya Anda dapat melakukan ini $HOME/.vimrcuntuk mencapai apa yang Anda inginkan:

if has("gui_running")
     set fuoptions=maxvert,maxhorz
     au GUIEnter * set fullscreen
 endif

Anda dapat mengonfirmasi di mana layar penuh diterapkan seperti:

:verbose set nofullscreen?
 fullscreen
       Last set from ~/.vim_runtime/my_configs.vim

Sepertinya ini hanya berfungsi untuk MacVim.
Michael Yoo
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.