vim もタブが使えるようになってとても happy ですが、毎回 :tabn って打つのも面倒。ちなみに脳内では「たぶん」という発音になっていてちょっと気持ち悪いです。
世の中では
ちょっとまとめてみました。
状況 | 新規作成 | ~ | 次へ | ~ | 前へ | ~ |
---|---|---|---|---|---|---|
screen | C-t c | C-t C-c | C-t n | C-t C-n | C-t p | C-t C-p |
elscreen | C-] c | C-] C-c | C-] n | C-] C-n | C-] p | C-] C-p |
vim | C-] c | C-] C-c | C-] n | C-] C-n | C-] p | C-] C-p |
なかんじにしたいと。(すごい冗長な表だ...。)
食われちゃうキー
この場合、 prefix であるところの C-t, C-] がつぶされるんだけど、 emacs で transpose-chars も abort-recursive-edit も使わなかったこと、広瀬さんの
最初に思い付いたのが、C-] でこれは telnet のエスケープのときにしか使わないのでなかなか良い。でも欠点としては、片手で押せないからコーヒーを飲みながら操作できない…。てことでわしは C-t で落ち着いた。 prefixは ~/.screenrc で次のようにして変えることができる。
(http://www.gentei.org/~yuuji/rec/pc/intro-screen.htmlより) によってほぼ決まりでした。
じゃあ vim はどうなんだろう? C-] は :help 見るときに使ったし(vimtutorで知った)、C-t はいまんとこ使ってないけど、便利そうな tag 関連。んー、まあ tag のことはとりあえず忘れて、 C-] は救済したいよね。
キーを拾う
いろいろ試行錯誤しているうちに、どうも
mapc :tabnew
とかを設定しても、 C-] を打ってからしばらく待つと単体の C-] が入力されたと解釈するみたい! なんかすごいね。
そして意外にはまったのが C-c でした。
map:tabnew
しても C-C の時点で C-] の入力がキャンセルされたと扱われるみたい。 emacs の C-g みたく、ちょっと特別扱いなのかな?
よくわかんないけど C-] と同じように遅延解釈みたいなのでごまかせないかな、と思っててきとうに
map
としてみたら、 C-c 2連打でもとの C-c っぽくなったのでいいことにしよう。
結論
ということで、以下のような設定に落ち着きました。
" タブの設定 if version >= 700 map <C-C><C-C> <C-C> map <C-]>c :tabnew<CR> map <C-]><C-C> :tabnew<CR> map <C-]>n :tabn<CR> map <C-]><C-N> :tabn<CR> map <C-]>p :tabp<CR> map <C-]><C-P> :tabp<CR> endif
思えばzshを本気で使い出したのも広瀬さんのページの「tcshなんて...」(続きはhttp://www.gentei.org/~yuuji/rec/pc/intro-zsh.html をどうぞ!)だったり、日々 yatex のお世話になっていたり。まあ、あと、gentei.orgのns先にもお世話になってるようです。
こりゃはやいとこ限定解除しないと失礼ですよね! いや、たぶん教習所通いますが...。