Linux基础——vim编辑器

vim编辑器

一. vim的概述

1.1 vim优势

Linux系统,所有的文件,都是没有后缀名的。我们要操作文件就是对文件进行编辑,使用vi或者vim编辑器。vim是vi的加强版,和vi相比,扩展了好多的功能,可以查找,复制、替换高亮等等。

1.2 vi编辑器使用

# vi 后面直接跟着文件名 ,如果这个文件不存在,代表的是帮我们创建文件并编辑
#  如果存在的话,就代表打开文件执行进行编辑

# 刚开文件的时候,【普通模式】
# 这时候,只能使用键盘上 上↑下↓左←右→ 移动光标


# 在普通模式下
# 输入 i,进入【编辑模式】【-- INSERT --】
# 进入编辑模式,就可以编辑文件 ,也是通过上↑下↓左←右→ 移动确定编辑的位置
# 在编辑模式中,敲键盘Esc键,退出编辑模式,又回到了【普通模式】


# 在普通模式下
# 输入 : ,进入【底行模式/行末模式】
# 它意味着这是最后的操作,这时候
# 输入:q! 表示放弃所有的操作,直接退出(不保存退出)
# 输入:wq! 表示写入保存并退出。

二、 vim编辑器

2.1 安装vim编辑器

 因为vim编辑器不是自带,需要安装

> yum -y install vim

2.2 vim编辑器的三种模式

2.2.1 普通模式

普通模式
    vim 文件
    进入的就是普通模式
    这时候,只能使用键盘上 上↑下↓左←右→ 移动光标

2.2.2 编辑模式

编辑模式
-- insert --
在普通模式下,输入a/i/o/O/I/A都可以进入编辑模式
进入编辑模式以后,页尾会显示-- insert -- 这时候可以正常编辑
利用 上↑下↓左←右→ 键 移动光标确认编辑的位置
敲键Esc,返回普通模式

2.2.3 底行模式

底行模式也可以称为行末模式
就是在普通模式下,输入:冒号(英文状态),就可以进入行末模式
在行末模式下可以进行:显示行号,搜索、替换、保存、退出

2.3 普通模式的一些操作

指令说明
G光标跳转到末行
gg光标跳转到首行
行号+gg光标跳转到指定行
$光标移动到当前行尾部
ctrl+f向下翻页
ctrl+b向上翻页
Y或yy复制当前所在行
行数yy从当前行开始赋值多少行
p粘贴到光标的下一行
P粘贴到光标的上一行
dd删除当前行
行数dd删除当前行以及之后的n行
dG删除光标所在的行,以及后面所有的行
u撤销上一步操作
ctrl+r反撤销,又返回撤销前的步骤

2.4 编辑模式

前提:在普通模式下进入编辑模式

指令说明
i进入编辑模式:光标就在当前位置
a进入编辑模式:光标会往后移动一位
o进入编辑模式:会在当前光标的下一行,添加一个空行
O进入编辑模式:会在当前光标的上一行,添加一个空行
A进入编辑模式:光标会跳转到本行的结尾处
I进入编辑模式:光标会回归行首

2.5 行末模式操作

指令说明
:w保存,文件不关闭
:w+[l路径]另存为
:q退出:文件不能操作过,否则不能退出
:!强制,所以一般不单独使用
:w!强制保存,文件不关闭
:q!强制退出,没有保存的内容就没有了
:wq保存文件退出
:wq!强制保存文件,然后退出
:行号跳转到制定的行

2.6 行末模式-增强功能

【查找文件内容】
# 整个文件里面被查找到的都会标为黄色背景
> :/a 然后回车

# 按 n 会根据内容继续向下
# 按 N 会根据内容继续往上

# 去除高亮(输入:noh)
end

【文件内容的读入】
:r 读取指定文件的内容,写入到光标的下一行
:行号r 读取指定文件的内容,写入到指定行下面去

# 读取bbb.txt中的内容到当前行下面
:r bbb.txt

# 读取bbb.txt中的内容到第三行的下面
:3r bbb.txt

【替换操作】

语法格式:固定语法
:%s#查找内容#替换内容#g
%s 表示整个文件
g 直接替换 也可以使用gc 会有提示是否替换


#将整个文件中h替换成@@ 直接替换,不提示
> :%s#h#@@#g

#将整个文件中@@替换成h 直接替换并提示 ,提示的时候是的就敲y
> :%s#@@#h#gc

【显示行号】:不会修改源文件
:set nu

【显示制表位Tab】
 ^I 表示制表符,$表示结束
:set list 

2.7 挂起处理

当我们编辑文件的时候,如果没有正常退出,这个文件是被挂起的,挂起的时候,就会

在缓存区有个文件如下提示被打开:

E325: 注意
发现交换文件 ".aaa.txt.swp"
            所有者: root    日期: Wed Dec 27 21:28:30 2023
            文件名: /sof14/aaa.txt
            修改过: 是
            用户名: root      主机名: localhost.localdomain
           进程 ID: 31039
正在打开文件 "aaa.txt"
              日期: Wed Dec 27 21:24:54 2023

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    如果是这样,请用 ":recover" 或 "vim -r aaa.txt"
    恢复修改的内容 (请见 ":help recovery")。
    如果你已经进行了恢复,请删除交换文件 ".aaa.txt.swp"
    以避免再看到此消息。

交换文件 ".aaa.txt.swp" 已存在!
以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 删除交换文件((D)), 退出((Q)), 中止((A)):

 如果出现以上问题,直接q退出(这时候底端可能显示你输入的q)。执行以下代码

# 删除缓冲文件
rm -rf .aaa.txt.sw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值