Vim

unite-haddock 書いた

http://d.hatena.ne.jp/kitokitoki/20111217/p1 の「ghc-browse-document の anything 化」が便利っぽかったので同じようなものを書いた. https://github.com/eagletmt/unite-haddock ghc-mod が必要.cabal install ghc-mod でインストールできる.Vim 内…

coqtop を Vim の中で動かして連携させる

http://www.iij-ii.co.jp/lab/techdoc/coqt/ を読んでいたらいつのまにかそんなかんじのを書いていた.どうしても Vim で書きたいかわいそうな人以外は普通に CoqIDE や Proof General 使ったほうがいいと思います. https://github.com/eagletmt/coqtop-vim…

C++0x と遊ぶときのちょっとした

GCC 4.5.1 で結構色々と実際に使えるようになってきたこともあって,C++0x 向けにちょっとだけ Vim の設定を足した.まず static_assert, decltype をハイライトするように ~/.vim/after/syntax/cpp.vim に syntax keyword cppOperator static_assert declty…

GHCi.vim

inf-haskell.el から最低限の機能を抜き取ったかんじの Vim script 書いた. https://github.com/eagletmt/ghci-vim 使い方としては l でファイルをロードした後に,t で型を見たり i で info を見たり. vimproc のおかげで Vim からプロセスと会話できる.…

clang_complete.vim

Vim

clang にはコード補完をサポートする機能があって % clang -cc1 -fsyntax-only -code-completion-at=$file:$line:$col $fileというように使うと,構文構造から補完の候補を表示してくれる. この機能の詳しいドキュメントがどこにあるのかわからないが,まぁ…

ghc_complete をちょっと更新

まず Pragma の補完に対応した. http://github.com/ujihisa/ghc_complete/commit/85f9732c5bc127a0b4fad6b224892be5793d61f2 これで LANGUAGE だとか GHC_OPTIONS といった Pragma 名も補完されるようになった. あとマイナーな変更として,import している…

gjslint

Vim

http://d.hatena.ne.jp/Craftworks/20100908/1283941430 Vim からこのようなツールを利用する場合にはコンパイラプラグインを書くとより便利. 以下のプラグインはかなり手抜きだけど,まぁ最低限の機能は提供できていると思う. if exists("current_compile…

ghc-mod を利用した neocomplcache のプラグイン neco-ghc (ghc_complete.vim) を書いた

せっかく Emacs とは独立して ghc-mod が書かれているので,これを Vim での補完にも利用したいなーと思って書いた. ghc-mod は hackage で公開されているため,cabal install ghc-mod でインストールできる. http://www.mew.org/~kazu/proj/ghc-mod/ http…

いつのまにか Cabal の syntax ファイルができてた

http://code.google.com/p/vim/source/browse/runtime/syntax/cabal.vim?r=b9e314fe473fadd54b861a3836ad96c9ca26bce3 しかしちょっと cabalStatement が適当すぎる… 先に license にマッチしてしまうので license-file が絶対にマッチしなかったり,license…

Vim における文字列について その2

Vim

Vim には byteidx() という関数が用意されていて,これを使って文字単位のインデックスからバイト単位のインデックスに変換できる. " &encoding == 'utf-8' byteidx('abc', 2) " => 2 byteidx('あiうeお', 3) " => 7 これを用いると,例えばマルチバイト文…

カーソル位置の文字を取得 + Vim における文字列について

Vim

現在のカーソル行の文字列を取得するには getline('.') とすればよく,さらに現在のカーソル列は col('.') で取得することができる*1ので echo getline('.')[col('.')-1] とすればカーソル位置の文字が表示される. というのはシングルバイト文字の場合でし…

if/else を選択

Vim

a{ とか i{ によって対応する {} を選択することはできる*1けど,カーソル位置の if/else 全体を選択したいときがたまにあるので. 実装方法に悩んだけど,結局カーソル位置から前方に { を探していき,それが if/else によるものの場合はそこで止まって,そ…

なんかいろいろエンコード/デコードする operator を提供するプラグイン

Vim

~/.vim/plugin とかに入れて,例えば nmap <Leader>eu <Plug>encodeURIComponent vmap <Leader>eu <Plug>encodeURIComponent nmap <Leader>du <Plug>decodeURIComponent vmap <Leader>du <Plug>decodeURIComponent nmap <Leader>ej <Plug>encodeJSString vmap <Leader>ej <Plug>encodeJSString nmap <Leader>dj <Plug>decodeJSString …</plug></leader></plug></leader></plug></leader></plug></leader></plug></leader></plug></leader></plug></leader>

今現在自分が利用しているプラグイン

Vim

頻度別にまとめ+ちょっと紹介. 頻繁に使っているもの FuzzyFinder http://www.vim.org/scripts/script.php?script_id=1984 あいまいにバッファ,ファイル等を検索して,それを現在のバッファに開いたり新しいタブに開いたりできるプラグイン. Vim をずっと…

Vim で POJ やりやすくする poj.vim を書いた

Vim

http://d.hatena.ne.jp/smly/20090719/1247974225 とりあえずはこれと同様のものを Vim script で書いた.http://github.com/eagletmt/poj-vim適当なディレクトリに置いて runtimepath を通して使ってください. .vimrc の設定例 set runtimepath+=~/.vim/po…

Vim からはてなに投稿

Vim

まぁ既にあるんですが… http://github.com/motemen/hatena-vim metarw を使って自分なりに書いてみた. curl 必須.complete と read は実装していない. ~/.vim/autoload/metarw/hatena.vim に置いて, :w hatena:eagletmtとするとはてなダイアリーに投稿さ…

Vim で Haskell 書くときに

昨日 freenode の #haskell.jp にて nwn さんの呼び掛けで HIMA が行われた. 自分は開催中ちょっと疲れていて頭が働かず,話に参加できなかったけど… その中でかずさんが ghc-mod.el を発表してた. http://d.hatena.ne.jp/kazu-yamamoto/20090930/12542996…

vim で *.m を作ると最初に matlab だと認識されてしまう

まだまだ Objective-C で遊んでます。 んで、vim で新しく *.m なファイルを作るとデフォルトでは matlab.vim が使われてしまうので、これを objc.vim に変更した。 $VIM/runtime/filetype.vim を見てみると、ファイル名が *.m のときには s:FTm() が呼ばれ…