タグ: Vim

スポンサーサイト

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

neocomplcache.vimを改良しようとしたら既にされてた件

ちょっと前に、Vimの自動補完プラグインをAutoComplPopからneocomplcacheに乗り換えた。

何で乗り換えたのかは忘れた。確かAutoComplPopはUbuntuのscim+gvim環境と相性がよくなかったからだったと思うけど、実際のところUbuntuではgvim使ってないからあまり意味ない。ついでに言うと、neocomplcacheはキーワード補完にちょっと癖があってまだ慣れてない。

ただ、neocomplcacheは機能追加が著しいから、将来の可能性を信じて使ってる。

で、今日はneocomplcacheの補完開始時のカーソル位置が気に食わなかったので、AutoComplPopのスタイルに改造してみましたという話。

結論から言うと、マニュアル読んだりソース読んだりしてがんばってやってみたけど、本家の最新ソースコードを読んだら既にその機能が実装されていて、ちょっと切なかったという話。詳細は続きで。

続きを読む

スポンサーサイト

XML (HTML) の特殊文字をエスケープするVimスクリプトを書いた

XMLやHTMLの5つの特殊文字 (&, <, >, ', ") を定義済みのエンティティ (&amp;, &lt;, &gt;, &apos;, &quot;) に変換するVimスクリプトを書いてみた。

5つの文字を置換するだけだから簡単そうに思えるけど、選択範囲だけを対象にしようとするとなかなか難しくて、今まで納得のいくものを作れずにいた。それが、たまたま今日挑戦してみたら、そこそこいい感じのスクリプトが書けたので、記念にブログポストしてみる。

vnoremap <Leader>e "xx:call <SID>EscapeXml('x')<CR>"xP

function s:EscapeXml(regname)
  let x = getreg(a:regname)
  let x = substitute(x, '&', '\&amp;', 'g')
  let x = substitute(x, '<', '\&lt;', 'g')
  let x = substitute(x, '>', '\&gt;', 'g')
  let x = substitute(x, "'", '\&apos;', 'g')
  let x = substitute(x, '"', '\&quot;', 'g')
  call setreg(a:regname, x)
endfunction

使い方やコードの解説は続きで。

続きを読む

[FontForge] IPAゴシックとDejaVu Sans Monoを合成するスクリプトを修正

前回のエントリーで、FontForgeのスクリプトを使ってDejaVu Sans MonoとIPAゴシックを合成したりしてみた。そのとき使ったスクリプトを手直しして、少しきれいに出力できるようになったぽいので、新しいスクリプトをメモしておく。

変更点

  1. 横幅の縮小率を75%から80%に変更
  2. カーニング情報が崩れていたのを修正
  3. ハイフン("-")が短すぎて見づらい問題を修正

ソースは続きで。

続きを読む

DejaVuフォントで日本語を使いたい!

DejaVu Sans Monoサンプル

プログラミングに使える良いフォントを探していたら、DejaVuフォントというものを見つけた。確かにすごくきれいだし見やすい。

で、VimでDejaVu Sans Monoを使おうと思ったんだけど、Vimでは欧文フォントと和文フォントを別々に指定することができないから、DejaVu Sans Monoを指定してしまうと日本語が表示できなくなってしまう。だから、いろいろと試行錯誤してみた。まだ途中だけどとりあえずメモ。

続きを読む

[Vim] &listcharsに"tab=λ."を指定してみた

set listchars=tab:λ.

Vimのスクリーンショット

すごく...トボトボしています...

Vim の正規表現が苦手

Vim の正規表現が苦手。簡単に Perl 互換の正規表現を使う方法ないのかな。

Vim の検索コマンド?

mixi で見つけた Find Job の広告。

↑これって Vim の検索コマンド?まさか mixi 上で見るとは思わなかった。

gVim on Windowsを半透明にしてみた

特に深い意味はなく、なんとなく憧れたので、gVimを半透明にしてみた。

半透明になったgVimの図

続きを読む

vimの<C-A>と<C-X>に感動した

vimでカーソル位置の数値をインクリメントする<C-A>とデクリメントする<C-X>って、便利そうだったけど今までほとんど使ってこなかった。単純に、コマンド覚えられなかったっていうのが大方の理由だったから、覚えるためにブログにポスト。

で、今日はじめて真面目に<C-A><C-X>を使ってみて、意外なほどの高機能ぶりに驚いた。

まず驚いたのが、単純にカーソルの下の数字だけをインクリメントするわけじゃなくて、カーソル周辺の数値も認識してちゃんと繰り上がりや繰り下がりしてくれること。簡単に言えば、ちゃんと↓みたいに繰り上がってくれるということ。

198
199
200
201

そして、01のように書かれていれば八進数として解釈して、0x1のように書かれていれば十六進数として解釈されることにも驚いた。負数もちゃんと処理してくれるし。

便利すぎるー

.vimrcを晒してみる

あちこちのPCで.vimrcを同期するのが手間だったので、web上に晒してみた。

.vimrcを晒してみる

正直なところ、vimを使いこなしているとは思えないので、おすすめな使い方とかを教えてもらえたらうれしい。

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