vimからRを使う、vim-r-pluginが、Nvim-Rに変わりました。
Neovimを使う前提ですが、tmuxを使わなくてもいいなど、いろいろ設定が楽になったと思います。
インストール
まず、neovimをインストール。クリップボードを使うのにxselも入れる。
sudo pacman -S neovim xsel
Rでは、colorout, setwidthのpackageを入れておけばOK。vimcomは不要になっている。
.Rprofileに以下を追記。
if(interactive()){ library(colorout) library(setwidth) }
下準備が済んだらNvim-Rの導入。自分は、vim-plugを使っている。init.vimは以下。補完に使うので、deopleteも入れる。
call plug#begin('~/.config/nvim/plugged') Plug 'jalvesaq/Nvim-R' Plug 'Shougo/deoplete.nvim' call plug#end()
なお、deopleteはpythonが要るので、そちらも設定。
sudo pacman -S python-pip sudo pip3 install neovim
あとは初回起動時に、:UpdateRemotePluginsが必要だと言われるので、そのとおりに。
設定
細かい使い方は、helpを見たほうがいい[:h Nvim-R]が、関連する箇所の自分のinit.vimは以下。
let maplocalleader = "," " deoplete " Use deoplete. let g:deoplete#enable_at_startup = 1 " Use smartcase. let g:deoplete#enable_smart_case = 1 " for Nvim-R if !exists('g:deoplete#omni_patterns') let g:deoplete#omni_patterns = {} endif let g:deoplete#omni_patterns.r = '[[:alnum:].\\]\+' " nvim-r let R_vsplit = 1 let R_assign = 0 let R_nvimpager = "horizontal" let R_objbr_place = "console,right" let R_objbr_opendf = 0
これで
nvim example.R
とすれば、vim-r-pluginと同じような環境になる。
基本的な使い方
[,rf]でRが起動し、[,ro]でオブジェクトブラウザが起動する。
Rの終了は[,rq]で、現在の行を実行するのが[,l]となる。Visual Blockで囲んで[,l]すれば、その範囲がRに送られる。
[,rs]でカーソル上のsummaryを見たり、[,rp]でprintしたりできる。
Rのlm関数のhelpが見たければ[:Rhelp lm]、実行中のRを停止するには[:RStop]。
関数やデータフレームの変数名はdeopleteが補完するが、引数の方が補完されないので[Ctrl-X Ctrl-A]で補完する必要がある。
インストールが楽になったし、neovim内で完結するので、操作が楽になった。neovimのほうが設定ファイルが簡素になるのも利点。