vim编辑器
- 几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;
- Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计接口
命令格式:vim [选项]...文件 ...
vim 文件名不存在 是新建
vim 文件名存在 就是修改
| 选项 | 作用 |
|---|---|
| +或# | 打开文件后,让光标处于第#行的行首,+默认行尾 |
| ! | 打开上一次的文件 |
| +/PATTERN | 让光标处于第一个被PATTERN匹配到的行行首用不多 |
1.vim三种常见模式
- 命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本
- 插入(Insert)或编辑模式:用于修改文本
- 扩展命令(extended command )或末行模式:保存,退出等搜索替代
命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
| 操作键 | 功能 |
|---|---|
| ctrl+f或者Pagedown | 向下翻页 |
| ctrl+b或者Pageup | 向上翻页 |
| Home;^;0 | 跳到本行的行首 |
| 按 End 键或$ | 跳转到本行的行尾 |
| 1G 或 gg | 跳转到文件的第一行包括空行 |
| G | 跳转文件的末尾 |
| #G | #代表行号数字,直接跳转到#行 |
| M | 跳转到当前显示页面的中间行 |
| x或delete | 删除当前光标的字符 |
| dd | 删除一整行 |
| #dd | 删除当前光标开始到第#行(包括当前行) |
| d^ | 删除当前光标之前到行首 往前不包括当前光标处的字符 86 往后删除包括当前光标处的字符 |
| d$ | 删除当前光标到行尾 |
| dw | 删除当前光标处的单词 |
| R 或shift+r | 替换当前光标处文字,会进入替换模式 |
| yy | 复制当前光标处整行 |
| #yy | 复制当前光标处向下的#行 |
| p | 粘贴到光标处下一行 |
| P | 粘贴到光标处上一行 |
| u | 只消除上一次可多次使用 |
| U | U 取消所有操作 |
| /字符 | 向下查找 |
| ?字符 | 向上查找 |
| n | 向同一方向重复上次的查找指令 |
| N | 向相反方向重复上次的查找指定末行模式 |
2. 输入模式
输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令,当编辑文件完成后按 Esc 键即可返回命令模式。
切入到输入模式
| 快捷键 | 功能描述 |
|---|---|
| i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
| I | 行首插入命令 |
| o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
| O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
| a | 在当前光标所在位置之后插入随后输入的文本 |
| A | 行尾插入命令 |
3.末行模式
末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这时就可以输入相关指令进行操作了
| 快捷键 | 功能效果 |
|---|---|
| :q | 退出不保存 |
| :q! | 强制退出不保存 |
| :w | 保存 |
| :w 新文件名 | 另存为新文件 |
| :wq :zz :x | 保存并退出 |
| :e 其他文件名(如果已修改需要加e!) | 打开新文件进行编辑 |
| :r 其他文件名 | 在当前文件中读入其他文件内容 |
| !命令 | 执行命令 |
| :r!命令 | 读入命令 |
| : [替换范围] s /旧的内容/新的内容[/g] | % ^ $ |
| :s /old/new | 替换当前行中的第一个old改为new |
| :s /old/new/g | 替换当前行中的所有old改为new |
| :#,# s /old/new/g | #到#行所有old改为new |
| :%s /old/new/g | %代表全文 全文替换所有old改为new |
| # d | 删除 第#行 |
| #,# d | 删除#到#行 |
| #,# y | 复制三到6 行 |
| :set nu 或:set nonu | 加行号 不显示行号 |
| :set cul (:set nocul ) | 光标所在行有下划线(取消) |
| no hl | 取消高亮 |
| :set ai | 对齐 回车后和上一行对齐 |
| :set all 可以看所有的一些帮助 | 可以看所有的一些帮助 |
| set key=password (大X) | 加密码 |
| set key=空白 | 取消密码 |
| set tabstop=4 (set ts=4) | tab 一次为四个空格 |
| .!命令 (who,date ) | 将date命令插入当前行注意会覆盖当前行 |
vim 配置文件分为系统配置文件和用户配置文件:
- 系统配置文件位于 Vim 的安装目录(默认路径为 /etc/.vimrc);
- 用户配置文件位于主目录 ~/.vimrc,即通过执行 vim ~/.vimrc命令即可对此配置文件进行合理修改。通常情况下,Vim 用户配置文件需要自己手动创建。
| 设置参数 | 功能描述 |
|---|---|
| set nu | 显示行号 |
| set cul | 突出显示当前行。 |
| set ai | 设置自动缩进,即每行的缩进同上一节相同。 |
| set ts=4 | 设置 Tab 键宽度为 4 个空格。 |