个人使用VIM的一些总结
这两天闲着都在捣鼓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 |
卸载缓冲区 |
四、VIM分屏显示
1 . 水平分屏split(sp) || 垂直分屏vsplit(vs)
:(v)split 输入这样的命令后vi就会将当前的窗口平分为两个,并且在这两个窗口中显示的是同一篇文章。如果你在其中的 一个窗口进行文编辑,那么另一个窗口也会同步的显示出你所做的工作。
:(v)split filename 分屏显示另外一篇文章
:new 用分割形式新建文件
CTRL-W w 用于在窗口间跳转
CTRL-W+ 增大窗口,默认增量为1
CTRL-W- 减小窗口,默认值为1
CTRL-W= 可以将几个窗口的大小变得相等。
CTRL-W- 减小窗口,默认值为1
CTRL-W= 可以将几个窗口的大小变得相等。
2 . 标签页tab
用标签页显示各个缓冲区,非常实用,好像只支持VIM7以上。
:tabnew : 打开一个新的标签页。
:tabprevious : 回到上一个标签页。
:tabnext : 到下一个标签页。
:tabc: close a tab
:tabnext : 到下一个标签页。
:tabc: close a tab
3 . vimdiffer
一种特殊的启动 Vim 的方法可以用来显示两个文件的差异。
五、配置文件vim与vimrc(配置IDE)
这个问题太大了,要配置好一个自己习惯的VIM太困难了,正在学习中。。。。。