haitao:
				
 vi简单的操作也会了。。。只是不会块操作,感觉不无法全面用它。。。
 
			[阅读: 841] 2006-07-07 12:15:54
			
				还曾专门把一个free mind的操作说明转为树:
vi快速学习
├命令模式
│├移动
││├字符
│││├h:左
│││├i:下
│││├k:右
│││└l:上
││├单词
│││├vi按空格或标点符号分隔单词
│││├vi按空格或新行来分隔长单词
│││├w:下一单词第一个字符
│││├W:下一长单词第一个字符
│││├e:下一单词最后一个字符
│││├E:下一长单词最后一个字符
│││├b:前一单词第一个字符
│││└B:前一长单词第一个字符
││├行
│││├0:到行首
│││└$:到行尾
││├句
│││├(:到句首
│││└):到句尾
││├段
│││├{:到段首
│││└}:到段尾
││└页
││  ├Ctrl-F|PageUp:到上页
││  └Ctrl-B|PageDown:到下页
│├高级
││├特定行
│││└<行号>G:跳到指定的行
││└正则搜索
││  ├/regexp:到文本式样下一次出现的地点
││  ├注意字符转换
││  │└/foo\.gif:将会匹配foo.gif
││  ├n:向前重复搜索
││  └N:向后重复搜索
│├Q进入ex模式
││├vi:回到命令模式
││├Escape:总是可以返回命令模式
││├:q:退出
││├:w:保存
││├:w filename.txt:另存为
││├:x|:wq:保存退出
││├:q!:不保存强制退出
││└文本替换
││  ├:s/regexp/replacement/:替换当前行出现的第一个式样
││  ├:s/regexp/replacement/g:替换当前行所有匹配
││  ├:%s/regexp/replacement/g:文件中所有匹配样式(这通常是需要的)
││  └:%s/regexp/replacement/gc:每次替换要求确认
│└编辑控制
│  ├x:删除当前光标所在的字符
│  ├J:将下一行接到当前行末
│  ├r:替换原字符
│  ├dd:删除当前行
│  ├重复及删除
│  │├.:重复上一命令
│  │└联合d和移动命令
│  │  ├dw:从当前位置删除到下一个单词词首
│  │  ├d):删除到下一个句首
│  │  └d}:删除本段的剩余部分
│  ├恢复!
│  │└u:回复一次命令
│  └复合命令
│    ├(数字)(移动命令)
│    │├3w:向后找3个单词
│    │├12b:向前12个单词
│    │└4j:向下4行
│    └(编辑)(数字)(移动命令)
│      ├d3w:删除光标后3个单词
│      └d2j:删除当前行和下2行
├缓冲控制
│├:sp filename.txt:在新窗口打开文件
│└Ctrl-WCtrl-W:在窗口间切换
├插入模式
│├Escape:返回命令模式
│├a|i:进入插入编辑模式
││├i:在光标处字符之前插入
││├I:文本插到当前行的行首
││├a:在光标处字符之后插入
││├A:文本插到当前行的行末
││├o:当前行下面生成一空行并插入
││└O:当前行上面生成一空行并插入
│└c:进入更改编辑模式
│  ├cc:以一新行替换当前整行
│  ├cO:替换当前位置到行首
│  ├c$:替换当前位置到行末
│  └联合c和移动命令
│    ├cW
│    ├ce
│    ├c)
│    └c}
├可视模式
│├v:进入可视化模式
│├移动或是键盘操作指定区域
││├y:复制
││└d:剪切
│└回到命令模式后
│  ├P:粘贴到光标之后
│  └p:粘贴到光标之前
└设置缩进
  ├自动缩进已启用
  │├Ctrl-D:向左缩进一级
  │└Ctrl-T:向右缩进一级
  ├:set autoindent:手动启用自动缩进
  └:set tabstop=4