1. 打开文件
- vim /path/to/somefile
- vim +# :打开文件,并定位于第#行
- vim +:打开文件,定位至最后一行
- vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
2. 关闭文件
末行模式:
:q 退出 没有动过文件
:wq 保存并退出 动过了,不后悔
:q! 不保存并退出 动过了,后悔了
:w 保存
:w! 强行保存
:wq --> :x
ZZ: 保存并退出 不需要冒号,编辑模式
3. 模式
- 编辑模式:按键具有编辑文本功能:默认打开进入编辑模式
- 输入模式:按键本身意义
- 末行模式:接受用户命令输入
3.1 模式切换
3.1.1 编辑-->输入:
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
O:在当前光标所在行的上方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
3.1.2输入-->编辑:
- ESC
3.1.3 编辑-->末行:
- :
3.1.4 末行-->编辑:
- ESC, ESC
3.2 编辑模式
3.2.1 移动光标
字符
- h: 左;j: 下;k: 上;l: 右
单词
- w: 移至下一个单词的词首
- e: 跳至当前或下一个单词的词尾
- b: 跳至当前或前一个单词的词首
行内
- 0: 绝对行首
- ^: 行首的第一个非空白字符
- $: 绝对行尾
行间
- G:文章末尾
- 3G:第3行
- gg:文章开头
翻屏
- ctrl:f,b
3.2.2删除&替换单个字符
删除&替换单个字符
- x:删除光标位置字符
- 3x:删除光标开始3个字符
- r:替换光标位置字符
3.2.3 删除命令
- d
- dw,dd
3.2.4 复制粘贴
- yw,yy
- p
- P
3.2.5 撤销&重做
- u 撤销
- ctrl+r 重做 撤销的操作
- . 重复上一步的操作
3.3 末行模式 shift + :
3.3.1 set:设置
- set nu number
- set nonu nonumber
- set readonly
3.3.2 /:查找
- /after
- n,N
- ?向上查找
3.3.3 !:执行命令**
- :!ls -l /
3.3.4 s查找并替换
s/str1/str2/gi
- /:临近s命令的第一个字符为边界字符:/,@,#
- g:一行内全部替换
- i:忽略大小写
范围
- n:行号
- .:当前光标行
- +n:偏移n行
- -3
- %:全文