こんばんは、先日次男が去年あたりから、保育参観に来てほしいという予てからの希望を ようやく実現し、夏休み期間中の為、普段の園児の半数程度でしたが、次男と保育園で過ごすことが 出来、次男は満面の笑みでごきげんでした。@kjunichiです。
背景
この記事を読んで、Windowsでもコマンドプロンプトが動くことを知り、自分も手元で試したくなった。
ちなみに、viよりはemacsを使う方が多いくらいで、普段はVS Codeな人です。
Windows版(MSVC)のビルド
日中不自由な環境に居ることが多く、c9.ioのターミナル越しではemacsのデフォルトのキーバインドが ことごとく、別の機能に割り当てられviを使うことが多く、:terminalに対応したこの機会にチャレンジすることにした。
:terminalに必要なモノ
:terminalするにはwinptyなるものが必要。
からwinpty-0.4.3-msvc2015.zipをダウンロードした。
Vimのビルド
まぁ、
に従えば、そんなに難しくない。 自分はREADME読んで、トライアンドエラーで検索しながら、だったからそこそこ時間が掛った。
VS 2014環境下で作業した。
素のcmd.exeを立ち上げて、
vcvarsall.bat amd64 set SDK_INCLUDE_DIR=c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include set PATH=%path%;<<winptyのパス>>
:terminalを使えるようにする
:terminalを有効にするには最低限以下の様な指定をすれば、日本語含め扱える
nmake -f Make_mvc.mak GUI=no IME=yes MBYTE=yes TERMINAL=yes
出来たVim.exeをパスの通ったフォルダなりに置けば、完成。
vim初心者がハマった操作
viはヤバくなったらescキー連打して、:q!でピンチを切り抜ける程度の知識しかないので、 :terminalして死にそうになった。
:terminalでは:が効かない
:terminalで無事WindowsのコマンドプロンプトがVimの中に現れ、dirコマンド等実行できることが分かったが、Vimへの操作が 分からずしばらく途方に暮れた。EmacsだとC-x oで別のバッファに移れた気がするが、ここはVim、全くわかない。Vimのウィンドウ分割系のことを扱った ページを漁り、
Ctrl+w wでウィンドウの移動
どうやら、Ctrl+w後:が効くことが後から分かった。
:q!が効かない
:terminalでシェルが動いているとvimの終了が邪魔される模様 exitなりで、シェルを抜けると:q!出来た。
文字化けに気が付く
:set enc=utf-8
で日本語が表示されるようになった。
関連記事
- Windows 10でMSVCでnghttp2のサンプルを動かす
- Windows 10でFirefoxをソースからビルドして動かしてみた
- WindowsでPostgreSQLをソースからビルドした
- Windowsで64ビットなPythonでPython-Fuが動くgimpをビルドした
- Go言語でコマンドプロンプトに画像を表示するコマンドを作って、Vimの:terminalで表示させた
- WindowsでmrubyからGoで作ったライブラリを呼び出して、Webカメラの画像をコマンドプロンプトに表示した
- WindowsのVimが色付きの絵文字に対応したと聞いてやったがなかなか色がつかなかった件
- 過去8月にブログ記事が無かった日を挙げる