这两天闲着都在捣鼓VIM了,感觉有点不务正业了,不得不说VIM里面要学习的东西太多了,学习曲线无比陡峭。知识点多了有点乱,特地发个博梳理一下,都是我自己在学习过程中积累的一些,可能有点杂,凑合着看吧,轻拍,欢迎提问一起探讨。
一、vim介绍与常用命令
这个就不说了吧,自行google,贴一张VI/VIM键盘图,要学习的拿去当桌面吧,哈哈。
二、vim各版本区别
ubuntu下预装的版本是vim.tiny,这个更靠近纯vi了,不能使用小键盘和方向键,在编辑模式下,移动光标会变成A B C D等字符并换行。
解决方法两个;
1.vim缺省是vi兼容模式,设置成不兼容模式就好了:
:set nocp
2.安装完整VIM
VIM其他版本:vim-gnome安装的vim依赖于gnome的某些东西的。vim-gtk 依赖于gtk的某些东西。vim-nox这个不知道,ubuntu官网也没说明。还有一个vim-athena,据说是界面很华丽,没用过不评论。具体看http://packages.ubuntu.com/oneiric/vim
三、vim缓冲区
缓冲区(Buffer)是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。
:buffers
命令将会列出当前编辑中所有的缓冲区状态。在这个状态列表中,前面的数字是缓冲区的数字标记,第二个标记就是缓冲区当前的状态,紧接着是与缓冲区所关联的文件名。有如下几种状态:
- (非活动的缓冲区)
a (激活缓冲区)
h (隐藏的缓冲区)
% (当前的缓冲区)
# (交换缓冲区)
= (只读缓冲区)
+ (已经更改的缓冲区)
:buffers |
列示缓冲区状态 |
:buffer |
编辑指定缓冲区 |
:ball(ba默认水平分屏) |
编辑所有缓冲区 |
:bnext(bn) |
到下一缓冲区 |
:bprevious(bp) |
到前一缓冲区 |
:blast |
到最后一个缓冲区 |
:bfirst |
到第一个缓冲区 |
:badd |
增加缓冲区 |
:bdelete |
删除缓冲区 |
:bunload |
卸载缓冲区 |
CTRL-W- 减小窗口,默认值为1
CTRL-W= 可以将几个窗口的大小变得相等。
:tabnext : 到下一个标签页 。
:tabc: close a tab