个人使用VIM的一些总结
个人使用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-gnom e 安装的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 卸载缓冲区
具体看: http://www.pythonclub.org/linux/vim/buffer
四、 VIM分屏 显示
1 . 水平 分屏 split(sp) || 垂直分屏vsplit(vs)
:(v)split 输入这样的命令后vi就会将当前的窗口平分为两个,并且在这两个窗口中显示的是同一篇文章 。如果你在其中的 一个窗口进行文编辑,那么另一个窗口也会同步的显示出你所做的工作。
:(v)split filename 分屏显示另外一篇文章
:new 用分割形式新建文件
CTRL-W w 用于在窗口间跳转
C TRL-W+ 增大窗口,默认增量为1
CTRL-W- 减小窗口,默认值为1
CTRL-W= 可以将几个窗口的大小变得相等。
2 . 标签页tab
用标签页显示各个缓冲区,非常实用,好像只支持VIM7以上。
:tabnew : 打开一个新的标签页 。
:tabprevious : 回到上一个标签页。
:tabnext : 到下一个标签页 。
:tabc: close a tab
3 . vimdiffer
一种特殊的启动 Vim 的方法可以用来显示两个文件的差异 。
看我另一篇博文 http://www.cnblogs.com/MuyouSome/archive/2013/04/28/3049661.html
五、 配置文件vim与vimrc(配置IDE)
这个问题太大了,要配置好一个自己习惯的VIM太困难了,正在学习中。。。。。
Linux
个人使用VIM的一些总结
摘要: 这两天闲着都在捣鼓VIM了,感觉有点不务正业了,不得不说VIM里面要学习的东西太多了,学习曲线无比陡峭。知识点多了有点乱,特地发个博梳理一下,都是我自己在学习过程中积累的一些,可能有点杂,凑合着看吧,轻拍,欢迎提问一起探讨。一、vim介绍与常用命令 这个就不说了吧,自行google,贴一张VI/VIM键盘图,要学习的拿去当桌面吧,哈哈。 二、vim各版本区别 ubuntu下预装的版本是vim.tiny,这个更靠近纯vi了,不能使用小键盘和方向键,在编辑模式下,移动光标会变成A B C D等字符并换行。 解决方法两个; 1.vim缺省是vi兼容模式,设置成不兼容模式就好了: ... 阅读全文
posted @ 2013-04-30 12:46 木有Some 阅读(82) | 评论 (0) 编辑
Vimdiff---VIM的比较和合并工具
摘要: 本文来自IBMDW http://www.ibm.com/developerworks/cn/linux/l-vimdiff/源程序文件(通常是纯文本文件)比较和合并工具一直是软件开发过程中比较重要的组成部分。现在市场上很多功能很强大的专用比较和合并工具,比如 BeyondCompare;很多IDE 或者软件配置管理系统,比如Eclipse, Rational ClearCase都提供了内建的功能来支持文件的比较和合并。当远程工作在Unix/Linux平台上的时候,恐怕最简单而且到处存在的就是命令行工具,比如diff。可惜diff的功能有限,使用起来也不是很方便。作为命令行的比较工具,我们仍然 阅读全文
posted @ 2013-04-28 17:20 木有Some 阅读(6) | 评论 (0) 编辑
分类: Linux
[Linux]VI相关操作
About vi
vi编辑器学习
vi编辑器有三种模式:命令模式、输入模式和末行模式。无论在任何模式下按【Esc】都可以返回到命令模式。
1、vi
直接输入vi可以查看vi的版本信息
2、vi [文件名]
若存在该文件,则打开存在文件;若不存在,将新建文件名为[文件名]的文件。
3、保存与退出
在“末行命令”中输入以下内容并按【Enter】可以执行不同的操作:
:q! 强制退出
:w 保存
:w [文件名] 另存为
:wq 保存并退出
:wq! 保存并强制退出
4、光标移动(命令模式)
在“命令模式”中除了光标可以移动光标之外,还可以使用以下命令
k 上
j 下
h 左
l 右
^ 移动到行首
$ 移动到行尾
[第n行]G 跳转到第n行
G 跳转到首行
5、翻页(命令模式)
Ctrl+F 向前翻一页
Ctrl+B 向后翻一页
Ctrl+U 向前翻半页
Ctrl+D 向后翻半页
6、显示行号(末行模式)
set nu 显示行号
set nonu 取消行号
7、编辑模式(命令模式)
a 附加命令
i 插入命令
o 打开命令
c 修改命令
r 取代命令
s 替换命令
Esc 退出命令
8、光标移动(输入模式)
Home 行首
End 行尾
Page Up 向前翻页
Page Down 向后翻页
Delete 删除光标位置的字符
9、删除操作(命令模式)
x 删除光标位置的字符
dd 删除光标所在行
dw 删除当前字符到单词尾包括空格的所有字符
10、撤消操作(命令模式)
u 取消最近一次操作
U 取消所有操作
Ctrl+R 恢复对u命令的操作
11、复制操作(命令模式)
[n,m]y 复制第n行到第m行
[n]yy 复制n行,若无行数,只复制当前行
[n]yw 复制n个单词,若无行数,只复制光标到单词尾
y$ 复制光标到行尾
y^ 复制光标到行首
12、查找和替换(末行)
/[key] 从光标位置开始查找key
:s/old/new 用new替换首次出现的old
:s/old/new/g 用new替换行中出现的所有old
:[n,m] s/old/new/g 用new替换第n行到第m行中出现的old
: % s/old/new/g 用new替换所有的old
:s/old/new/c 用new替换首次出现的old,用户需要确认。[/c]适用上面所有命令
13、恢复文件
文件在编辑中会产生一个临时文件,文件以.开头并以.swp结尾。在异常退出的时候,系统在下一次编辑的时候会提示命令处理。
O 只读打开
E 继续编辑,不恢复.swp文件
R 恢复文件,继续编辑
Q 退出vi
D 删除.swp文件
vi -i [文件名] 恢复.swp文件
//博客也很久没有更新了。记得上次面试官问我,为什么博客那么久没有更新。或者事情太多,或者人懒。前端时间找工作让我很困惑也很迷茫。甚至忘记了自己原本追求的是什么。终于进了一家一直很想进的公司,但是也不见得有多令人兴奋。难道大四要毕业了,人就变得伤感起来了么?
//近期学习Linux知识比较多,接下来的分享可能也会是关于Linux平台下的技术比较多。我觉得咱做技术的,还是要有写博客的习惯,一是为了提升巩固自己,一是方便自己以后查阅。
作者: Ron Ngai
出处: http://www.cnblogs.com/rond
关于作者:苦逼一枚。
欢迎转载,但未经作者同意须在文章页面明显位置给出原文连接
如有问题,可以通过 rondsny@gmail.com 联系我,非常感谢。
分类: Linux
标签: Linux , vi , vim
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息