gvim を最大画面で起動する方法について
結論
結論から書きます。
下記の手順で設定できます。
- $VIM/.gvimrcを開く
- 最終行に
autocmd GUIEnter * simalt ~x
と記述する。 - gvimを再起動すると最大画面で起動する。
以上です。
このおまじないで満足いただけたら、これ以降の文章については特に読む必要ありません。
説明
gvimrcに書く理由は、画面最大化がGUIに関する機能だと思ったからです。
autocmdを使う理由は、シンプルにsimalt ~x
とだけ書いた場合に機能しないからです。
機能しない理由は、先のコマンドを直書きするとGUI起動前に実行されるためです。
つまり、GUI起動時以降にこのコマンドを実行する必要があるので、autocmdでタイミングを指定して実行しています。
simaltは、simulation alt key 的な意味のコマンドです。
~
がスペースキーを表し、x
がxキーです。
つまり、simalt ~x
はAltキーを押しながらスペースキーを押しxキーを押す
動作をシミュレーションしています。
この動作は、Windowsアプリ共通の画面最大化ショートカットキーです。
以上の仕組みでこのコマンドが動作しています。
ちなみに、試していませんがsimalt ~r
で画面を元のサイズに戻せるはずです。
この方法の元ネタのスクリプトのように、関数化して最大化と元のサイズを行き来できるショートカットキーを作るのも良いかと思います。
最後に
(P.S. ここでは個人的な方法としていましたが、helpを見たり日本語の情報をググるのが不足していたようです。ここ、つまりhelpに全く同じ内容が載っています。:help
は偉大。)
最大化するためにググって色々試しましたが、どの方法も失敗してしまいました(dllをインポートする方法など)。
なので色々試した結果この方法に収着しました。
元ネタは下記のスクリプトです。作者であるandy fischer氏に感謝します。
https://www.vim.org/scripts/script.php?script_id=932
単純ゆえに機能しないリスクが他の方法より低いと思っています。
それでももし、機能しなかったらコメントで教えていただければと思います。
出来るだけ多くの環境で動くようなvimrcを作っておきたいと思っています。
また、今後はタイトルバーを消す方法も探していこうと思っています。
おそらくgvimの機能では実現できないでしょうけれど。(<- 追記あり)
追記 2022/06/16
下記のAutoHotKeyスクリプトでタイトルバーを消すことにしました。
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#t:: WinSet, Style, ^0xC00000, A
ref. https://superuser.com/questions/1262225/how-to-remove-hide-title-bar-in-windows-10