RStudio Desktop on Ubuntuで日本語入力する冴えないやり方
※この記事はRStudio Advent Calendar 19日目の記事です。
この記事を見る、その前に -他の日本語入力アプローチ-
UbuntuでのRStudio Desktopで日本語入力をする正攻法のやり方が紹介されています。RStudio Advent Calendar 17日目の記事です。
RStudioをUbuntuで使うにあたって、日本語入力が長年の悩みのタネでした、かつてはあわしろいくやさんがUbuntu 14.04 LTSで日本語入力するやり方を公開されていたり、
あるいはkazutan先生のように、RStudio ServerをVagrantやDockerから動かすことによって日本語入力に関する悩みを解決してきました。
私自身現時点ではビルドや仮想化という手段を取れる技術もなく途方にくれている中、あるmarkdownファイルを開いた際、日本語がきちんと表示されているので、入力の問題ではないかと踏んだわけです。 そこで、テキストエディタを間に挟むことによって日本語入力を(まがりなりにも)できるのではないかと判断したのです。
RStudioからテキストエディタを開くために
RStudioの画面からエディタを開く方法は「Tools」→「Shell」をクリックするとターミナルが開きます。 Ctrl+Alt+Tのようにターミナルを直接開くのではなく、RStudioから開くと勝手に当該ファイルが格納されているディレクトリを参照してくれるので、cdコマンドでディレクトリを移す作業が不要になります。 この方法でエディタを開いてから
$ エディタ名 RStudioで作業しているファイル
を入力すると、エディタが立ち上がり、RStudioで編集しているファイルの中身が表示されるかと思います。 エディタ側で編集した後、上書き保存をするとRStudioの画面に反映されているかと思います。
<本原稿の執筆段階。多分進捗50%くらいの現状>
このように私はUbuntu 16.04 LTSにプリインストールされているgeditを用いて編集しています。 上記の画像の例で言うと、このような形になります。
gedit saenai-rstudio.md
注意点としては、管理者権限をつけて(上記コマンドの最初にsudoをつけて)開かないようにしましょう。開いたテキストエディタが日本語入力できなくなります。ですので、管理者権限はつけずにエディタを呼び出してください。
番外編:Rmarkdownエディタとしてよりよく活用するために
Rで日本語入力をするときはRで文章を書く時でしょう。コマンド入力の際に全角半角の変換が不便になりますのでRユーザーであれば変数名を日本語で作成することは避けている人が多いかと思います。この手法を用いる際にRmarkdownのシンタックスハイライトがエディタに搭載されていると嬉しいと思う方もいらっしゃると思いますが、私が現在使用しているGeditにはRmarkdownのシンタックスハイライト機能が搭載されていません*1。
ここで、Atomのlanguage-markdownパッケージをインストールすると、Rmarkdownのシンタックスハイライトが表示できるようになります。 メニューバーの「Edit」→「Preference」→「Install」を順にクリックし、「language-markdown」と検索すると出てきますので出てきたら青文字の「Install」をクリックするとインストールできます。
再起動してRmarkdownファイルを開いて作業していますが、シンタックスが色鮮やかに表示されているのがおわかりかと思います。 また、その他の日本語化等のUbuntuでAtomを使用する際のTipsは下記サイトを参照してください。
争いのない世界のために
さて、このやり方のメリットとデメリットを紹介します。
メリット
- お好みのエディタで編集を進めることができる
テキストエディタを色々カスタマイズして使用されている方もいらっしゃるかと思います。また、RStudioのエディタは貧弱だという声も目にすることがまれにあります。「RStudioのエディタ」にとらわれることなく、自由なエディタで、自由に編集することができるというのが強みでしょう。
- 上書き保存をする習慣がつく
多分ここが一番重要で、色々やっている間に保存を忘れて閉じてしまったりフリーズしてしまったがため、 データが飛んでしまったという経験、今までの作業が元の木阿弥になってしまうこの恐怖には背筋が寒くなるものです。 このやり方であれば上書き保存しないとRStudioには編集が反映されないため、否が応でもこまめに上書き保存することになります。転ばぬ先の杖を用意せざるを得ない環境に身を置くことで、未保存のデータの損失を防ぐことができます。
デメリット
- RStudioを開いてからいちいちshell開いてエディタ起動するの面倒くさい。
RStudioを直接編集することができないため、ワンクッションをおいて編集することになります。そこを面倒くさいと思われる方も多いかと思います。
- RStudioのウィンドウを最大化しているとエディタが隠れてしまうことがある。
RStudioのペインが分かれているため、エディタのウィンドウとRStudioのウィンドウが別のため、全画面表示をしていると、例えばRmarkdownを編集中の際に、一旦htmlに出力したいとknitrを起動しようとした場合、RStudioのウィンドウへ移動して起動することになります。するとエディタが画面の背後に隠れるので、それを画面の端から呼び起こしてあげる必要があります。動作が大きくなるということがデメリットですね。