@SiberiaBear
2016-04-26T07:40:08.000000Z
字数 2871
阅读 2594
vi/vim
固定地址:https://www.zybuluo.com/SiberiaBear/note/49539
- 文档说明:本文档依照本人学习vi指令的进程来编写,通俗的讲学会了哪个指令就补充哪个指令,做到同步大脑的作用。在写本文档时,本人了解vi很少,可以称之为小白,所以建议入门读者浏览,有任何错误,希望能给我留言。
- 格式说明:
- 第一个字符代表操作模式,第二个及之后的字符代表按键,由于个人使用vi时间短,操作模式只包含部分而不涵盖全部模式,敬请补充;
- Ctrl的表示方法是C^,Shift的表示方法是S^;
:类命令代表命令行模式命令,不再单独列出
最后更新时间:2016年4月
目录
h j k l -> 方向键:左上下右,上下键是针对实际行操作0 -> 光标移动到当前实际行最前端^ -> 光标移动到实际行的第一个非空白字符$ -> 光标移动到实际行的末尾gg -> 光标移动到文档最前端G -> 光标移动到文档最后端% -> 匹配括号移动光标,需要先将光标移动到一个括号上,如果光标没有在括号上,则会移动到附近的一个括号上。# -> 匹配单词移动光标,匹配到的是当前光标所在的单词,向上搜索* -> 匹配单词移动光标,匹配到的是当前光标所在的单词,向下搜索zz -> 重绘屏幕,并将当前行显示在窗口的正中g+jk0$^ -> 对应的屏幕行操作w -> 将光标移动到下一个单词的词首b -> 将光标移动到上一个单词的词首e -> 将光标移动到下一个单词的词尾ge -> 将光标移动到上一个单词的词尾W -> 将光标移动到下一个字串的串首B -> 将光标移动到上一个字串的串首E -> 将光标移动到下一个字串的串尾gE -> 将光标移动到上一个字串的串尾x -> 删除光标所在处当前字符dd -> 删除光标所在当前行,并将该行添加到剪切板d -> 删除命令,用法比较多,常见的如在后边跟一些控制光标位置的指令,就会直接删除从当前字符到光标指令位置中间的字符串yy -> 拷贝光标所在当前行y0 -> 拷贝光标所在处到该行行首的所有字符y$ -> 拷贝光标所在处到该行行尾的所有字符yG -> 拷贝光标所在处到该文档最后所有字符3yy -> 拷贝光标所在行及以下3行所有字符,3为数字,下同p -> 粘贴剪切板的内容到光标处u -> 撤销上次操作C^r -> 反撤销上次撤销命令s -> 删除当前光标处一个字符,并进入插入模式,等效成cl命令S -> 删除当前光标所在一行,并进入插入模式,等效成cc命令C^h -> 删除前一个字符(与退格键相同)。注意是在插入模式下。C^w -> 删除前一个单词。C^u -> 删除至行首。c -> 暂时只知道这个命令也是删除文本的命令,但不清楚和d的差别在哪里。f{char} -> 查找从当前光标处往同一行正向查第一个{char},如果能找到,就将光标跳到这个查找项。F{char} -> 查找从当前光标处往同一行反向查第一个{char},如果能找到,就将光标跳到个查找项。; -> 在同一行内正方向重复查找f{char}命令所查找的{char},或者在同一行内反方向查找F{char}命令所查找的{char},如果能找到,就将光标跳到这个查找项。, -> 与;类似,在同一行内反方向查找f{CHAR}命令所查找的{CHAR},或者在同一行内正方向查找F{char}命令所查找的{char},如果能找到,就将光标跳到这个查找项。gU -> 将当前选中的文本变为大写字母,首先通过v可视化选中一段文本。gu -> 同理gU,将当前选中的文本变为小写字母g~ -> 转换当前选中文本的大小写状态c -/ -> 全文查找命令,后边接要查找的字符或字符串,它和f功能不同的是,f功能只能查找单一行内的单个字符n -> 配合/用于查找下一个匹配的字符或字符串N -> 配合/用于查找上一个匹配的字符或字符串i) -> 选中当前光标所在左右“()”之间的字符,同时,i}``i]这些命令也起到对应同样的作用。a) -> 选中当前光标所在左右“()”之间的字符,包括两个符号,同时,a}``a]这些命令也起到对应同样的作用。iw -> 在可视化模式中选中光标当前所在单词,光标留在最后一个单词上。aw -> 在可视化模式中选中光标所在单词,光标留在单词末尾的空格处。iW -> 与iw类似,选中字串。aW -> 与aw类似,选中字串。is -> 与iw类似,选中当前句子。as -> 与aw类似,选中当前句子。ip -> 与iw类似,选中当前段落。ap -> 与aw类似,选中当前段落。m -> 后接a-z或A-Z,作为文章标签,如mm,常用,在当前光标处加标签mi -> 进入插入模式,从当前光标所在处插入,框前边线插入o -> 进入插入模式,从下一行行首开始插入a -> 进入插入模式,从当前光标所在处插入,框后边线插入A -> 进入插入模式,从当前行的末尾处插入I -> 进入插入模式,从光标所在行的第一个非空格字符处插入O -> 大写的O,进入插入模式,从上一行行首开始插入v -> 进入可视化模式,将光标经过的地方反白选择V -> 进入可视化模式,将光标经过的行反白选择C^v -> 进入可视化模式,用长方形方式选择文本,如果在widnows下兼容系统快捷键,这个功能可能是C^qI -> 在可视化模式中选中一个字块,该命令允许在所有字块的行头开始输入同样的内容<ESC> -> 切换到普通模式C^[ -> 切换到普通模式,与
C^o -> 切换到插入-普通模式,支持做一次普通命令后立即返回插入模式。~ $ vi file1 file2 ... -> 可以同时打开多个文件,但是没有分屏显示,切换命令: n n -> 切换到下一个文件;n N -> 切换到上一个文件~ $ vi -o file1 file2 ... -> 可以同时打开多个文件,并且分屏显示,切换命令:n-i C^ww或者C^w + 上下方向键 5. n :sp dir..\file -> 可以在文件中分屏打开另一个文件,同样通过C^ww切换窗口;n :vsp dir..\file -> 纵向分屏;:w -> 将当前编辑文件写入硬盘:ls -> 列出当前编辑文件的内容,当同时处理多个文件时有用. -> 重复上一次的操作,包括命令模式下的上一次命令及输入模式下整个输入内容abc ddd deee dddf ffff
we're girls.