最終的にMSYS2へ。

Windows上でのUNIX系ツールですが、なんだか常に紆余曲折というかフラフラしているので、自分なりの考え方をまとめておこうと思います。ということで自分用メモ。1年後に「あれ?どうしてこっちを選んだんだっけ?」とかならないように。

やりたいことと前提条件。
  1. Windows の CMD.EXE 上で 'ls' や 'grep' したい。
  2. Neovim/Vim をコンソールでも使いたい。
  3. Windows 上で zsh を使いたい。
  4. できれば タイリング型コンソールで作業したい。でもって zsh か Nyagos なんかがその上で動けば素敵。
  5. Neovim/Vim では Denite.nvim なんかも使いたいので Python3 は必須。
  6. Neovim/Vim のプラグイン管理で Dein.vim を使っているので、Git が使えないとまずい。
  7. LaTeX は TeXLive のものを使う。
  8. Python3 は公式のものを使う。
  9. Perl はなんでもいいけど、Neovim/Vim の Dein.vim で使う Git がちゃんと使えること。
Git リポジトリを Python から使う Dulwich (ダルウィッチまたはダリジ)というプロジェクトもあるようで、もしかしたらこれでもいいかもしれません。が、Dein.vim は Git を要求しているようです。

4の項目があるので、「タイリング型ターミナルエミュレータでSHELLを指定できるもの」かつ「256色表示可能であること」の条件で、RLogin を使うことは既定です。そして、OpenSSH for Windows を使えば SHELL を変更することができて、RLogin から Nyagos を呼び出して使うことができることは確認済みです。なので、これまで SSH サービスを動かしていた Cygrunserv は不要になります。

これまで Cygwin64 を使っていましたが、そういうわけで積極的に Cygwin64 を選択する必要はなくなりました。
すると、MSYS2 と Cygwin64 と Git for Windows が横並びになるわけですが、
  • Cygwin64
    • cygwin-1.dll を必ず呼び出す必要がある。
    • C:ドライブを指定する場合に /cygdrive/c などの形式になる。
    • cygdrive の部分は /etc/fstab で変更できる。
    • Dein.vim での動作で Git でのパスの扱いがうまくいかなかった記憶がある。
    • パッケージマネージャは setup
  • MSYS2
    • Windows ネイティブバイナリと msys-2.0.dll を呼び出すバイナリがある。
    • C:ドライブを指定する場合に /c という形で参照できる。
    • パッケージマネージャは pacman
  • Git for Windows
    • MSYS2 と同じだが、同梱の msys-2.0.dll を呼び出すため、MSYS2 とは共存しないほうがよい。
というような感じでしょうか。

なので MSYS2 に切り替えてしばらく様子見です。

0 件のコメント:

コメントを投稿

Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...