Chinaunix首页 | 论坛 | 博客
  • 博客访问: 738163
  • 博文数量: 251
  • 博客积分: 10367
  • 博客等级: 上将
  • 技术积分: 2750
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-10 14:43
文章分类

全部博文(251)

文章存档

2009年(2)

2008年(86)

2007年(163)

分类: LINUX

2007-12-29 01:09:21

了解Vim更多信息可以访问官方网站:

1、连续行注释
    使用Vim/Vi编辑shell脚本,在进行调试的时候,需要进行多行的注释,每次都要先切换到插入模式,在行首输入注释符“#”,再退回命令模式,非常麻烦。其实如果要注释连续行,可在命令模式下执行,格式如下:
    :起始行,终止行s/要替换字符/替换为新字符/g
    如需注释第1行到第20行,可以执行:
    :1,20s/^/#/g
    其中“^”表示在行首插入,“#”为要插入的字符,“g”表示执行替换时不确认,若希望每行交互询问是否执行,可将“g”改为“c”。
    如果编辑PHP脚本,注释要稍微麻烦一点,如也要注释第1行到第20行,要执行:
    :1,20s/^/\/\//g
    PHP的注释符“//”要特殊处理,因为Vim/Vi替换命令格式中默认“/”为分隔符,这样就需要使用转义符“\”,表示“/”就要写成“\/”才可以,所以命令如上所示。

2、非连续行注释
    如果注释非连续的多行,可以定义快捷键简化,格式为:
    :map 快捷键 执行命令
    如定义快捷键Ctrl+P为在当前行行首添加“#”注释,可以执行:
    :map ^P I//
    “^P”为定义快捷键Ctrl+P,要注意的是必须同时按“Ctrl+v+p”按出此“^P”方才有效,或先按“Ctrl+v”再按“Ctrl+p”也可以;“I//”就是此快捷键要触发的动作,“I”为在光标所在行行首插入,“//”为要输入的字符,“”表示退回命令模式,“”要逐个字符键入,不可直接按键盘的“Esc”键。执行成功后,直接在任意需要注释的行上按“Ctrl+P”就自动会在行首加上“//”号了非常方便。
    如果要取消此快捷键,只需输入命令:
    :unmap ^P
    我写程序或文档喜欢在末尾注释中写上自己的邮箱,每次录入十分麻烦,索性定义了一个快捷键,如下:
    :map ^M


3.、传说中的命令“ab”
    命令“ab”,同样可以解决上述输入邮箱的问题,因为我在Vim/Vi中定义了太多快捷键,如输入电子邮箱的、输入通信地址的、输入联系电话的、输入求偶标准的、输入PHPChina管理员三围的……后来自己都记不住了。之后一天深夜电闪雷鸣,我突然发现了这条命令——“ab”,苍天啊大地啊,我终于找到解决问题的方法了!oh yeah!
    原来输入经常用的信息可以如此简单,LOOK——
    :ab 替代符 原始信息
    示例如下:
    :ab sammail
    执行之后,在输入模式任何地方录入“sammail”,再敲任意字母符号或者回车空格,咔嚓一下,利马就变成“”,那真是相当的方便啊!

4、原来可以双剑合一
在Vim/Vi中有两个小技巧:
No.1 可以直接在Vim/Vi中执行UNIX/Linux命令不需退出Vim/Vi
    有时编写一些系统脚本,需要了解系统信息,很多同学就退出Vim/Vi然后执行命令,获得信息后再进行编辑。其实大可不必,如想获得/tmp目录下内容,只需在Vim/Vi命令模式下直接执行:
    :!ls /etc
    查看完命令结果,直接回车,就可以继续编辑非常方便。
    在Vim/Vi中执行命令,格式就是这么简单:
    :!命令
No.2 可以直接将其他文件内容导入当前编辑文件中
    格式:
    :r 文件名
    如,需要导入文件/etc/issue的内容,执行:
    :r /etc/issue
    两个非常非常easy的小伎俩,就在一个我非常郁闷的下午,狂敲键盘时一不小心没留神发现了这样一个小秘密——原来它们可以结合起来用!
    先举个例子,很多程序员喜欢写完程序后在注释中写入当前时间,我有个好办法即省事又快速还准确,只需要在命令模式下执行:
    :r !date
    当前时间就自动被导入了,任何命令的结果导入到当前编辑文件中,格式为:
    :r !命令

5、助力编程的查询功能
    以前在Linux系统下写一些C语言程序,有时记性不好,忘记了语法格式,使用Vim/Vi编写时可直接查询。如写程序写到fork时,突然失忆了(失去了对这个东东的记忆),就可以直接把光标移动到fork上,按“K”(大写的K),直接就会跳到Linux程序员手册,看到fork的帮助,看完后回车继续编写,爽啊——

6、配置文件.vimrc
    前面提到的快捷键、ab命令等的应用,设置后只在当前编辑文件中有效,如果想让它永久生效需要编辑用户宿主目录下的.vimrc文件,如你是root用户,则编辑/root/.vimrc(此文件默认不存在)。
    写入你常用的设置命令即可,如:
    :set nu
    :map ^M
    :ab sammail
    ……
    以后就永久生效了!(


7.Vim在Insert模式下,上下左右箭头键显示为ABCD四个字母。

解决:
方法1.
    编辑.vimrc,加入set nocompatible

方法2.
$ vim ~/.vimrc
set t_ku= (now type Ctrl-V and press cursor up)
set t_kd= (now type Ctrl-V and press cursor down)
set t_kr= (now type Ctrl-V and press cursor right)
set t_kr= (now type Ctrl-V and press cursor left)

You should get something that looks like

set t_ku=^[OA 
set t_kd=^[OB
set t_kr=^[OC
set t_kl=^[OD

8.
在用户配置里面写上 syntax on 可以实现语法高亮

再附上一幅图:



阅读(958) | 评论(1) | 转发(0) |
0

上一篇:精典的FC8啊!

下一篇:AWK ?

给主人留下些什么吧!~~

chinaunix网友2009-05-04 19:55:48

真的是好东东啊,谢谢