Vim

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を使いこなしているとは思えないので、おすすめな使い方とかを教えてもらえたらうれしい。

vimのフォントをIPAゴシックにしてみた。

アンチエイリアスな雰囲気に憧れて、vimのフォントをIPAゴシックに変えてみた。

_gvimrcで↓を指定。

set guifont=IPAGothic:h11,MS_Gothic:h11

vimでMS GothicとIPAGothicを使ってみた図

意外と気に入っている。

でも、ハット(^)とチルダ(~)が同じ文字になってるのは何とかならないのか〜!?

続きを読む