天天看点

Linux运维——Vim编辑器Vim编辑器

Vim编辑器

Vim重点:光标的移动、模式切换、删除、查找、替换、复制、粘贴、撤销命令的使用

一、Vim三种模式(重点)

Vim中存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式)

命令模式: 在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等) ———— 打开文件之后默认进入的模式

编辑模式: 在该模式下可以对文件的内容进行编辑

末行模式:可以在末行输入命令对文件进行操作(搜索、替换、保存、退出、撤销、高亮)

Vim的打开文件的方式(4种,要求掌握的就前三种)

#vim 文件路径 作用:打开指定的文件

#vim +数字 文件的路径 作用:打开指定的文件,并且将光标移动到指定行

#vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词

#vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件

重点:先复制出一个/etc/passwd文件,复制当前家目录下 (不要直接在etc/passwd直接改,养成一个良好的运维习惯)

Linux运维——Vim编辑器Vim编辑器

后续一切vim命令都基于 /root/passwd文件进行操作

#cd /root/

#vim passwd

#vim +10 passwd

#vim +/login passwd

退出方式 : 冒号+q

二、命令模式

注意:改模式打开文件的第一个看到的模式(打开文件即可进入)

1、光标移动

①光标移动到行首 或 ^ 按键:shift + 6 (T字母上面的6,不要按小键盘的6)

②光标移动到行尾 或 $ 按键:shift + 4 (R字母上面的4)

③光标移动到首行 按键:gg

④光标移动到末行 按键:G (shift+G)

⑤翻屏

向上翻屏:按键 ctrl + b (back) 或 PgUp

2、复制操作

①复制光标所在行 按键:yy

粘贴:在想要复制的地方按下 P 键

②以光标所在行为准(包含当前行),向下复制指定的行数 按键:数字yy

③可视化复制 按键:ctrl + v 然后通过 方向键 选中之后,按下yy

3、剪切/删除

①剪切/删除光标所在行 按键:dd

注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果

②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行

按键:数字dd

③剪切/删除光标所在的当前行,但是删除后下一行不上移动(删除之后当前行会变空白行 )

按键:D

4、撤销/恢复

撤销:u 输入 冒号+u(但这个不属于命令模式) undo

恢复:ctrl + r 恢复(取消)之前的撤销操作

5、扩展1:光标的快速移动

①快速将光标移动到指定的行 按键:数字G

②以当前光标为准 向上下 移动n行 按键:数字 ↑,数字 ↓

③以当前光标为准 向左/向右 移动n字符 按键:数字←,数字→

④末行模式 —— 按键:冒号+数字

三、模式切换示意图

Linux运维——Vim编辑器Vim编辑器

四、末行模式

进入方式:由命令模式进入,按下 “ :” 即可进入 还有 / (搜索)

退出方式:

a.按下esc

b.连按2次esc键

c.删除末行全部输入字符

①保存操作

输入:“ :w ” 保存文件

输入:“ :w 路径 ” 另存为

②退出

输入:“ :q ”

③保存并退出

输入:“ :w q”

④强制( !)

输入:“ :q !” 表示强制退出,刚才做的修改操作不做保存

⑤调用外部命令

输入: “ :!外部命令 ”

Linux运维——Vim编辑器Vim编辑器

⑥搜索/查找

输入:“/关键词”

在搜索结果中切换 上/下结果 : N / n

如果需要取消高亮,则需要输入 :nohl (no highlight)

⑦替换

:s / 搜索的关键词 / 新的内容 替换光标所在行的第一处符合条件的内容

:s / 搜索的关键词 / 新的内容 / g 替换光标所在行的全部符合条件的内容

:%s / 搜索的关键词 / 新的内容 替换整个文档中每行第一个符合条件的内容

:%s / 搜索的关键词 / 新的内容 / g 替换整个文档的符合条件的内容

%表示整个文件 g表示全局(global)

⑧显示行号

输入: “:set nu”

如果想取消显示,则输入 “:set nonu”

⑨扩展2: 使用vim同时打开多个文件,在末行模式下进行切换文件

查看当前以及打开的文件名称: “ :files ”

Linux运维——Vim编辑器Vim编辑器

第35行是表示当前 光标停留的位置

在%a参数的位置有2种显示可能:

  %a :a = active,表示当前正在打开的文件

  #:表示上一个打开的文件

切换文件的方式:

a.如果需要制定切换文件的名称,输入 : “:open 已经打开的文件名 ”

:oepn group

b.可以通过其他命令来切换上一个文件 / 下一个文件

输入 : “:bp ” 切换到上一个文件(back previous)

输入 : “:bn ” 切换到下一个文件(back next)

五、编辑模式

Linux运维——Vim编辑器Vim编辑器

六、实用功能

1、代码着色

如何控制着色 显示与否?

显示: “:syntax on”

关闭显示: “:syntax off”

2、vim中计算器的使用

当在编辑文件的时候突然需要使用计算器去计算一些公式,则此时需要用计算器,但是需要退出,vim自身集成了一个简易的计算器

a.进入编辑模式(按i进入)

b.按下按键 “ctrl +R”,然后输入 “ = ”,此时光标会变到最后一行

c.输入需要计算的内容,按下回车

八、扩展(3)

1、Vim的配置(重点)

Vim是一款编辑器,编辑器也是有配置文件的。

Vim配置有三种情况:

a.在文件打开的时候在末行模式下输入的配置(临时的)

b.个人配置文件(~/.vimrc,如果没有可以自行新建 touch .vimrc)

c.全局配置文件(vim自带,/etc/vimrc)

①在home目录下,新建好个人配置文件之后进入编辑

cd

touch .vimrc

②在配置文件中进行配置

vim .vimrc

Linux运维——Vim编辑器Vim编辑器

配置好之后vim打开文件就会永远显示行号

问题:如果某个配置项,在个人配置文件与全局配置文件产生冲突的时候应该以谁为准?

个人配置文件中存在,则以个人配置文件为准。 不存在则以全局配置文件为准

2、异常退出

异常退出:在编辑文件之后并没有正常的去wq(保存退出),而是遇到突然关闭终端或者断电的情况,则会显示下面的效果

解决方法:将交换文件(在编译过程中产生的临时文件)删掉即可 ___ cd下 ls -a

#rm -f .xxx.swp

3、别名机制

作用:相当于创建一些属于自己的自定义命令

例如:在windows下有 cls的清屏,我也想在Linux cls (实际 Linux的清屏是 clear 或 ctrl +L)

别名机制依靠home目录下的一个别名映射文件:~/.bashrc

vim下 alias cls=‘clear’

注意: 如果想新创造的命令生效,重新登陆当前用户 或 执行source ~/.bashrc即可,无需重新登录

4、退出方式

除了 q和wq,还有个 : x (如果修改了,它会保存退出。如果没修改,它直接退出)

如果用 wq ,即使文件没修改,用wq后 文件修改时间也会更新

:X (注意别用到大X,这个大X是对文件加密的意思)

继续阅读