editor
visual mode でどこかを選択したあとに mapping を通して呼び出した関数内で選択文字列を取得する、ってのにハマったのでまとめ。結論として visual mode からでも関数呼び出しは normal mode として行われるので該当関数内でとりあえず normal! gv を実行し…
http://d.hatena.ne.jp/janus_wel/20091201/1259682937 でちょっと書いてた tabline の設定用関数を autoload script file として書き直した。そろそろ autoload を使いたいなと思ってたんだけどちょうどいい題材があったのでやった感じ。とりあえず autoloa…
そういや関数の速度はかるのどうすんだろと思って調べてみたんだけど vim には :profile って command があるらしい ( :help profile ) 。けど win32 版の配布されている exe は +profile 機能が off にされているので使えない。でまぁこの先使うだろうし適…
http://d.hatena.ne.jp/janus_wel/20091202/1259770620 の名前を変更 & refactoring & 機能追加。バニシュがかかってる文字をディスペルで見えるようにする的な。ちなみにディスペルの綴りは despell かもしれないらしい ( http://ffdic.wikiwiki.jp/?%CB%E2…
前々から ( 中略 ) そのさん。 ctags command を使って tags file を生成するための plugin なんだけどそもそも tag まわりがわかってないのであまり有効に使えてないというか。今はとりあえず tags file は作ったものの current directory が合ってないと t…
えーとたしか 'statusline' の設定するのに今の値が見たい ! -> :set statusline? じゃ見づらい !! てかすぐ消えるし -> insert mode で <C-r>=&statusline して buffer に書き出すとなんかいい感じ !!! -> これもう少し手軽に扱えねぇかな -> plugin 書けばいい</c-r>…
前々から書いてたけど今になって github に上げる plugin そのいち。よくある binary editor を vim 上で再現するというアレ。 the lime てのは console でよく lime が使われているような image があるからなんだけど他にも THE MATRIX の ASCII characters…
http://d.hatena.ne.jp/janus_wel/20090302/1236185618 の rewrite 。これ見直す前は消してもいいかなと思ってたんだけどさっき実際に使ってみてというかいろいろ試してみて実はけっこう使えるやつだったことがわかったので ( "$VIM/**" とか各言語の librar…
http://d.hatena.ne.jp/janus_wel/20090228/1235910551 と http://d.hatena.ne.jp/janus_wel/20090306/1236343557 で書いてた plugin の rewrite 。とりあえず名前を短くしてお約束の code を書いてというところからちょっとした bugfix までとあと使い方を …
ひょんなことから $VIMRUNTIME/compiler を覗いてみて tidy.vim ( HTML Tidy 用 ) とか perl.vim ( perl 用 ) を見つけてちょいと試してみたんだけど結論として ( そのままでは ) 使えなかった。 tidy.vim tidy の version の違いによる option の設定はこっ…
cursor の直前にある単語を camel case にする mapping 。出来るかなと思って書いてみたけど出来ただけで全然役に立たない。 inoremap <C-c> <Esc>bgUllgue`]a</esc></c-c>
quote だとかカッコだとかいろいろなもので括る mapping 群。 visual mode で括る対象を選択して起動するといい感じに。文章書きながらだと逆に使い勝手は悪いんだけど推敲とか以前書いたものの修正をするときはかなり重宝する。他には何があるかなー ? " tu…
http://d.hatena.ne.jp/janus_wel/20091203/1259837870 の他にもいろいろ試行錯誤をして今おれの vim の 'statusline' はこんな感じになっている。 " statusline {{{2 " %3(%m%) : modified flag (bracketed, fixed) " %< : where to truncate line " %3n : …
http://d.hatena.ne.jp/janus_wel/20091210/1260421423 にあわせてこっちも見直し。 HTML Tidy を使って xhtml にマズイところがないか check をするための compiler plugin 。 double quotation が必要だったり ^M が各行の最後についてしまうのは win32 環…
http://d.hatena.ne.jp/janus_wel/20090201/1233613956 で書いてた ftplugin を今見てみたらひどすぎたので書き直し。まぁ昔の自分の source をひどいと思えるくらいには成長したってことか。 この時点 - http://github.com/januswel/dotfiles/blob/8f40b8bd…
関連するハナシなのでまとめて返信 & 御礼。まず iso-2022-jp と 'fileencodings' に "guess" を指定することの関連について。 私も今試したところiso-2022-jpが先頭なら問題はなかったけどその前にguessがあるとダメだった。jaencs.vimを見た限りだと、gues…
byte code で文字を指定する方法に bug があったので修正 ( http://d.hatena.ne.jp/janus_wel/20091209/1260371491 ) 。指摘してくれたのは id:thinca 。http://d.hatena.ne.jp/janus_wel/20091208/1260241400 で言ってた 'fileencodings' をアレコレするア…
どうも "guess" は iso-2022-jp を判別できないらしく ( 現時点では未実装らしい ) それを 'fileencodings' の先頭に指定していたかららしい ( http://d.hatena.ne.jp/thinca/20091208/1260265376 ) 。というわけなので "guess" を iso-2022-jp の後ろに持っ…
最近 $VIM 以下の script を読んでみてるんだけどそうするとたまに以下のような code を見かける。 if 1 " some codes endif こりゃ何だと思ってたんだけど何かの拍子で eval の help ( :help eval.txt ) を眺めてたときに一番最初に Note: Expression evalu…
いろいろいじってるうちに混乱してきたので以下は根本的に間違ってるかもしれない。'encoding' を "utf-8" にした方が楽だといったけど ( http://d.hatena.ne.jp/janus_wel/20091203/1259837870 ) まだ Win32 環境 ( 具体的には Windows XP ) の default で…
vim は各種 encoding を使い分けられるようになってるんだけどそこらへんの違いだとか変換だとか考えるのもめんどくさいのでとりあえず set encoding=utf-8 しておくと楽というハナシ。というか vim は Unicode 対応が進んでるようでというかほぼ問題ない le…
直接的には http://d.hatena.ne.jp/janus_wel/20091120/1258698899 の続きなんだけど今回の修正に至るまでにいろいろなことがあったわけで。えーととりあえず id:thinca のツッコミ ( http://d.hatena.ne.jp/thinca/20091121/1258748377 ) に始まりおれがそ…
tabpage と window に関する考察 (?) の部分を修正。そもそもの前提が間違っているよと id:thinca ( いつもありがとう ) に教えてもらったのでがりがりと推敲。最近 autocmd まわりをいじってて buffer だとか window だとかをきちんと理解しないといけない…
map まわりの help を読む機会があったんだけどそのときに :help <Char> というのを見つけてしまったので遊んでみた。具体的には以下のように設定したあとで normal mode において「入力」といれると insert mode になる ( ":set encoding=utf-8" の場合 ) 。 :nno</char>…
http://d.hatena.ne.jp/janus_wel/20091120/1258698899 で IDEOGRAPHIC SPACE の指定を "/\%u3000/" とすると ":set encoding=utf-8" なときのみ有効云々と書いていたんだけどそれってつまり ":set encoding=cp932" したときと ":set encoding=euc-jp" した…
もう一回ひっぱる。これで最後。 http://vim-users.jp/2009/07/hack40/ でいわゆる全角スペースを IdeographicSpace と定義していたのでちょいと気になって調べてみた結果 Unicode Consortium で定義している名前らしい。定義している部分をちょっと探してみ…
http://d.hatena.ne.jp/thinca/20091121/1258748377 で match っていうのをはじめて知った ( http://vim-users.jp/2009/07/hack40/ に普通に載ってるんだけど華麗にスルーしてた ) ので早速 :help :match 。はー highlight group と pattern strings 間の関…
http://d.hatena.ne.jp/janus_wel/20091120/1258698899 に対して、じゃないな、これがきっかけで id:thinca が http://d.hatena.ne.jp/thinca/20091121/1258748377 にいろいろ書いてくれたので自分なりにまとめ。あー syntax だとか match まわりのハナシは…
前々から空白文字を可視化する plugin ( http://github.com/januswel/dotfiles/blob/master/.vim/plugin/ShowInvisibleCharacters.vim ) を自前で書いて使っていたんだけど適用されない場合があるなと思って調べて直してみた。原因は autocmd で指定する eve…
http://vim.g.hatena.ne.jp/ka-nacht/20091118/1258506825 でつっこまれてる内容の後半部分に対するお返し。 そもそもrecordingは対話的に記録/実行するもの。その動作も実行環境に依存するためポータビリティはない。それにrecordingはたまたま記録場所とし…