Chinaunix首页 | 论坛 | 博客
  • 博客访问: 255686
  • 博文数量: 54
  • 博客积分: 1761
  • 博客等级: 上尉
  • 技术积分: 585
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-17 23:30
文章分类

全部博文(54)

文章存档

2013年(4)

2012年(7)

2011年(15)

2010年(28)

分类: LINUX

2010-11-17 23:34:13

有关VI的一些技巧和教材随处可见。不过功能太多,学得多不如用的多。把自己常用的功能写下来,给那些和自己有类似操作的人一些启示。

上下左右的移动: 基本常识,不做介绍
一行中的移动:
  •     w 往后一词(词头)
  •     b 往前一词
  •     ^ 到行头
  •     $ 到行尾
  •     e 往后一词(词尾)
  •     fx 往后找本行中的x
  •     Fx 往前找本行中的x
  •     ;或者, 前者是在同行中向后继续执行查找,后者是在同行中向后继续执行查找
  •     % 找位置所在符号的匹配符,例如(的匹配符是)
屏幕中移动:
  •     H,M,L 代表本屏中的high,middle,low
  •     ma 在这个位置做一个mark,并且命名为a(mb,mark b这个位置)
  •     'a 去刚才mark的位置a
  •     nG  去到文件的第n行
  •     '' (两个单引号)可以回到G之前所在的行
  •     ctrl + U 往上半个屏幕
  •     ctrl + D 往下半个屏幕
  •     ctrl + G 显示现在坐在的行,文件名和列等信息

多屏幕:
  •     :split 或 :sp 再开一个屏幕
  •     :split file 将文件打开到另一个屏幕
  •     :vsplit 打开一个垂直屏幕
  •     ctrl w w 在多个屏幕之间切换
  •     5 ctrl w +/- 变化出口五个单位大小
  •     qall 一次性从所有窗口中退出
  •     :edit 重新load當前文件,並讀入該文件自打開以後的更新

编辑:
  •     d,dw,D,x 非常常见
  •     v 選取一個光標到達位置的所有字,V選取光標到達的所有行
  •     ctrl + v 選取行後,對覆蓋的內容作的操作可以反映到所有行。例如
  •               : ctrl + v -> I -> # -> esc 這樣可以將一段註釋掉
  •     :> 或 >> 本行缩进一个tab
  •     :< 或 << 本行向前缩进一个tab
  •     ~ 切换所在位置字符的大小写
  •     r 替换本字
  •     J 两行合并在一起。
  •     R 替换后面的字
  •     . 重复上一个命令
  •     u undo
  •     ctrl + r redo
  •     !command 对选定的行 执行系统命令
设置:
  • set number/set nu 设置行号
  • set ic 忽略大小写
  • set tabstop=4 设置tab键跳4格
  • set ai/autoindent 设置成自动indent
  • set list 显示非普通字符,例如回车和tab
  • set hlsearch 在搜索时,高亮所有找到的字符
  • set ruler 在右下角动态显示行号和列号
  • set showmatch 现实括号等相配符
  • :sh 进入到shell,当然vi不退出,在shell中exit,可以退到vi
全局替换命令:
:g/^$/d

:g will execute a command on lines which match a regex. The regex is 'blank line' and the command is :d (delete)

高级应用快捷键

 快捷键可不是windows的专利。vi下面的快捷方式让你爱不失手。

设置方法如下:

map 顯示當前所有的map情況

map  [  :tabp  即将[ 和 tabp加回车这一组和操作对应起来。

高级应用(宏)
qa commands q 设置宏a,开始记录命令,q来结束宏。
8@a,  执行宏,8次执行宏a。

目前常用的就这么多。以后有新的体会继续补充。

红色部分在某些版本的vim中将有可能不一样。

7.0 新特性

7.0版本的vim还有许多新功能。 最值得称道的是他的tab功能。 让许多用户可以体验到windows中的感觉。

打开多个文件在tab中的办法是

vi -p file1 file2

或者是在打开一个文件后

:tabe file2这样去打开第二个文件。

阅读(612) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:我的Sed体会

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