目录
一、vim编辑器概念
1、为什么用vim编辑器?
2、vim的格式
?二、vim的模式
1、命令模式
1.1退出vim快捷键
1.2光标跳转
1.3常用操作命令
2、输入模式
3、末行模式
一、vim编辑器概念
1、为什么用vim编辑器?
Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。而使用vim编辑器主要原因有两点:
- 因为安装率高,功能强大
- 是linux自带的编辑器,基本上所有的linux在装系统是已经安装好了(vi:基于所有的linux系统都有;?vim:是对于vi的升级版)
2、vim的格式
格式:vim? 文件...
- 文件已存在,是查看修改编辑
- 文件不存在,在保存后建立新文件
vim的选项及功能
常用选项 | 效果 | !?? ? | 打开上一次的文件 | +/PATTERN? | 让光标处于第一个被PATTERN匹配到的行行首(很少用) | +? 行号 | 打开文件后,让光标处于第几行行首 |
实例:
!vim? 可以打开上一次的文件
?+行号?打开文件后,让光标处于第几行行首
?二、vim的模式
基本上vi可以分为三种状态,分别是命令模式(command mode)、编辑模式(Insert mode)和末行模式(last line mode),各模式的功能区分如下:
- 命令(普通)模式:默认模式,可以实现移动光标,剪切/粘贴文本
- 插入(编辑)模式:用于修改文本,对内容进行编辑,esc键退回命令模式
- 扩展命令(末行模式 ):保存,退出等搜索替代
1、命令模式
? ? ? ?命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行<font color='red'>复制、粘贴、替换、删除</font>等操作。
1.1退出vim快捷键
1.2光标跳转
1.3常用操作命令
分类 | 快捷键 | 功能 |
---|
字符编辑 | x | 剪切光标处的字符 | xp | 交换光标所在处的字符及其后面字符的位置 | ~ | 转换大小写 | 替换命令 | r | 只替换光标所在处的一个字符 | R | 切换成REPLACE模式(在末行出现-- REPLACE -- 提示),按ESC回到命令模式 | 删除命令 | d | 删除命令,可结合光标跳转字符,实现范围删除 | d$ | 删除到行尾 | d^ | 删除到非空行首 | d0 | 删除到行首 | dw | 下一个单词的词首 | de | 当前或下一个单词的词尾 | db | 当前或上一个单词的词首 | dd | 剪切光标所在的行 | #dd | 多行删除 | D | 从当前光标位置一直删除到行尾,等同于d$ | 复制命令 | yy | 复制行 | #yy | 复制多行 | Y | 复制整行 | 粘贴命令 | p | 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面 | P | 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面 | 改变命令 | c | 删除后切换成插入模式 | cc | 删除当前行并输入新内容,相当于S | C | 删除当前光标到行尾,并切换成插入模式,相当于c$ | 查找 | /PATTERN | 从当前光标所在处向文件尾部查找 | ?PATTERN | 从当前光标所在处向文件首部查找 | n | 与命令同方向 | N | 与命令反方向 | 撤消更改 | u | 撤销最近的更改,相当于windows中ctrl+z | #u | 撤销之前多次更改 | U | 撤消光标落在这行后所有此行的更改 | Ctrl-r | 重做最后的“撤消”更改,相当于windows中crtl+y | . | 重复前一个操作 | #. | 重复前一个操作#次 |
2、输入模式
? ? ? ? 输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。
快捷键 | 功能 |
---|
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 | I | 行首插入命令 | o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 | O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 | a | 在当前光标所在位置之后插入随后输入的文本 | A | 行尾插入命令 |
3、末行模式
? ? ? ?末行模式:文件中的指定内容执行<font color='red'>保存、查找或替换</font>等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。
|