首页 > 技术文章 > Linux04--Vim文本编辑器

Edmondhui 2022-03-28 16:50 原文

1 vi/vim编辑器介绍

# vi/vim编辑器:用来修改文件

vi  : 同记事本一样
vim : vim是vi的升级版 (如:颜色)


# 格式: vim [选项(非必须)] [被修改的文件的路径]

# 选项:
    -r : 继续输入  # 可以把上次退出时没有保存的内容读出来,继续编写

1.1 vi/vim的三种模式

# 命令模式:进入修改文件的第一个模式,主要功能都是使用各种快捷键 
# 末行模式:对文本进行处理,例如:替换  
# 编辑模式:修改文件内容

1.2 三种模式的关系

1.3 vi/vim编辑器的原理

1.vi xxx.txt      # 检查.xxx.txt.swp是否存在
2.读取xxx.txt的内容  
3.创建一个名为.xxx.txt.swp的隐藏文件  
4.修改文件         # 修改.xxx.txt.swp文件 
5.保存文件         # .xxx.txt.swp文件存入xxx.txt中  
6.退出编辑         # 删除.xxx.txt.swp文件

2 vi/vim编辑指令

所有模式适用:上下左右键:控制光标的位置

2.1 命令模式

: (shift + :)  进入末行模式

i :进入编辑模式  # 在光标之前输入  insert的缩写
a :进入编辑模式  # 在光标之后输入  append的缩写
o :进入编辑模式  # 在光标所在位置另起一行输入

esc : 退出末行/编辑模式,回到命令模式


gg :跳转到首行 行首
G  :跳转到末行 行首 
H  :移动到屏幕的开头
L  :移动到屏幕的结尾
M  :移动到屏幕的中间

0  :从光标所在位置跳转到当前行 行首  
$  :从光标所在位置跳转到当前行 行尾 

u  :撤销上一步  # 类似于windows中的ctrl+z

dd :删除当前行    
ndd:在光标所在位置向下删除n行  # n 是具体的行数
D  :从当前行的光标所在位置删除到行末   

yy :复制光标所在行  
nyy:在光标所在位置向下复制n行  # n 是具体的行数

p  :粘贴到光标的下一行      # 小写
P  :粘贴到光标的上一行      # 大写

x  :删除光标当前字符,向后删除      # 小写  与del键一样
X  :删除光标当前字符,向前删除      # 大写
 



# 查找内容:
    向下查找:/要查找的内容,按n下一个,按N上一个
    向上查找:?要查找的内容 

2.2 末行模式

w  : 保存  
q  : 退出编辑  
wq : 保存并退出  
x  : 保存并退出  

q! : 强制退出  # 不保存退出
!  : 强制执行的意思  # 指令参数,必须跟在指令后面

n  : 直接跳转到第n行  

set nu : 显示行号  # nu number的缩写
set nonu : 取消行号


# 替换文件的内容
    格式:作用开始的行号,作用结束的行号 s#[被修改的内容]#[修改的内容]#g 

# % :代表的是文本有多少行 

eg:将文件中的man替换为MAN 
    0,410 s#man#MAN#g
    0,% s#man#MAN#g

2.3 编辑模式

ctrl + v : 进入可视化编辑模式,允许多行批量操作

# 案例:
# 1.Vim同时注释多行
    1.Ctrl + v进入块选择模式
    2.向上或向下移动光标选择多行
    3.移动光标到行的起始位置
    4.然后按大写的 I 进入行首插入模式
    5.插入注释符
    6.按Esc回到命令模式
    
# 2.Vim同时删除多行注释
    1.Ctrl + v 进入块选择模式
    2.向上或向下移动光标,选择要删除的注释符号
    3.按d键删除

3 安装vim编辑器

1.进入/etc/yum.repos.d目录
    cd /etc/yum.repos.d

2.删除所有的文件
    rm -rf ./*

3.编辑CentOS-Base.repo
    vi CentOS-Base.repo

    [base]
    name="Hello World"
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
    gpgcheck=0

4.安装
    yum install vim -y
    https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/

推荐阅读