ぼちぼち散歩

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-)

ページの先頭へ

errormarker.vimでflymakeるために調べてやってみた

errormarker.vim で flymake(Emacsの) る - 8時40分が超えられない - subtechを見て自分もやってみようかと思ったけど,そもそもVimのmakeやcompilerの使い方が分かってなかったのでちょっとだけ調べてみた.あとflymakeがあんまりよく分かっていない.ファイル保存時にsyntaxエラーをハイライトしてくれたらflymakeできてることになってるのだろうか?

まず,errormarker.vimの中身をのぞいてみたところ,QuickFixCmdPost(makeのあと?),getqflist()して,その情報から:signしているみたい.要するに,QuickFixの情報を元にハイライトやらしてるということ.

で,:makeした後に出てくるQuickFixの内容は,makeprg,shellpipe,errorfileとかに設定されたコマンドの実行結果をerrorformatでパースした結果のようだ.

そして,Vimにはデフォルトでいくつかの言語についてはmakeprgやらerrorformatやらの設定が$VIMRUNTIME/compilerに用意されていて,.vim/compilerとかに追加することもできて,例えばPHPの場合は:compiler phpとかで設定できるようになっている.

というわけで,PHPでflymakeしようと思ったら,.vim/ftplugin/php/flyquickfixmake.vimに以下のように書いておけばよい.Rubyの場合は,

sudo gem install vim-ruby
ruby vim-ruby-install.rb

してから.JavaScriptは,

sudo port install javascript-lint

してから,やってみたらそれっぽくなった.

JavaScriptも.vim/compiler/javascript.vimあたりに設定を分離すれば,全て同じような感じになるので,もっと簡単に設定書けそうな気もする.というか,QuickFixの仕組みとerrormaker.vimがよくできているので,最終的にはVimはautocmd BufWritePost * silent make %と書けばflymakeになるよ!ということにならないだろうか?あんまりよく分かってないのであれだけど(^-^;)

スポンサーサイト

2008/07/30 19:38 | Vim | トラックバック(0) | コメント(0)

ページの先頭へ

MacのVimでシステムのクリップボードとやりとりする

.vimrc - 素人がプログラミングを勉強するブログというエントリで,pbcopyを使ったシステムのクリップボードとのやりとりについて書かれていたので,偉そうにコメントさせて頂いたのだが,気になったのでもう少し調べてみた.

さきほどのエントリのコメント欄に書いたのは,vim pbcopy - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtechにて紹介されていた方法なのだけど,再度確認してみると,__CF_USER_TEXT_ENCODINGをUTF-8に設定する方法が紹介されていた.さらに調べていくと,Mac OS X clipboard sharing - Vim Tips Wiki - a Wikia wikiというページを見つけて,最終的には以下のgistに置いたコードのようになった.単にgistを使ってみたかっただけです(^-^;)

:help :wとか:help :rとかしてはじめて知ったのだが,:w !{cmd}でコマンドの標準入力に渡す,:r !{cmd}でコマンドの標準出力を受け取ることができる.また,__CF_USER_TEXT_ENCODINGとVimのencを合わすことによって文字化けしなくなる.また,自分で確認したものでは,MacVimやらKaoriya版GVimでは,"+yおよび"+pでシステムのクリップボードとやりとりできるので,Macかつ非GUIのときにpbcopyを使ってそれ以外は"+yを使うようにしている.

ところで,gistでコードスニペットを共有しつつ,バージョン管理までできてしまうのはかなり便利だと思った.あとは,ブログパーツのような感じで自分のブログに貼り付けることができれば,面白いのになぁと思った.今後に期待! 追記(2008/7/26): と思ったら,貼り付けられるようになってる.それとも見落としてたかなぁ(^-^;)

2008/07/23 12:48 | Vim | トラックバック(0) | コメント(1)

ページの先頭へ

Vimで無理矢理相対行番号を表示するプラグイン

ujihisaさんがrubyneko - vimに相対行番号を表示したい(2)という話をしていて,kanaさんによるとVim 7.2a向けに相対行番号を表示するパッチがあるみたいなのだが,空気を読まずにVimScriptで無理矢理やってみた.無駄にGitHubに置いてます.

まともにVimScript書いたことがなかったけど,とりあえず:sign使ったらそれっぽくなるんじゃないかと思って,他のプラグインを真似したり:help見ながら作ってみた.そのまま実装したら,行移動のたびにsignが消えたり出たりするせいで画面全体が左右にカクカクなったので,1行目には常に「00」と表示しておくことになってます.

とりあえず,デフォルトでは前後20行に番号をふるのだけど,行移動が頻発するとかなりもたつく.しかも,他のsign使うプラグインなどのことを全く考慮してなかったり,その他いろいろ怪しいです.でも,:set nonuすると相対行番号表示の雰囲気を感じることぐらいはできるかも知れません.

2008/07/02 03:17 | Vim | トラックバック(0) | コメント(0)

ページの先頭へ

トップページへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。