文件编辑
文件编辑
1 介绍
因为Linux系统一切皆为文件,而我们工作最多的就是修改某个服务的配置(其实就是修改文件内容)。vi和vim是Linux下的一个文本编辑工具,和winodws的记事本是一样的作用。
1.1 vi和vim有什么区别
vi和vim都是文本编辑器,只不过vim是vi的增强版,可以当作vi的升级版本,vim可以用多种颜色的方式来显示一些特殊的信息。vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。使用vi还是vim取决于个人习惯。
如果你是最小化安装CentOS系统,默认情况下没有vim命令,可以使用yum install vim -y
安装
1.2 vim的模式
在使用VIM之前,我们需要先介绍下VIM的三种模式: 普通模式、编辑模式、命令模式,每种模式分别支持多种不同的快捷键,要想高效率地操作文本,就必须先搞清这三种模式的操作区别以及模式之间的切换方法。
- 普通模式:主要是控制光标移动,可对文本进行复制、粘贴、删除等工作。
- 编辑模式:主要进行文本内容编辑和修改
- 命令模式: 主要用于保存或退出文本。
当使用vim
命令打开一个文件时,默认处于普通模式;从普通模式切换至编辑模式需要使用按键a/i/o
;编辑模式修改完毕后需要先使用ECS返回普通模式;在普通模式输入:
或/
进入命令模式,可实现文件的保存与退出。
2 vim的使用
2.1 普通模式
光标跳转
shift+g # 光标跳转到尾部
gg # 光标跳转到头部
Ngg # 光标跳转至当前文件内的N行
$ # 光标跳转至当前光标所在行的尾部(正则)
^或者0 # 光标跳转至当前光标所在行的首部(正则)
# 另外在xshell等一些软件上,光标跳转到所在行的首部和尾部可以使用Home和End
对于文件内容很多的时候需要上下翻页
ctrl+f # 向下翻页
ctrl+b # 向上翻页
# 另外在xshell等一些软件上,翻页也可以使用PageUp和PageDown
复制和粘贴
yy # 复制当前光标所在的行
Nyy # 复制当前光标以及光标向下N行,比如 3yy复制三行
p(小写) # 粘贴至当前光标下一行
P(大写) # 粘贴至当前光标上一行
删除、剪贴、撤销
dd # 删除当前光标所在的行(是剪切)
4dd # 删除当前光标所在的行以及往下的3行
dG # 删除当前光标以后的所有行
D # 删除当前光标及光标以后的这一行内容
x # 删除当前光标后的一个字符
X # 删除当前光标前的一个字符
dd & p # 剪切dd,用p粘贴
u # 撤销上一次的操作
替换
r # 替换当前光标标记的单个字符
R # 进入REPLACE模式, 连续替换,ESC结束
2.2 编辑模式
i # 进入编辑模式,光标不做任何操作
a # 进入编辑模式,将当前光标往后一位
o # 进入编辑模式,并在当前光标下添加一行空白内容
I # 进入编辑模式,并且光标会跳转至本行的头部
A # 进入编辑模式,将光标移动至本行的尾部
O # 进入编辑模式,并在当前光标上添加一行空白内容
ESC # 退出编辑模式使用ESC
2.3 命令模式
:
进入命令模式。
文件保存与退出
:w # 保存当前状态
:w! # 强制保存当前状态
:q # 退出当前文档(文档必须保存才能退出)
:q! # 强制退出文档不会修改当前内容
:wq # 先保存,在退出
:wq! # 强制保存并退出
:x # 先保存,在退出
ZZ # 保存退出, shfit+zz
:number # 跳转至对应的行号
:set nu # 显示行号
:set nonu # 不显示行号
文件内容查找
/string # 需要搜索的内容(查找),比如搜索 /bob 搜索bob
n # 按搜索到的内容依次往下进行查找
N # 按搜索到的内容依次往上进行查找
文件内容另存
:w /root/test.txt # 将所有内容另存为/root/test.txt文件中
文件内容读入
:r /etc/hosts # 读入/etc/hosts文件至当前光标下面
:5r /etc/hosts # 指定插入/etc/hosts文件至当前文件的第五行下面
本文来自博客园,作者:yyyz,转载请注明原文链接:https://www.cnblogs.com/yyyzyyyz/p/15572691.html