ポジローぽけっと

昨日より今日、今日より明日を信じて、トライトライ

Bash On Windowsでnvimのclipboardを使いたかったら

Bash On Windowsでnvimのclipboardが使えない。これが悩みだった。

原因

Xがないため、xselが動作しないかららしい。

調査

解決法見っけ!

https://github.com/neovim/neovim/wiki/FAQ#how-to-use-the-windows-clipboard-from-wsl

でも、WSL(Windows Subsystem for Linux)のapt-getでinstallできるnvimがv0.1.7(2017/05/19時点)のため、リンク作っても動作しなかった。。。

対策

「v0.2.0を待つ」 OR 「nvimのv0.2.0をsourceからbuildする」

待ちきれないのでbuildします

Building Neovim · neovim/neovim Wiki · GitHub

makeは、gperfでこけるけど、むいむい進める。※開発してる人たちはこの辺どうしてますか?

  1. makeinfo: not found
    ->texinfoをいれる。
  2. gperf.texi:1131: @itemx must follow @item
    @itemx -> @itemに変更
  3. Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at ./texi2html line 1564.
    該当行をコメントアウト、if(defined(@hogehoge))->強制的にelseへ
sub update_sec_num {
    local($name, $level) = @_;

    $level--; # here we start at 0
    if ($name =~ /^appendix/) {
    # appendix style
    #if (defined(@appendix_sec_num)) {
    #    &incr_sec_num($level, @appendix_sec_num);
    #} else {
        @appendix_sec_num = ('A', 0, 0, 0);
    #}
    return(join('.', @appendix_sec_num[0..$level]));
    } else {
    # normal style
    #if (defined(@normal_sec_num)) {
    #    &incr_sec_num($level, @normal_sec_num);
    #} else {
        @normal_sec_num = (1, 0, 0, 0);
    #}
    return(join('.', @normal_sec_num[0..$level]));
    }
}

あとはwin32yank.exeのリンクがあることを確認して、

:CheckHealth

を実行したらsuccess!
リンク元のwin32yank.exeを入れるためだけに、Neovim-Qt GUIを入れる必要があるのはご愛嬌?

参考

"+yy fails with "clipboard: provider is not available" with xsel/xclip installed · Issue #2704 · neovim/neovim · GitHub