Vi和Vim介绍
Windows:Notepad(记事本)、Sublime、UltraEdit等
Linux:Vi/Vim、Nano、Emacs、Sed、gedit、Kate等
Vi:Visual Interface——1976 Bill Joy(ex)——1991 Bram Moolenaar
Vim:VI IMproved——Vim是Vi的升级版,支持Vi所有命令(最小化安装默认不安装)
Vim的配置文件——全局配置:/etc/vimrc 用户配置:~/.vimrc
详细配置参考: vim配置vimrc详解_vimrc配置详解-CSDN博客
Vim模式
命令模式:通过命令操作文本文件,默认进入模式
编辑模式:对文本的内容进行编辑
可视模式:用于批量编辑(特殊模式)
底行模式:结束操作的时候使用,保存退出或搜索使用
TIP:VIM三种模式切换
打开文件
vim 文件名 默认进入命令模式
如果文件不存在则会自动创建;如果目录不存在不会创建,会在保存退出的时候报错。
例:vim /etc/sysconfig/network-scripts/ifcfg-ens33(绝对路径)
vim redis.conf(相对路径)
错误提示:E325: ATTENTION
Found a swap file by the name ".redis.conf.swp"
原因:vi/vim编辑未结束,会临时生成隐藏文件,将变动保存在.swp文件中。确定保存之后,才会覆盖原文件
①上一次改了,没有操作完——关机、断电;②有另外一个人正在同时编辑这个文件
解决方案:根据提示路径,删除对应的.swap文件或者恢复未保存数据并保存
命令模式
操作 | 按键 |
移动光标 | 方向键上下调整 |
光标跳到行首 | HOME或^(Shift+6) |
跳到行尾 | END或$(Shift+4) |
向后前进多少行 | n数字 |
退出前进一屏(Forward) | Ctrl+f |
后退一屏(Backspace) | Ctrl+b |
跳到文档末尾 | G(Shift+g) |
跳到文档开头 | :1/gg |
跳到第500行 | :500/500gg |
临时取消语法高亮 | :noh |
向后(下)查找内容 | /关键字,回车 |
向前(上)查找内容 | ?关键字,回车 |
n | 继续向下搜索下一个关键字 |
N | 继续向上搜索上一个关键字 |
复制光标所在行 | yy |
粘贴到上一行/下一行 | p/P(Shift+p) |
重复粘贴 | 3p |
删除光标前面一个字符 | X(Shift+x) |
删除光标所在位置上的字符 | Del/x |
删除当前一行 | dd |
删除光标下面n行 | ndd |
重复上一次的操作 | . |
撤销最近一次操作 | u |
恢复(取消撤销)最近一次操作 | Ctrl+r |
编辑模式
在命令模式下按下面键,进入编辑模式
a:在光标下一个字符之前插入文本
A:在光标所在的航模插入文本
i:在光标位置(当前字符)之前插入文本
I:在光标所在的行首插入文本
o:在光标所在的行下插入一行文本
O:在光标所在的行上打开新的一行并插入一行文本
r:替换光标下的单个字符,修改当前光标所在的字符
R:替换模式,每按一个键都会替换光标下的一个字符
在编辑模式下,按Ctrl+U 撤消,按Esc键退出编辑模式,进入命令模式
底行模式
在命令模式下,按:进入底行模式
:w | 保存(write) |
:q | 退出(quit) |
:wq | 保存并且保存 |
:q! | 放弃修改,强制退出 |
:e! | 放弃所有更改,重新编辑(不关闭) |
:%s/word1/word2/g | 把文档中的word1替换为word2 |
:%s/6379/8888/g | 把文档中的6379替换为8888 |
:set nu/:set number | 显示行号——临时修改 |
:set nonu | 临时取消显示行号 |
永久修改
编辑配置文件vim /etc/vimrc,在最后添加"set nu",则每次打开都可以显示行号
可视模式
可视化模式:按v进入可视化模式
按上下左右方向键进行选中,选中后可yy复制p粘贴或dd剪切/删除
可视块模式:按Ctrl+v进入可视块模式,可进行块状处理
按上下左右方向键进行选中,选中后可yy复制p粘贴或dd剪切/删除