删除操做:编译
<x> | 删除光标所在的字符 |
<dw> | 删除光标所在的单词 |
<d$> | 删除光标至行尾全部字符 |
<D> | 删除光标至行尾全部字符 |
<dd> | 删除当前行 |
改变与替换操做:table
<r> | 替换光标所在字符 |
<R> | 替换字符序列 |
<cw> | 替换一个单词 |
<ce> | 替换一个单词 |
<cb> | 替换光标所在的前一个字符 |
<C>/<c$> | 替换自光标位置至行尾的全部字符 |
<cc> | 替换当前行 |
查询:gcc
</abc> | 向后(下)查询abc |
<?abc> | 向前(上)查询abc |
<n> | 向后(下)继续查询 |
<N> | 向前(上)继续查询 |
拷贝粘贴:file
<yw> | 将光标所在单词拷入剪切板 |
<y$> | 将光标至行尾的字符拷入剪切板 |
<Y> | 同<y$> |
<yy> | 将当前行拷入剪切板 |
<ayy> | 拷贝a行到剪切板 |
<p> | 将剪切板中的内容黏贴在光标后 |
<P> | 将剪切板中的内容黏贴在光标前 |
保存及退出:gc
<:q> | 不保存退出 |
<:q!> | 不保存强制性退出 |
<:w> | 保存编辑 |
<:w filename> | 存入文件filename中 |
<:w! filename> | 强制性存入文件filename中 |
<:wq>/<:x>/<ZZ> | 保存强制退出 |
<:set nu> 显示行号查询
<nG> 跳到第n行tab
<U> 撤销文件
<. > 重作vi
<nyy> 拷贝n行字符
<:e filename> 打开另外一个文件
<:n filename> 建立新文件
<:!命令> 如:<:!gcc>直接在vi下编译c文件