Chinaunix首页 | 论坛 | 博客
  • 博客访问: 290646
  • 博文数量: 45
  • 博客积分: 1596
  • 博客等级: 上尉
  • 技术积分: 546
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-19 20:28
文章分类

全部博文(45)

文章存档

2011年(7)

2010年(10)

2009年(10)

2008年(18)

我的朋友

分类: LINUX

2008-03-22 22:06:00

搬家系列(3)

VIM 技巧
flw10000 发表于 2006-8-6 16:43:00
一些vim的使用技巧!
不断增加中......


简单介绍:
VIM是模式编辑器,这意味着在不同状态下编辑有不同的行为模式。个基本的模式是Normal模式和Insert模式,在Normal模式下键入的每个字符都是一下命令,而在Insert模式下键入的每个字符都是要实际输入的内容。如果你没有更改过相关配置,刚启动的VIM在Normal模式下,按A,a,I,i等都可以进入Insert模式,进行文本编辑!还有一个模式我管它叫冒号模式,因为在Normal模式下输入“:”然后再输入相关命令就可以了。

Q:在复制带//的代码过来时,总是在第一次出现//的地方之后默认每行自动加上//怎样去掉这个默认设置?
A:在Normal模式下输入:set fo-=r

Q:在字符模式下,vi窗口下的内容怎样复制到下面的:开始的命令行怎样复制到shell命令下
A:在 : 模式下,可以使用 <寄存器名> 来访问 vim 的寄存器。而默认情况下,y 命令 d 命令会把操作对象放置到 " 寄存器中。因此,在命令行下面输入 " 就可以将上次 y 命令或者 d 命令的内容粘贴下来。

Q:怎样让搜索的高亮显示?
A:在Normal模式下输入:set hlseacrch

Q:怎样显示行号?
A:在Normal模式下输入:set nu

Q:VIM处在什么模式?
A:在Normal模式下输入:set showmode.

Q:怎样拷贝一行?
A:在Normal模式下键入yy将拷贝光标所在行.

Q:怎样粘贴拷贝的内容?
A:在Normal模式下键入p粘贴到光标所在行的下一行,P粘贴到光标所在行的上一行.

Q:怎么去掉vim 中的响铃?
A:在Normal模式下输入:set vb t_vb=

Q:一般自动缩进的长度相当于8个空格,我怎样将其改为自动缩进4个空格呢?
A:在Normal模式下输入:set ts=4
  在Normal模式下输入:set shiftwidth=4

Q:windows的ultraedit写的程序,用vim打开,每行都有^M
A:在Normal模式下输入:%s/^M$//

Q:windows下用gvim7编辑完之后,总会留下一个带~的文件,能不能不让它存在?
A:在Normal模式下输入:set nobackup

Q:如何到文件第一行
A:在Normal模式下键入gg

Q:如何到文件最后一行
A:在Normal模式下键入G

Q:如何在vim中以16进制查看文件内容?
A:在Normal模式下输入:%!xxd
在Normal模式下输入:%!xxd -r 返回.

Q:如果在vim中显示颜色或不显示颜色?
A:把syntax on或syntax off加到$HOME/.vimrc中

Q:移动光标
A:在Normal模式下 h 左 j 下 l 右 k 上

Q:如何在保存编辑的文档?
A::w filename

Q:如何在vim中打开光标所在处的文件?如何返回?
A:在Normal模式下 gf打开光标所在处的文件,ctrl-o返回

Q:如何高亮显示光标所在行(只有vim7支持)
A:在Normal模式下输入:set cursorline

Q:如何高亮显示光标所在列(只有vim7支持)
A:Normal模式下输入:set cursorcolumn

Q:如何删除偶数行
A: :g/^/+1 d
     :%norm jdd

Q:删除奇数行
A:  :g/^/d|m.
     :%norm jkdd

下面是一张vim指令助记图!

注:该图来源于CU

阅读(1863) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~