vimでgnuplotを使う環境を整えるのは面倒である。
emacsのgnuplot-modeのようなことをしたい場合は、そちらを使うことを検討したほうがよい。
環境: mac osx el capitan
- 日本語で参考になる記事
vimでgnuplotをコンパイルしてepsを表示 | 身の回り
vimでgnuplotをQuickrunするやつを改良させていただく – くれなゐの雑記
- vimで編集中のソースコードを、コンパイルして結果を分割したウィンドウに表示する、という一連の操作をショートカットキーでできるようにするのがquickrunプラグイン。インストールは、githubのthinca/vim-quickrunでプラグインファイルを拾ってきて、プラグイン用のディレクトリに置けばよい。
- ディレクトリは、runtimepathと呼ばれていて、vimノーマルモードで :set runtimepathと入力すると、表示される。~/.vim/など。
- quickrunの実行は、ノーマルモードで :QuickRunとする。ショートカットは
rとなっている。 というメタキーはデフォルトでは、バックスラッシュ\になっている。ノーマルモードで、:set mapleaderと打ってみて、表示されればそれが である。Undefinedと表示されれば、設定されていないので、デフォルトである。mac日本語キーボードだと、¥キーでは、¥が入力され、option+¥でバックスラッシュが入力される。日本語環境設定で、逆にできる。 を設定するには、let mapleader = “\”などと.vimrcに記述しておく。 - 無名ファイル編集中は、quickrunがfiletypeを認識しないので、:setfiletype pythonなどとする。あるいは、ヘッダをファイルに書いておく。#!/usr/local/bin/env pythonなど。
- gnuplotはデフォルトではquickrunできない。
- gnuplotのfiletypeを認識させる設定と、そのfiletypeのときのquickrunの設定をする。
- 次の内容を書いたファイルを~/.vim/ftdetect/gnuplot.vimに置く。*.pltというファイル名のとき、’gnuplot’ファイルであるとvimが認識する。
au BufRead,BufNewFile *.plt setfiletype gnuplot
- 次の内容を~/.vimrcに追記。gnuplotファイルの時、quickrunすると、編集中ファイルのディレクトリにcdをしてから、gnuplot を実行してくれる。
"quickrun gnuplot
let g:quickrun_config = {}
let g:quickrun_config['gnuplot'] = {
\ 'type' : 'gnuplot',
\ 'command' : 'gnuplot',
\ 'exec' : 'cd %s:h; %c %s',
\}
- gnuplotで、x11へプロットする場合は、次のようにpersistオプションを付けると、ウィンドウが閉じられなくてすむ。しかし、プロットするごとにウィンドウが増えてゆく。emacsのgnuplot-modeみたいに、gnuplotを起動したままでないとダメかも。しかし起動したままだとvimに操作が戻ってこないので、quickrunの非同期実行をするなどしないといけないかも。解決方法は不明。
set term x11 persist
- gnuplotで次のようにすると、epsへ出力したのち、Preview.appで開いてくれるが、Preview.appはepsをpdfへ変換して表示する関係で、epsの内容が更新されても、previewの表示は更新されない。tell activateしても同様。Preview.appの設定では対応できないとの話。
set term postscript enhanced eps
set out "tmp.eps"
rep
set out
!open -g -a Preview.app tmp.eps
- なので、他のepsビューアを使う必要がある。gvを使う。homebrewならば。
$ brew search gv
$ brew install homebrew/x11/gv
- gvはファイルを監視するオプション -watchをつけて起動すればok. 起動したら、vim上でquickrunでepsを作るたびに、epsが更新される。
gv -watch tmp.eps
ピンバック: gnuplot での eps 出力の Tips (2016年版)