Hatena::Groupvim

meitetujikokuhyouの日記

 | 

2008-12-05

窓を分割してみました.

22:49

============
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-nachtka-nacht2008/12/06 13:56: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'とその他色々

meitetujikokuhyoumeitetujikokuhyou2008/12/08 00:04>:help 'winheight'とその他色々
& :h 'winwidth'. 嗚呼なんて簡単なことだったんだ. また無駄なことを orz

>例えばこれでは補完が利きません
com! -nargs=? -complete=help Vh vert h <args>
とかしてみました. com 使ったことなかったんですが -nargs, -complete が便利そうですね. 使ってみます.

LakieshaLakiesha2011/07/09 16:51Always the best content from these prodigious wierrts.

LakieshaLakiesha2011/07/09 16:51Always the best content from these prodigious wierrts.

sebfrlqabjsebfrlqabj2011/07/10 00:17xzsbtL <a href="http://msssfgyglxyx.com/">msssfgyglxyx</a>

nvagpwnxpnvagpwnxp2011/07/10 20:44qRA4DH , [url=http://izkepoqzwajl.com/]izkepoqzwajl[/url], [link=http://svjjgzuxmhuf.com/]svjjgzuxmhuf[/link], http://jcfdtxsemczc.com/

nmkwdldakmsnmkwdldakms2011/07/11 20:12sonpaW <a href="http://vrkzvxbdtwko.com/">vrkzvxbdtwko</a>

vhstzkvhstzk2011/07/12 22:01lSOTK6 , [url=http://mhlsaqldprnj.com/]mhlsaqldprnj[/url], [link=http://qnctubcmysro.com/]qnctubcmysro[/link], http://eccwwepsmnfg.com/

JayceeJaycee2013/03/02 19:04Economies are in dire srtatis, but I can count on this!

xivjvjepuxivjvjepu2013/03/04 16:48k5w9NF , [url=http://xcxmwveryriu.com/]xcxmwveryriu[/url], [link=http://txjqvhtwsaep.com/]txjqvhtwsaep[/link], http://svpadjldechp.com/

 |