2009年1月24日 星期六

Vim Tips - Window size & position

因為最近大部分都在 MacBook 上工作,Macports 以及上面的許多東西實在太另我著迷 ( 雖然除了 ports 以外有許多軟體都要購買才能使用 ... )

需求: 由於用 trackpad 移動視窗不是很方便,有時要同時參考文件或其他 code 也得重新調整視窗大小。

解法: 利用 vim script 提供的一些 api 做了一個這個小 hack,將 keymap 設定 C-x{a,s,d} ,並有下列對應 :

C-x a 將視窗寬度縮小一半,並將視窗自動調整到左半邊。
C-x s 將視窗調整為螢幕大小 ( Full )
C-x f 將視窗寬度縮小一半,並將視窗自動調整到右半邊。

建立一個 function:
function WHLeft()
winpos 5 5
winsize 90 49
endfunction
nmap <C-x>a :call WHLeft()<CR>
其他對應如法炮製即可,當然也可以製作上半、下半等等功能,其實寫一個 resize 的 function 去吃 w,h,x,y 會更簡潔,不過為求方便就沒花時間去研究。另外,winsize 的部份要注意的是設定的是 column size 以及 lines 而不是 pixel,winpos 的部份則是 pixel。