@SiberiaBear
2016-04-26T15:40:08.000000Z
字数 2871
阅读 2387
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^q
I
-> 在可视化模式中选中一个字块,该命令允许在所有字块的行头开始输入同样的内容<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.