" hoge -> Hoge -> HOGE -> hoge に戻るをインサートモードで繰り返したい. fun! OreCapital() "{{{ let ic_org=&ic setlocal noic let word=expand("<cword>") if len(word) == 0 let &ic=ic_org return elseif len(word)==1 normal ~ let &ic=ic_org return endif if word[0]=~"[a-z]" normal! b~e elseif word[1]=~"[a-z]" normal! bgUee else normal! bguee endif let &ic=ic_org return ""}}} endf inoremap <silent> <c-^> <esc>:call OreCapital()<cr>a " vim: fdm=marker:
========================== Vim クライアントサーバ通信 ========================== 何 ? ==== Vim_ をサーバーとして 1 個起動させておけば, 後からそのサーバーにバッファを次々 と開くことが出来るというもの. 要は Vim_ を何個も起動する必要が無くなる. この機 能は gvim だけの機能だと思ってたけど, vim でも行けました. ここ__ が参考になり ます. .. __: http://vim.wikia.com/wiki/Enable_servername_capability_in_vim/xterm 準備 ==== 設定 ==== .bashrc:: # サーバー名が GVIM は gvim の初期値. alias vim="vim --servername GVIM" .screenrc:: screen -t vim 1 vim --servername GVIM screen 0 .vimperatorrc:: " サーバーが有ればそこで, " サーバーが無いときは普通の gvim set editor=gvim --remote-wait-silent .sylpheed-2.0/sylpheedrc:: ext_editor_command=gvim --remote-wait-silent %s .. _Vim: http://www.vim.org/ .. vim: set ft=rst tw=78:
============ Vim で窓分割 ============ 下準備 ====== 1 つの画面で複数の窓を表示するので, 小さくても読みやすいフォントを探します. `M+`_ の 12 ドットは私には小さすぎたので, `東雲`_ の 14 ドットを選択しました. .. _M+: http://mplus-fonts.sourceforge.jp/ .. _東雲: http://openlab.jp/efont/shinonome/ Vim の設定 ========== .vimrc:: nnoremap <silent> <c-l> <c-w>l:call WinResize()<cr> nnoremap <silent> <c-h> <c-w>h:call WinResize()<cr> nnoremap <silent> <c-j> <c-w>j:call WinResize()<cr> nnoremap <silent> <c-k> <c-w>k:call WinResize()<cr> nnoremap + 4<c-w>+ nnoremap - 4<c-w>- nnoremap { 4<c-w>< nnoremap } 4<c-w>> nnoremap = <c-w>= AlternateCommand vbn vert<space>sbn AlternateCommand vbp vert<space>sbp AlternateCommand vh vert<space>h fun! WinResize() let min_width = 80 let min_height = 24 exec "vert res ".max( [winwidth(""), min_width]) exec "res ".max( [winheight(""), min_height]) endf マスターに教えてもらった AlternateCommand (`ここのコメント`__) を使って横分割 の :sbn, :sbp, :h に対して, 縦分割の :vbn, :vbp, :h を設定. それから, 操作窓 は 80 x 24 欲しいので, 窓移動と同時に大きさを変更する. .. __: http://vim.g.hatena.ne.jp/meitetujikokuhyou/20081201/1228140351
ka-nacht:AlternateCommandは組み込みのExコマンドを自作のコマンドで置き換えたい場合において後者の入力を補助すること目的なので、その用法はそれはそれで間違ってはいませんが、少々ずれてますね。
(例えば:cdを:MyCDで置き換えたいけど入力は:cdで行いたい場合)
> AlternateCommand vbn vert<space>sbn
このようなことをするのであれば最初から独自のコマンドを作るべきです(:help :command)。例えばこれでは補完が利きません。
それにこのような省略しきった名前を付けるのであれば、ExコマンドでなくNormal modeで適当なキーを割り当てた方が良いでしょう。
例: :nnoremap <C-w>vbn :<C-u>vertical sbnext<Return>
> WinResize()
:help 'winheight'とその他色々
meitetujikokuhyou>:help 'winheight'とその他色々
& :h 'winwidth'. 嗚呼なんて簡単なことだったんだ. また無駄なことを orz
>例えばこれでは補完が利きません
com! -nargs=? -complete=help Vh vert h <args>
とかしてみました. com 使ったことなかったんですが -nargs, -complete が便利そうですね. 使ってみます.
LakieshaAlways the best content from these prodigious wierrts.
LakieshaAlways the best content from these prodigious wierrts.
sebfrlqabjxzsbtL <a href="http://msssfgyglxyx.com/">msssfgyglxyx</a>
nvagpwnxpqRA4DH , [url=http://izkepoqzwajl.com/]izkepoqzwajl[/url], [link=http://svjjgzuxmhuf.com/]svjjgzuxmhuf[/link], http://jcfdtxsemczc.com/
nmkwdldakmssonpaW <a href="http://vrkzvxbdtwko.com/">vrkzvxbdtwko</a>
vhstzklSOTK6 , [url=http://mhlsaqldprnj.com/]mhlsaqldprnj[/url], [link=http://qnctubcmysro.com/]qnctubcmysro[/link], http://eccwwepsmnfg.com/
au FileType rst setlocal isk-=_