vi 命令/技巧

  • ctag     在编辑C/C++程序时,需要迅速定位到函数的定义位置,可以输入  :!ctags *.cpp  , 这里ctags是一个shell命令用来建立当前目录下cpp文件中的函数信息,在建立这个tags以后,在编辑时可以利用^] 来迅速跳到该函数的定义位置。 或者利用命令 :tag name 来跳到给定的tag. 之后,可以利用^t返回到上一个位置。
  • 自动缩进  :set autoindent.   取消一个级别的缩进^D , 增加一个级别的缩进^T.注意这两个命令是在插入模式下使用的。
  • 文本过滤: 你可以使用 : start,endline !command 来利用一个shell命令对给定范围内的文本进行处理,用利用处理以后的文本来替代该范围内的文本。 比如要全文变大写 :% !tr ‘[a-z]’ ‘[A-Z]’ , 或者对给定行进行排序 : range !sort
  • 执行多个shell命令不返回vi, :sh , 然后就可以键入各种命令。 要返回vi , 键入^D.
  • 多窗口: 横开^w^s或者 :split     竖开 ^W^V 或者:vsplit
  • 标识当前位置为x  mx, 将光标移到x处: `x , 返回上一标识 “,
  • VI 中删除空行  :g/^$/d    或者删除只有空格的行 :g/^\s*$/d

几个在宏中经常使用但是不易记住的指令:

  • 移动到下一个词尾  e
  • 移动到下一词词首  w or W    大小写只是标点处理的方式不一样
  • 移动到上一个词首  b or B
  • 移动到行尾 $
  • 拷贝一个单词 yw


本文地址: http://www.bagualu.net/wordpress/archives/1148 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注