目次
- 目次
- はじめに
- F5で現在編集中のコードを実行する
- シンタックスハイライト用プラグイン: julia-vim
- 静的解析ツール用プラグイン: julia.vim
- 参考資料
- MyEnigma Supporters
はじめに
これまで、様々な言語における
おすすめVim設定とVImプラグインを紹介してきましたが、
最近、Juliaという比較的新しい言語を勉強しているため、
JuliaのコードをVimで書くためのおすすめ設定と、
プラグインを紹介したいと思います。
自分のすべての言語に共通したVimの設定ファイルは
下記のリポジトリで公開しています。
F5で現在編集中のコードを実行する
下記のような設定をvimrc内で実施することにより、
F5を押した時に、そのコードの言語に応じて
コードを実行できるようにしています。
"<F5> でコード実行 function! Exe() echo "Exe" let filename = expand('%:t') if stridx(filename, ".py") != -1 !python % elseif stridx(filename, ".jl") != -1 !julia % elseif stridx(filename, ".cpp") != -1 !./build_run.sh else echo "unknown filetype"+filename endif endfunction command! Exe :call Exe() nmap <F5> :Exe
シンタックスハイライト用プラグイン: julia-vim
デフォルトでは、juliaのコードは
シンタックスハイライトされないので、
下記のプラグインをインストールし、
juliaのコードをシンタックスハイライトするようにしました。
このプラグインはシンタックスハイライト以外にも、
LaTeX記法で記述された変数を、
unicodeに変換する機能があります。
(例: alpha -> α)
よりプログラムを数式チックに記述することができます。
静的解析ツール用プラグイン: julia.vim
Pythonコードなどを書く時は、
flask8を使って自動的にコードの静的解析をしているのですが、
juliaのvimプラグインでは、そのようなものはまだないようなので、
自作しました。
使い方等は、上記のgif動画や、
リンクのREADMEを見てもらえればわかると思いますが、
juliaのコードを書いている時に、
:JuliaLint
とコマンドを入力すると非同期で静的解析が走り、
その結果がvimのquickfixに表示されるので、
静的解析でエラーやワーニングが報告された場合は、
quickfix上で該当のメッセージをクリックすると、
該当のコードに自動的にジャンブします。
JuliaのコードのLintツールとしては、
こちらのJulia製のJulia用Lintツールを使い、
Juliaのツールなので、コンパイルの時間がかなりかかるので、
vimの+jobを使って、非同期に静的解析を実行できるようにしました。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。