【Linux】 - linux文本编辑器vim的常用操作

举报
1+1=王 发表于 2022/12/17 10:49:38 2022/12/17
【摘要】 【Linux】 - linux文本编辑器vim的常用操作

@[TOC]

启动和退出

【启动】:输入vim命令,屏幕显示如下:
在这里插入图片描述
【退出】:输入以下命令退出vim:

:q

此时shell会返回初始的操作窗口。如果因为一些原因,vi不能够退出 (通常是因为没有保存修改过的文件),可以通过在命令后添加感叹号的方式强制退出。

:q!

命令模式和插入模式

再次启动vim,并向其传递一个不存在的文件名,就可以通过vim创建新文件。
在这里插入图片描述
每行开头的波浪线代表此行没有任何内容,即当前文件是一个空文件。

此时,vim就处于命令模式,在命令模式中,几乎键盘上的每一个按键都代表一条命令。

如果用户需要向文件中添加一些内容,那么首先要做的就是按I键(或 i)进入插入模式。现在就可以进行输入操作了:
在这里插入图片描述
输入完成后,按Esc键退出插入模式并返回命令模式。,然后进行保存和退出操作。

保存操作

输入命令:

:w

在这里插入图片描述
文件保存成功!
然后输入以下命令退出vim:

:q

也可以将两条命令连起来使用,即:

:wq

表示保存并退出!

光标移动命令

在命令模式下,vi提供了很多移动光标命令。

按键 动作
L或右方向键 右移一位
H或左方向键 左移一位
J或下方向键 下移一行
K或上方向键 上移一行
数字0 至本行开头
A 至本行末尾,并进入插入模式
a 后移一位,并进入插入模式
Shift-6(^) 至本行第一个非空字符
Shift-4($) 至本行的末尾
W 至下一单词或标点的开头
B 至上一单词或标点的开头
Ctrl-F或Page Down 下翻一页
Ctrl-B或Page UP 上翻一页
number-Shift-G 至第number行
Shift-G(G) 至文件的最后一行

文本编辑操作

插入一行

插入文本的另一种方式是在文本中重开一行,即在两行现存的文字中间 插入空白行并进入插入模式。

命令
o 当前行的上方插入一行
O 当前行的下方插入一行

删除文本

命令 删除内容
x 当前字符
3x 当前字符和之后2个字符
dd 当前行
5dd 当前行和之后4行
dW 当前字符到下一单词的起始
d$ 当前字符到当前行的末尾
d0 当前字符到当前行的起始
d^ 当前字符到当前行下一个非空字符
dG 当前行到文件末尾
d20G 当前行到文件第20行

复制和粘贴

命令 复制内容
yy 当前行
5yy 当前行和之后4行
yW 当前字符到下一单词的起始
y$ 当前字符到当前行的末尾
y0 当前字符到当前行的起始
y^ 当前字符到当前行下一个非空字符
yG 当前行到文件末尾
y20G 当前行到文件第20行

查找和替换

行内搜索

f

f 命令在行内进行搜索,并将光标移至搜索到的下一个指定字符。比 如,命令fa就会将光标移动到本行下一处出现字符a的地方。

搜索整个文件

l

命令“/”可以完成对单词或短语的搜索。当用户使用“/”命令后,一个“/”符号会出现在屏幕的底部。接下 来,输入需要搜索的单词或短语,以Enter结束。光标就会移动到下一处 包含被搜索字符串的地方。

全局搜索和替换

输入以下命令可将文件中的abc替换为cba:

:%s/abc/cba/g

现在就来解析这条命令每一部分的功能:

符号 含义
分号用于启动一条ex命令
% 确定了操作作用的范围。%简洁地代表了从文件的第1行到最后1行。本命 令的范围还可以表示为1,$,意思 是“从第1行到文件的最后一行”。
/abc/cba 搜索和替换的文本
g 代指global(全局),也就是说对搜索到的每一行的每一个实例进行替 换。如果g缺失,那么只替换每一行第一个符合条件的实例

在命令末尾添加c,则命令在每次替换之前都会请求用户确认。

:%s/abc/cba/gc

在这里插入图片描述

  • y: 执行替换
  • n: 跳过此次替换
  • a: 执行此次替换和之后的所有替换
  • q或者ESC: 停止替换
  • l: 执行此次替换并退出替换。
  • Ctrl-E,Ctrl-Y: 分别是向下滚动和向上滚动,能用于查看替换处的上下文
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。