【Vim】syntastic + vim-rooter で構文チェック

ファイルを保存したときに自動的にコンパイル・構文チェックをする方法として以前次のような記事を書きました。

【Vim】errormarker.vim + Project::Libs で構文チェック – blog.delphinus.dev
https://blog.delphinus.dev/2012/02/errormarker-and-project-libs.html

その後、vim なら syntastic というプラグインがすごいという話を聞きましたので、いろいろ試してみました。こいつは C, Java, Perl, PHP, Ruby, Python, HTML, Javascript, ……等々、とにかく多数の言語の構文チェックに対応していることが特徴です。

Syntastic – Automatic syntax checking : vim online
http://www.vim.org/scripts/script.php?script_id=2736
scrooloose/syntastic
https://github.com/scrooloose/syntastic/

120818-0001.png

インストールは例によって、.vimrcBundle 'scrooloose/syntastic' と書いた後、:BundleInstall するだけで ok です。(vundle 利用者の場合)

ファイルを保存するときに勝手に構文チェックが走り、右の画像のような感じで、エラーのあった箇所と内容について知らせてくれます。

エラーリストが表示されないときは、:Errors とか :lope とかしてみてください。

Continue reading

【Vim】TweetVim で文字数を Powerline に載せる

TweetVim でツイートするとき文字数をカウントしてくれるプラグイン for Powerline があります。

vim-powerline に TweetVim の『入力可能文字数』を表示する – C++でゲームプログラミング
http://d.hatena.ne.jp/osyo-manga/20120201/1328022568

120319-0002.png

例の通り、残り文字数が表示されるので便利です。

このプラグインが Powerline 最新版で使えなかったので直してみました。(pull request 済)

delphinus35/TweetVim-powerline-theme
https://github.com/delphinus35/TweetVim-powerline-theme

Powerline の develop ブランチをクローンして上書きした上で、.vimrc に次の設定を追加し、:PowerlineClearCache して再起動すると有効になります。

let g:Powerline_theme='default_with_tweetvim'
let g:Powerline_colorscheme='default_with_tweetvim'

【Vim】errormarker.vim + Project::Libs で構文チェック

errormarker.vim を使うとコンパイル(Perl なら構文チェック)時のエラーを目立たせてくれるので便利だ。設定方法は以下のリンクを参照。

ErrorMarker.vimでプロジェクトのlibディレクトリを自動的に@INCに追加する – Cside::Tech
http://d.hatena.ne.jp/Cside/20111226/p1
errormarker.vim を使って flymake っぽくするやつを試してみた – ◆F99a.q8oVEの日記
http://d.hatena.ne.jp/f99aq/20080814/1218783740

で、設定してみたのだがうまくいかない…… help compiler などで調べてみると、b:current_compiler という変数が鍵だった。最終的な設定はこんな感じ。

let b:current_compiler='perl'
setl mp=$HOME/.vim/vimparse.pl\ -c\ %\ $*
if !exists('g:perl_flyquickfixmake')
    let g:perl_flyquickfixmake = 1
    au BufWritePost *.pm,*.pl,*.t silent make
endif

1 行目がないとせっかくの errormarker.vim が働かないのでした。なんでだろう?