NyaoVim を Linux Mint & Win 10 上でインストールに挑戦
NyaoVim 素敵ですね。イノベーティブです。vim の未来を感じさせてくれます。 vim で markdown preview したいんじゃぁ~というモチベーションで挑戦しました。 作者のりんだん様は多分 mac ですが、Linux と Windows でも動かそう挑戦しました。 試行錯誤しているうちに npm の使いかたを少し覚えましたので、忘備録としてポスト。
NyaoVim の機能の幾らかは使えているようですが、markdown preview はリアルタイムレンダリングができませんでした。
インストール
- NeoVim はインストール済みとします。
さて NyaoVim を入れるには node.js と npm が必要になります。 Windows は以下のサイトから LTS 版を入れました。インストーラに従えば、node.js と npm が共に自動で入ります。
次に Linux Mint ですが、ほぼ Ubuntu ですので以下を参照しました。
n
という node.js バージョン管理システムです。名前が短すぎるのがちょっと気になります。
やったのは多分こんな感じ、この方法だと npm が複数あるかもしれないので適宜バージョンとリンクを確認する。
$ sudo apt install nodejs npm $ sudo npm install -g n $ sudo n lts $ sudo ln -sf /usr/local/bin/node /usr/bin/node $ sudo apt remove nodejs
さあ、npm
の準備が整った。
$ (sudo) npm install -g nyaovim
で入ると良いのですが、2018年1月19日現在、electron の中に必要な flux 3.1.3 が react との依存関係を上手く解決してくれません。
更に、mint というか ubuntu では sudo の影響でファイル管理方針の違いか permission が関連した error が返され electron のインストールも失敗します。 こちらの回避方法は
$ sudo npm install -g --allow-root --unsafe-perm=true electron
react の依存関係の問題は解決していない状態でも起動しました。短い文書を作成しましたが、特に問題が出ませんでした。 plugin を使う場合など詳細に関しては未検証。ここまでは、Linux、Windows ともに確認してあります。 画面は標準設定ですが、ターミナルより圧倒的に見やすいというのが第一印象。 以前、Windows で試したときは白い Window ができて終わってしまったので nvim が立ち上がっているだけで感動しました。
markdown preview
ここから先は主にLinux での検証結果になります。 次に markdown-preview のインストールは特に変則的な事をせず説明に従っていれます。
Markdown ファイルに対して、:StartMarkdownPreview
でスクリーンショットと同じようレンダリングをしてくれると嬉しいのですが、リアルタイムではできませんでした。
:StartMarkdownPreview
でファイルが再読み込みされるようでリアルタイムに拘らなければ充分使えます。
作者さんのプレビューと色が違う感じもしたので、CSS が有効になっていないかもしれません。
結局、 git clone
package の依存関係が気持ち悪かったので、結局、git clone
しました。
node.js は数年前、下の本が出た頃にお遊びで組んだ記憶がありますが、
はじめてのNode.js -サーバーサイドJavaScriptでWebアプリを開発する-
- 作者: 松島浩道
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2013/03/13
- メディア: 単行本
- クリック: 15回
- この商品を含むブログ (5件) を見る
先の n
も知りませんでしたが、浦島太郎気分で探索します。
package の依存関係
カレントフォルダに package.json がある場合、node_module ディレクトリを作成しインストールするようなのでお試し。
$ npm install
先の flux の問題は手動で
$ npm install react@^16.0.0
とか適当にやってみてエラーが返らないが解決したのだろうか?
npm run
面白かったのが、package.json の中に "scripts" という項目の中で Makefileのようなことができること。 りんだん様は幾つかの項目を設定していたので一通り試させていただいた。 特に以下の方法で一通り module がそろってしまう。
npm run dep
また debug モードもこちらから入ることもできた
npm run debug
このデバッグモードは NyaoVim と Chrom Debug mode が別々のWindow で立ち上がり面白い。
恐らく、この時に気が付いたと思うのだが、StartMarkdownPreview
を行うと関数がないとエラーメッセージが返ってくる。
ちょっと名前は失念したのだが(手元にメモがない)、リアルタイムレンダリングに関する名前だった。
vim script の関数のような名前だったので、nyaovim-markdown-preview の方で確認したところ該当しそうなものを見つけることはできなかった。
まとめ
オチはありません。 多分、完全にはインストールできていないと思われます。 他人のソースを読むのは大変ですが色々勉強でき、自分の知らない世界を探検出来て刺激的です。