注:前缀':'表示vim命令(命令模式),前缀'$'表示为shell命令,
表示Ctrl + W,表示Ctrl + Shift+ 6,无前缀者均为普通模式下的键盘按键。基本的插入与修改: a 光标下一个字符处插入; i 在当前光标处插入; A 行尾插入; o 在光标下新建一行插入; r 键入替换一个字符; R 键入替换所有字符; `. 光标定位到上一次修改处; u Undo Redo :e! 撤销所有修改。 文件查找与替换: *, # 向前/后查找相同单词(如果打开set hlsearch, 则自动高亮所有匹配单词) [[ /dest 按n查找下一个;N查找上一个; ?dest 反向查找; :#,#s/old/new/g 把几行之间的old全部替换成new :%s/old/new/g 整个文件全局替换,old -> new; :s/old/new 只替换下一个匹配的字符串 :s/old/new/g 替换一行的 old -> new;文件光标定位: % 括号配对 ctrl + g 显示当前行号 linenum + G 跳至某行 G 跳至末行 H 跳至首行 ^ 跳至行首 $ 跳至行尾 fx Fx 移动到下一个/上一个x开头的单词 [[ 跳至上一个在第一列的{ (一般是函数的开头) ]] 跳至下一个在第一列的{ { 跳至上一个空行 } 跳至下一个空行 gd 光标定位在某个局部变量上时,跳到它的定义处; 使用cscope时,在源文件顶层运行 $cscope-indexer 生成cscope的tags, 然后使用查找各种数据类型的定义,再使用 回到光标原来的位置.shell: :!cmdname 临时使用shell命令cmdname :sh 暂时回到shell(exit回到vim编辑界面)多文件操作: $ vi file1 file2 一次性读入多个文件(支持shell的所有通配符) :sp file 从一个新的水平分割窗口中打开文件file :vd file 从一个新的垂直分隔窗口中打开文件file :n、:N 当前窗口进行文件间切换 当前窗口在两个文件之间切换 :Sex 在新的分割窗口中打开目录流览器 :ls 列出当前在编辑的文件 :b x 当前窗口跳到第x个文件buffer(:ls列出序号) :b file 当前窗口跳到下一个文件名包含"file"的文件buffer + 多窗口中快速切换(ctrl + w两次)其它: 插入模式中,用于语法的单词/结构自动补全常用设置: $ cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc 以上是一个基本设置 :set hlsearch 高亮显示/与?命令查找结果; :set num 显示每行行号 Fterm登录时如果要使用vi的语法彩色,需要把termtype设置为 xterm-color,或者$ export TERM=xterm-color应该也可以…… 本文来自ChinaUnix博客,如果查看原文请点: