日々の記録簿

日々のできごとの記録

日記

nvim-Rの使い方(2018年度版)

投稿日:2018-01-17 更新日:

nvim-Rの使い方(2019年度版)を書きました。2019年現在、nvim-completion-managerは更新されていません。

vimからRを使うNvim-Rですが、まだまだ深化しています。
前回から変更したのは、次の3点。

ncim-Rによる補完

ncm-Rを使えば、Nvim-Rの補完ができる。あまりに便利だったので、deopleteからnvim-completion-managerに乗り換え。python 3が必要なようだが、deopleteが動くなら動くはず。

aleによるチェック

neomakeからaleへ乗り換え。非同期でチェックしてくれるので有り難い。Rも(lintrがインストールされていれば)デフォルトでチェックしてくれる。

初期設定で、ひとまとまりのコードが実行されるようになった

たとえば、次のようなコードがあった場合、これまでは「localleader + l」で、1行ずつRへ送られていた(1行目だけ送った場合は、Rが+表示で待機になる)。

dat <- lapply(jpfile, function(x) {
  read.spss(x, to.data.frame = TRUE, use.value.labels = FALSE)
})

しかし、最近のアップデートで、これが一気に送られるようになった。どちらが使いやすいかは人によると思うが、自分の場合は、一定範囲を選択して、「localleader + l」で順次実行させるという使い方をしていたため、「2行目・3行目が二度送られてエラーが出る」ようになってしまった。この機能をオフにするには、vimrcに下記を追加する必要がある。

let g:R_parenblock = 0

Nvim-Rに関するvimrcは、今のところ以下のような感じ。

" vim-plug
call plug#begin('~/.config/nvim/plugged')
Plug 'roxma/nvim-completion-manager'
Plug 'jalvesaq/Nvim-R'
Plug 'gaalcaras/ncm-R'
Plug 'w0rp/ale'
call plug#end()

" nvim-r
let g:R_assign = 0
let g:R_insert_mode_cmds = 1
let g:r_indent_align_args = 0
let g:R_rconsole_width = 0
let g:R_parenblock = 0

もちろんRstudioの方が便利だとは思うのだが、どうもIDEは性に合わない。vimにハマって抜け出せないので、まだまだNvim-Rにはお世話になると思う。

スポンサーリンク

スポンサーリンク

-日記

執筆者:


comment

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

関連記事

大規模調査の分析でSPSSの「ケースの重み付け」を使う場合の留意点

前回SPSSの「ケースの重み付け」を調べて満足していたのだが、Rのコードを見ていてとんでもないことに気づいた。 weighted.se <- function(x, w, na.rm = FAL …

サイトをSSLに移行してみた!(その2)

SSLに移行したのはいいのですが、いくつか問題発見。修正した記録です。 awstatsのログが出力されない awstatsのログが出力されなくなっている。調べてみると、httpd-ssl.confによ …

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

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

PISA2000から2012までのデータをダウンロードし、csvに変換するPisaDataToCsvを作成した!

タイトルで終わっていますが、pythonの勉強を兼ねて、以前に公開していたスクリプトを修正しました。いろいろ寄り道した分、以前よりはわかりやすいコードになっていると思います。 Python 3が動作す …

iptablesからnftablesに変更した!

タイトルのまんまですが、ファイアウォールをiptablesからnftablesに変更しました。 きっかけは、sshへの不正アクセス。理由はよくわからないのですが、最近、iptablesをすり抜けてss …