Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimの:terminalを試したいのでソースからbuildした(windows)

$
0
0

:terminal

何かと話題のvimの:terminal。
ここ一月くらいでvimのmasterへどんどんpushされていっています。

きっと今vimの:terminalに特に興味があるのは、
windows環境でvimを使っている人ではないでしょうか。

私も職場がwindows環境で、日頃はKaoriyaさんのバイナリにお世話になっています。
というわけで、執筆時点で最新のリポジトリからbuildして:terminalを使ってみました。

きっと、:terminalをいち早く試してみたいという方は沢山おられると思いますので、
簡単に手順をまとめておきました。

environment

  • windows10 64bit
  • msys2 20161025
  • vim 8.0.0862

step

まず、今回実施した手順は以下の通り。

  1. msys2のインストール
  2. MinGwのインストール
  3. vimのソースコードのcloneとterminalオプションのenable
  4. build
  5. packageの作成

1. msys2のインストール

これはofficialからインストーラが公開されているので、インストーラからインストールして下さい。

msys2 official

特に今回注意した点はありません。
インストール後にpacman -Suを実施して必要なpackageをインストールしておけばOK。
インストール後に立ち上がるプロセスでは警告が出たりしますが、もう一度起動してやればできます。

2. MinGWのインストール

次にmsys2のシェルからMingGWをインストールします。

pacman -S mingw-w64-x86_64-toolchain
※ 32bit環境の場合はx86_64i686にします。

どれをインストールするかを聞かれますが、確認が面倒なので私はdefault:Allのまま全てインストールしました。

3. vimのソースコードのcloneとterminalオプションのenable

ソースの用意

buildに向けてソースコードの用意をします。
githubのvim/vimからgit cloneするか、
ダウンロードするなりしてローカルにリポジトリの内容一式を持ってきます。

terminalオプションのenable

そのままbuildしてもterminalオプションがdisableでbuildされてしまうので、
まずはmakefileの以下のように書き換えて下さい(実行時オプションでTERMINAL=yesでも構わないかもしれませんが)。

Make_cyg_ming.mak
CHANNEL=$(GUI)
endif
# Set to yes to enable terminal support.
-TERMINAL=no+TERMINAL=yes


# Link against the shared version of libstdc++ by default.  Set

他にもユーザの要求に従った様々なoptionがありますが、とりあえず:terminalを試す分にはこれで十分だと思います。

4. build

それではいよいよ用意したソースコードをbuildします。
buildはvim/srcディレクトリで行って下さい。

$ cd path/to/vim/src

$mingw32-make -f Make_ming.mak GUI=yes ARCH=x86-64 clean
$mingw32-make -f Make_ming.mak GUI=yes ARCH=x86-64

※ これも32bit環境の場合はx86-64i686にします。
※ CUI版も必要な場合は別途GUI=noにてbuildします。

これでエラーなくbuildされると、カレントにgvim.exe(vim.exe)が作成されます。
あとは次のstepで必要なファイルとpackagingすれば使えるようになります。

5. packageの作成

最後に、依存ライブラリや必要なファイルと一緒にpackageにします。
結果的に以下のような構成となりました。
iconv関連の依存ライブラリは:terminalとは直接関係ありません。

2017/08/05  17:17    <DIR>          .
2017/08/05  17:17    <DIR>          ..
2017/08/05  13:57         3,151,872 gvim.exe # buildしてできた実行体
2017/08/05  15:46                44 gvimrc   # gui向けの設定ファイル
2017/03/06  14:30         1,056,753 libiconv-2.dll      # 以下3ファイルはmsys2のbinから(iconvオプション向け)
2017/02/21  17:26           133,779 libintl-8.dll       
2017/07/13  16:35            57,379 libwinpthread-1.dll 
2017/08/05  13:45    <DIR>          vim80 # ここへはvim/runtimeの内容を全てコピーする
2017/08/05  15:46               101 vimrc # gui/gui共通の設定ファイル        
2017/06/01  11:08           901,632 winpty-agent.exe  # 以下4ファイルはGit/usr/binから     
2017/06/01  11:08           791,040 winpty-debugserver.exe
2017/06/01  11:08           830,976 winpty.dll
2017/06/01  11:08           749,056 winpty.exe

それぞれコメントに従って必要なファイルを持ってきてもらえればよいです。
winpty関連のファイルは不要なものもあるかもしれません。dllとexeは必須でした。
そもそもGitから持ってきたけどそれで良かったかも不明。(知識不足)

vimが端末になったぞ!!

というわけで:terminalが使えるようになりました。
実用はKaoriya-vimへの依存が強い今はまだ無理かなーという感じですが、
早くいろんなシチュエーションで使ってみたいですね!!

20170805_vim_term.png

reference

vimのbuildについて以下のページを参考にさせて頂きました。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>