vim编辑器

Posted inmeditation

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim编辑器相关的知识,希望对你有一定的参考价值。

一初始vim

查看安装路径和安装的软件包

[root@VM_0_15_centos ~]# which vim
/usr/bin/vim
[root@VM_0_15_centos ~]# rpm -qf `which vim`
vim-enhanced-7.4.160-2.el7.x86_64
[root@VM_0_15_centos ~]# rpm -qf `which vi`
vim-minimal-7.4.160-2.el7.x86_64

二vim编辑器模式间切换

1vim编辑器模式介绍
command mode(命令模式) --> edit mode(编辑模式)
command mode(命令模式) --> visual edit mode(视图编辑模式)
command mode(命令模式) --> extended command mode(扩展命令模式/末行模式)
2vim编辑器模式之间切换

模式之间切换需要先通过esc键进入命令模式

进入edit mode(编辑模式)

    i,在当前字符之前插入
    a,在当前字符之后插入
    o,在下一行插入

    I,行首插入
    A,行尾插入
    O,上一行插入

进入visual edit mode(视图编辑模式)

    v             ----   进入可视模式
    ctrl+v       ----   进入可视块模式
    V             ----   进入可视行模式

进入exiended command mode(扩展命令模式)

    :

3vim各模式的命令

1command mode(命令模式)

1.1光标定位

    hjkl   ---- 左下上右
    0和home键  ----  切换到行首
    $和end键    ----    切换到行尾
    gg     ----     定位到文档的首行 
    G      ----     定位到文档的末行
    ngg / nG  ----   自定义到某行

1.2查找关键字

    /string  ----   查找关键字
    n      ----     向下查找
    N     ----      向上查找
    :noh    ----    退出查找

1.3文本编辑

    复制
    yy   ----       复制光标所在行
    5yy    ----     复制5行

    剪切/删除
    dd   ----       删除光标所在行
    6dd    ----     删除6行

    粘贴
    p       ----    粘贴

1.4恢复

    u           将你的操作逐步撤销
    ctrl+r      将你的逐步撤销再逐步恢复

1.5其他命令

    x 删除光标所在字符
    r 替换光标所在字符
    D 从光标删除到行尾
2visual edit mode(视图编辑模式)

通过一个实例会比较容易理解

多行注释实例

    1 光标先放在要注释的第一行的行首
    2 ctrl+v进入可视块模式
    3 向下移动光标,将注释的行都选中
    4 按大写的I
    5 插入你需要的内容,比如#
    6 按esc就会全部添加注释了

删除多行注释

    选中内容之后,按d,就会删除了

上述方法适用于所有批量操作场景

3extended command mode(扩展命令模式/末行模式)

3.1保存退出

w           保存
q           内容不改变时,退出
wq          保存退出,常用
q!          更改了内容之后,想回到上次保存时的状态
e!          恢复到上一次保存时的状态

3.2文本替换
/etc/passwd文件中,替换1-3行中每行出现的第一个bin进行替换为xue

:1,3 s/bin/xue

1-3行全部的bin替换为xue

:1,3 s/bin/xue/g

替换所有指定行的内容

:5 s/bin/xue/g

全文范围,将xue改为bin,搜索时候,不区分大小写

:% s/xue/bin/gi
4edit mode(编辑模式)

扩展技巧

扩展1 调用外部文件或者命令

1.1调用外部命令

场景:写脚本时候想要写入网卡mac地址,

1)命令模式下输入 
:!ifconfig

2)手动复制ether 52:54:00:89:a0:9d

3)编辑模式下右键选择  粘贴

1.2调用外部文件

1)命令模式下输入 
:r /etc/passwd

2)会自动将passwd文件写入到当前文件
扩展2 vim异常退出

touch.txt文件异常退出,再次进入该文件会出现修复界面,该如何修复呢

1直接在修复界面输入命令

只读方式打开 O
直接编辑    E
恢复      R
删除交换文件 D
退出      Q
中止      A

2在命令行通过命令恢复

q退出该界面
用命令修复
vim -r touch.txt

补充

.touch.txt.swp文件保存着你上次意外退出还没有保存的文件
上面两种方法都需要将.touch.txt.swp删除,否则会一直提示让你修复文件

扩展3 设置环境

临时设置

:set nu 设置行号
:set ic 不区分大小写
:set list 显示控制字符
:set nonu 取消设置行号

永久设置环境

vim /etc/vimrc          设置后影响系统所有用户
vim ~/.vimrc            用户家目录设置后,影响某一用户

在文件下添加内容 set nu 保存会生效

扩展4 打开两个文件

左右方式打开两个文件

vim -O /etc/passwd /etc/hosts

在两个文件中切换

ctrl+ww
扩展5 比较两个文件

有两个命令来对比两个文件,但vimdiff命令会列出两个文件来对比,更加直观

[root@VM_0_15_centos ~]# cp /etc/passwd /etc/mima
[root@VM_0_15_centos ~]# echo hhhhhhh >> /etc/mima 
[root@VM_0_15_centos ~]# diff /etc/passwd /etc/mima 
28a29
> hhhhhhh
[root@VM_0_15_centos ~]# vimdiff /etc/passwd /etc/mima 
2 files to edit
:qa 退出两个文件

以上是关于vim编辑器的主要内容,如果未能解决你的问题,请参考以下文章

如何让vim编辑器永久显示行号和命令大全

Vim编辑器的基本使用和多行缩进

linux系统怎么安装vim编辑器

Linux系统 vi/vim文本编辑器

第4章 文本编辑器Vim

2023.5.27 linux系统VIM编辑