サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
whileimautomaton.net
Vimのプラグインを書いていてcurryingを使いたい場合が出てきたので、どうすれば実現できるかちょっとだけ考えてみました。 実装 function! Curry(f, x) let d = {} let d.f = a:f let d.x = a:x function! d.__call__(...) return call(self.f, [self.x] + a:000) endfunction return d endfunction function! Apply(func, args) if type(a:func) == type({}) if has_key(a:func, '__call__') return call(a:func.__call__, a:args, a:func) else throw 'This dictionary is not callable
本格的にgitを使い始めたのだけど、どうもgitではリモートブランチに直接コミットしては駄目らしい(commitが駄目なのだから、mergeもrebaseもpullも駄目、なはず)。一応、コミット自体はできるし、その結果もちゃんとリポジトリに保存されるのだけど、一旦他のブランチに移ってしまうと簡単には元の位置に戻れなくなる。具体的には次のような感じ: # 現在作業中のブランチがmasterだったとする。 $ git branch -a * master svn/trunk # リモートブランチsvn/trunkに移動する。 $ git checkout svn/trunk Note: moving to "svn/trunk" which isn't a local branch If you want to create a new branch from this checkout,
Vimの関数呼び出しでは場合によって<SID>とs:を使い分けする必要があるが、実はどのケースであっても<SID>を使えば動くには動く。ただ<SID>というプレフィックスはs:に比べて見辛いため、できればs:を使いたい。ではどの場合にどちらを使うべきか。答えは以下の通り: s: :autocmd、:command、:function/:endfunctionの中で使う(推奨 - <SID>でも動くには動く)。 <SID> :map系か:menu系コマンドの中でのみ使う(必須 - s:では動かない)。 Vimのカスタマイズに手を出し始めた頃は何故このような使い分けが必要なのか分からなかったが、今、この記事を書いていて思い付いた。:map及び:menuの定義時に与えられた{rhs}だけでは、その中に出現するs:の意味・用途を正確に判定することができないからだ。例えば以下のような定義があったとし
最近は一度Vimを起動したらPCシャットダウンまで終了しないと言ってもいいくらいの使い方をしているのですが、稀にGNU screenの別のウィンドウから起動済みのVimのプロセスを操作したい場合があります。つまり、ウィンドウAとウィンドウBがあったとして、両方から同一のVimプロセスをインタラクティブに操作したいということです。 例えば、カレントディレクトリのファイルを開いて多少の編集をし、結果を起動済みのVimプロセスの適当なバッファにコピペするとします。GNU screenや端末エミュレータ自体の機能を用いてコピペすることは不可能ではないですが、'nowrap'や'number'の状態で正しくコピーすることはまず不可能ですし、コピーの種類(文字単位、行単位、矩形単位)の情報が落ちるので思ったようなペーストができませんし、何よりVimの完全なキーバインドが使えないので不便です。 Emac
普段ja patched rxvt-2.7.10-6 on Cygwinを使っているのですが、何故かShift-Tabが使えないことに気付きました。より正確には、Shift-Tabを押したときに送られる文字が\033 [ Zではなく\011 (水平タブ) になります。このままだとShift-Tabに何か機能を割り当てることができません。無くても生きていけますが、少々不便。 何でだろう。ソースを見たところ、Shift-Tabに対して\033 [ Zを送る箇所があるので、取り敢えず原因はそれ以前の段階のはず。どこだ。 Vimの:highlightの設定を変更する場合、既存の設定をそのまま使うには:highlight link {from-group} {to-group}を使います。大抵の場合はこれでも十分なのですが、linkしたグループの設定を変更することはできないので、「既存の設定をそのま
A software engineer, doll owner, gamer, speedcuber, cyclist, and more.
このページを最初にブックマークしてみませんか?
『while (“im automaton”);』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く