vim(vi)的常用快捷键
Posted ooops
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim(vi)的常用快捷键相关的知识,希望对你有一定的参考价值。
Vim 简介
vim是什么?听说它是编辑器之神!
神一样的存在,而我却经常用上下左右箭头来移动光标,实在是有点对不起它,所以想着稍微学学一点神的技能吧!
1. vim的三种模式
- Nomal mode:默认模式,因为使用该模式场景最多,所有定为默认模式
- Insert mode :插入模式,少用,尽量不要停留在找个模式下,操作完成之后,推荐返回默认模式
- Visual mode:可视模式,一般在需要选中的时候使用
三种模式之间的转换:
- 在插入或者可视模式下,按Esc键返回到默认模式
- 在默认模式下,按i,a,o进入插入模式
- 在默认模式下,按v,V进入可视模式
2. vim的操作
2.1 vim中的快捷键
- 移动:h(左)、l(右)、j(上)、k(下)
- 操作:d(delete)、i(insert)、a(append)、c(change)、y(copy)、p(paste)
- 缩写:w(word)、s(sentence)
2.2 vim中的正则表达式
- ^:行首
- $:行尾
2.3 vim中的命令模式
- :set nu,显示行号
- :syntax on,语法高亮
- :set autoindent,自动缩进
- :set fileencoding,显示文件编码
- :set fileencoding=utf-8,以utf-8的编码显示文件(然后w可以保存)
3. vim的神操作
3.1 移动、定位
- h:光标向左移动
- j:光标向下移动
- k:光标向上移动
- l:光标向右移动
可以在字母前面加上「数量」就可以移动多行了,比如向上移动 10 行,就是10k
- w:光标往前移动一个词
- b:光标向后移动一个词
- 0:移动光标到当前行首
- ^:移动光标到当前行的第一个字母位置(注意与 0 的区别)
- $:移动光标到行尾
- ):移动光标到下一个句子
- ( :移动光标到上一个句子
- {:移动光标到上一段
- }:移动光标到下一段
- [n]gg : 光标移动到第 n 行
- gg: 光标移动到文件首部
- G:移动到文件尾部
3.2 快速编辑
- i:在光标处插入(insert首字母小写)
- I:在行首插入(insert首字母大写)
- a:在光标处后一个字符插入(append首字母小写)
- A:在行尾插入(append首字母大写)
- o:在上一行插入
- O:在下一行插入
- s:清除当前字符并进入插入模式
- cc/S:清除当前行并进入插入模式
- cw: 清除当前单词并进入插入模式
3.3 复制、黏贴、剪切
- d[n]w:剪切光标单词及后面单词的内容(共n个单词),dw 是剪切当前单词
- [n]dd:剪切光标行及后面行的内容(共n行),dd 为剪切当前行
- D/d$:剪切光标后到行尾的内容
- d0:删除光标至当前行首
- dG:删除光标行至文档结尾
- dgg:删除光标至文档开头
- yy/Y:复制当前行的内容
- p:粘贴到光标后
- P:粘贴到光标前
3.4 撤销、查找、替换
- u:撤回上次操作
- /aaa:表示在整篇文档中搜索匹配aaa的字符串, / 表示向下查找
- ?aaa: 表示在整篇文档中搜索匹配aaa的字符串,?表示向上查找
其中aaa可以是正规表达式。查找到以后,再输入 n 查找下一个匹配处,输入 N 反方向查找。
- :%s/old/new:检索第一个“old”字符串并将其替换成 “new”
- :%s/old/new/g:检索并将所有的 “old” 替换为 “new”
- :%s/old/new/gc:检索出所有的 “old” 字符串,但在替换成 “new” 前,先询问是否替换
3.5 把vim暂时放置于后台
- Ctrl+z: 把vim暂时放置于后台
- fg : 调回之前放置于后台的vim,继续编辑
以上是关于vim(vi)的常用快捷键的主要内容,如果未能解决你的问题,请参考以下文章