摘要:5.5 进入编辑模式
5.6 vim命令模式
5.7 vim实践
扩展:
vim的特殊用法 http://www.apelearn.com/bbs/thread-9334-1-1.html
vim常用快捷键总结 http://www.apelearn.com/bbs/thread-407-1-1.html
vim快速删除一段字符 http://www.apelearn.com/bbs/thread-842-1-1.html
vim乱码 http://www.apelearn.com/bbs/thread-6753-1-1.html
小键盘问题 http://www.apelearn.com/bbs/thread-7215-1-1.html
vim加密 http://www.apelearn.com/bbs/thread-7750-1-1.html
一 进入编辑模式
1.进入方式
1)按i键:进入编辑模式,光标所在位置为进入前的位置
2)按shift+i键:进入编辑模式,光标所在位置为进入前所在行的行首
3)按o键:进入编辑模式,光标所在位置为进入编辑模式前所在行的下一行行首(此行为新开的一行)
按下o键之前
按下o键之后
4)按shift+o键:进入编辑模式,光标所在位置为进入编辑模式前所在行的上一行行首(此行为新开的一行)
5)按a键:进入编辑模式,光标所在位置为进入前所在位置后面一位
6)按shift+a键:进入编辑模式,光标所在位置为进入前所在行的行末
二 vim命令模式
1.搜索
1)正向搜索:在一般模式下,按下/键,进入搜索功能界面,随后输入想要搜索的文本,输入完毕按下enter键,结果如下图,被搜索出来的文本会高亮显示
此时使用n键可以查看下一个被搜索出来的文本,使用shift+n键可以查看上一个被搜索出来的文本
2)反向搜索:在一般模式下,按下?键,进入搜索功能界面,随后输入想要搜索的文本,输入完毕按下enter键,结果如下图,被搜索出来的文本会高亮显示
2.替换
1)使用:进入替换模式
:[起始行],[结束行]s/[原文本]/[新文本]/g
上述命令中的s表示start开始替换,g表示global全部替换(即使在某行查找到有两个被查找的文本),如果不加g,则只会替换行中找到的第一个内容
运行上图命令结果如下
上述命令中的【结束行】可以用$符号表示需要查找到文件最后一行
2) [原文本]或[新文本]出现/符号的情况
上图运行结果如下
说明多余的/符号vim分辨不出来,
解决方案一:可以在 [原文本]或[新文本]内的/符号前加上一个\,如下
运行上图命令,结果如下
解决方案二:将命令中存在的三个/替换为#或者@符号,如下
3.其他命令
:nohl 表示no highlight不高亮显示
:x 表示强制退出,等价于:wq,两者的区别在于如果退出前没有对文本做任何操作时,使用wq会更改文件的最后更改时间mtime,而使用x退出则不会修改文件的最后更改时间mtime