插入、查找、定位、删除、复制粘贴、替换@H_301_5@
一、插入文本
常用的,当然是i,但是如果只用i,那就太土鳖了,记住i、o、a即可,@H_301_5@ 当然大小写,一般区分前后的概念,这个是vim在设计各类指令的原则。
命令 执行的操作 记忆方法@H_301_5@ -----------------------------------------------------------------@H_301_5@ i 在光标的左侧插入字符@H_301_5@ I 在行首插入字符@H_301_5@ a 在光标的右侧添加文本@H_301_5@ A 在行尾添加文本@H_301_5@ o 在当前行下面插入一空行@H_301_5@ O 在当前行上面插入一空行@H_301_5@ -----------------------------------------------------------------
下面还有几个常用的设置:
命令 执行的操作 记忆方法@H_301_5@ -----------------------------------------------------------------@H_301_5@ :set showmode 当vi处在输入模式下时显示提示信息@H_301_5@ :set sm 即时显示配对的)或}@H_301_5@ :set ts=n 把制表符设置为n(默认为8)@H_301_5@ :set ai 下一行从前一行的缩进位置开始(这个在写代码时比较有用)@H_301_5@ -----------------------------------------------------------------
二、查找
命令 执行的操作 记忆方法@H_301_5@ -----------------------------------------------------------------@H_301_5@ /xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串,/ 表示向下查找,? 表示@H_301_5@ 向上查找.其中xxx可以是正规表达式,关于正规式就不多说了.@H_301_5@ 一般来说是区分大小写的,要想不区分大小写,那得先输入@H_301_5@ :set ignorecase@H_301_5@ 查找到以后,再输入 n 查找下一个匹配处,输入 N 反方向查找.
*(#) 当光标停留在某个单词上时,输入这条命令表示查找与该单词匹配的@H_301_5@ 下(上)一个单词. 同样,输入 N 反方@H_301_5@ 向查找.
g*(g#) 此命令与上条命令相似,只不过它不完全匹配光标所在处的单词,而@H_301_5@ 是匹配包含该单词的所有字符串.
gd 本命令查找与光标所在单词相匹配的单词,并将光标停留在文档的非@H_301_5@ 注释段中第一次出现这个单词的地方.
% 本命令查找与光标所在处相匹配的反括号,包括 () [] {}
f(F)x 本命令表示在光标所在行进行查找,查找光标右(左)方第一个x字符.@H_301_5@ 找到后:@H_301_5@ 输入 ; 表示继续往下找@H_301_5@ 输入,表示反方向查找
三. 移动光标
命令 执行的操作 记忆方法@H_301_5@ -----------------------------------------------------------------
w(e) 移动光标到下一个单词.@H_301_5@ b 移动光标到上一个单词.@H_301_5@ 0 移动光标到本行最开头.@H_301_5@ ^ 移动光标到本行最开头的字符处.@H_301_5@ $ 移动光标到本行结尾处.@H_301_5@ H 移动光标到屏幕的首行.@H_301_5@ M 移动光标到屏幕的中间一行.@H_301_5@ L 移动光标到屏幕的尾行.@H_301_5@ gg 移动光标到文档首行.@H_301_5@ G 移动光标到文档尾行.@H_301_5@ c-f (即 ctrl 键与 f 键一同按下) 本命令即 page down.@H_301_5@ c-b (即 ctrl 键与 b 键一同按下,后同) 本命令即 page up.@H_301_5@ '' 此命令相当有用,它移动光标到上一个标记处,比如用 gd,* 等查@H_301_5@ 找到某个单词后,再输入此命令则回到上次停留的位置.@H_301_5@ '. 此命令相当好使,它移动光标到上一次的修改行.@H_301_5@ `. 此命令相当强大,它移动光标到上一次的修改点.
@H_301_5@
四、删除文本
命令 执行的操作 记忆方法@H_301_5@ -----------------------------------------------------------------@H_301_5@ x 删除光标所在的字符@H_301_5@ 6x 删除光标位置的字符以及右侧的5个字符@H_301_5@ X 删除前一个字符@H_301_5@ dd 删除当前行@H_301_5@ 4dd 删除4行@H_301_5@ 64dd 删除64行@H_301_5@ dw 删除一个单词@H_301_5@ d0 删除到行首@H_301_5@ d$ 删除到行尾@H_301_5@ d 删除一个区域(只用于vim)@H_301_5@ p 把被剪切的文本粘贴到下面(整行)或右侧(部分行)@H_301_5@ P 把被剪切的文本粘贴到上面(整行)或左侧(部分行)@H_301_5@ "add 把当前行粘贴到缓冲区a里@H_301_5@ "ap 把缓冲区a里的内容粘贴到当前位置@H_301_5@ J 把当前行于下一行合并为一行@H_301_5@ xp 调换两个字符的位置@H_301_5@ -----------------------------------------------------------------
五、替换文本
命令 执行的操作 记忆方法@H_301_5@ -----------------------------------------------------------------@H_301_5@ rch 把光标位置的字符替换为ch@H_301_5@ R 替换光标右边的文本@H_301_5@ s 把光标所在的字符替换为任意个字符@H_301_5@ S 替换整行内容@H_301_5@ cw 修改一个单词@H_301_5@ c 修改区域里的文本(vim)@H_301_5@ ~ 改变所扫描的或区域里的字母的大小写@H_301_5@ !tr'[a-z]''[A-Z]' 把区域里的字母转换为大写(vim)@H_301_5@ !tr'[A-Z]''[a-z]' 把区域里的字母转换为小写(vim)
-----------------------------------------------------------------
六、复制粘贴文本
命令 执行的操作 记忆方法@H_301_5@ -----------------------------------------------------------------@H_301_5@ yy 复制当前行@H_301_5@ 6yy 复制六行@H_301_5@ yw 复制单词@H_301_5@ y 复制区域(vim)@H_301_5@ p 把复制的文本粘贴到右边或下面@H_301_5@ P 把复制的文本粘贴到左边或上面@H_301_5@ "ayy 把当前行复制到缓冲区a里@H_301_5@ "ap 恢复缓冲区a里的内容@H_301_5@ ----------------------------------------------------------------