日々の記録簿

日々のできごとの記録

日記

Nvim-Rの導入方法

投稿日:2016-06-01 更新日:

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のほうが設定ファイルが簡素になるのも利点。

スポンサーリンク

スポンサーリンク

-日記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

php 7.4にしたら、wordpressの自動更新ができなくなっている(php-fpmの設定の問題)

php 7.4 に更新したら、wordpressの自動アップデートが止まるという問題が発生していた。その場しのぎでphpのアップデートを止めていたのだが、そろそろヤバイということで解決策をググってみた …

Rを勉強するためにいろいろ寄り道をしていた

Rをもっと勉強したいなと思って、『R言語徹底解説』を買ってみました。・・・が、ちんぷんかんぷん。クラスとか、オブジェクト指向とか、遅延評価とか、さっぱりわかりません。 これはいかんと思い、ここ2ヶ月ほ …

X1 carbon gen 10でxf86-video-intelをインストールするといろいろおかしくなる 

タイトルで終わっているが、Thinkpad X1 carbon (gen 10)でxf86-video-intelをインストールしてはいけない。Google Chromeが固まる、VLCで動画が再生で …

全国学力・学習状況調査の都道府県別平均正答率csvファイル

ごく稀に必要になることがあるのですが、どこにあったっけ・・・と探すのがめんどくさいので、アップロードしてしまうことにしました。 全国学力・学習状況調査の都道府県別平均正答率csvファイルです。ただし、 …

surveyで相関係数を計算する

survey packageに相関係数を算出するコマンドがなかったのでメモ。こちらのサイトが参考になった。 library(survey) data(api) dstrat <- svydesi …