Linux中 vim 编辑器的使用

文章目录


思维导图

前言

首先,了解一下 什么是vim 编辑器?在不同的系统中,文本的管理也会不同;windos系统就不多说了,这里主要是讲linux文本的编辑,顾名思义,linux的文本是通过 "vim" 来编辑的。

当然,Linux的编辑器可不止这一种,其还有图形模式的gedit、kwrite、openoffice等。


提示:以下是本篇文章正文内容,下面案例可供参考

一、vim编辑器模式

vim 编辑器内设有3种模式,命令模式、编辑模式、末行模式。进入vim编辑器后,三种模式之间是可以相互切换的。

  1. 命令模式:
    打开 Vim 后,默认进入的就是命令模式。

可以执行操作:

(1)移动光标(上、下、左、右箭头或其他移动快捷键)

(2)删除、复制、粘贴文本 查找和替换文本

(3)使用 /对文件执行各种全局操作

(4)切换到其他模式

  1. 编辑模式:
    编辑模式也可以称为插入模式,输入iao都可以从命令模式进入插入模式,退出插入模式时,只需要按键盘上的Esc键,退出即可,当然退出后是命令模式

从命令模式进入插入模式,可以通过按下以下任一键:

(1)i(在光标前插入)

(2)a(在光标后插入)

(3)o(在当前行下方新建一行并插入)

(4)O(在当前行上方新建一行并插入

  1. 末行模式:
    末行即是最后一行,从命令模式进入末行模式,通常通过按 : 键触发。在末行模式下,可以输入单行或多行的 Ex 命令.

执行诸如:

(1)文件保存及退出 (:w 写入文件,:q 退出,:wq 保存并退出,:q! 强制退出不保存)

(2)查找和替换:s/search/replace/

(3)设置选项:set nu 显示行号

(4)执行Shell命令:!cmd

(5)执行脚本或宏定义等高级操作。


二、简单的插入、保存和退出

/home 下新建一个 text 文本文件

c 复制代码
touch text.txt

使用 vim 编辑 text.txt

c 复制代码
vim text.txt 

进入后默认是命令行模式

要进入编辑模式(插入模式),需要输入开关命令,iao ,进入后输入hello world,

最后保存内容,可按键盘Esc键退出编辑模式,然后输入:wq退出vim编辑器

这样text.txt中就保存这 "hello world" 这个内容


三、 命令模式下常用命令即其作用

1. 命令模式

|---------|---------------------|-----------------------------------------|
| | 命令 | 作用 |
| 光标移动 | h | 向左移动光标一个字符 |
| 光标移动 | j | 向下移动光标一个字符 |
| 光标移动 | k | 向上移动光标一个字符 |
| 光标移动 | l | 向右移动光标一个字符 |
| 光标移动 | 0 | (数字零):移动到行首 |
| 光标移动 | $ | 移动到行尾 |
| 光标移动 | gg | 移动到文件首行 |
| 光标移动 | G | 移动到文件最后一行 |
| 光标移动 | Ctrl + f / PageDown | 向前翻页 |
| 光标移动 | Ctrl + b / PageUp | 向后翻页 |
| 光标移动 | H | 移动到屏幕顶部 |
| 光标移动 | M | 移动到屏幕中部 |
| 光标移动 | L | 移动到屏幕底部 |
| 文本复制与粘贴 | yy | 复制当前行 |
| 文本复制与粘贴 | nyy | (如3yy):复制接下来的n行 |
| 文本复制与粘贴 | p | 在光标下一行粘贴 |
| 文本复制与粘贴 | P | 在光标上一行粘贴 |
| 文本复制与粘贴 | "xy | 复制到寄存器x(x可以换成任意字母) |
| 文本复制与粘贴 | "xp | 从寄存器x中粘贴 |
| 文本删除 | x | 删除光标处的单个字符 |
| 文本删除 | dw | 删除光标到单词结尾 |
| 文本删除 | dd | 删除当前行 |
| 文本删除 | D | 从光标位置删除至行尾 |
| 文本删除 | ngg | ngg然后d(比如3dd):删除接下来的n行 |
| 文本替换 | r + 字符 | 替换光标下的单个字符 |
| 文本替换 | R | 进入替换模式,不断输入字符会替换光标后的所有字符直到按下Esc键/td> |
| 文本修改 | cw | 更改从光标开始到单词结尾的文本 |
| 文本修改 | cc | 更改整行 |
| 文本修改 | C | 从光标位置更改到行尾 |
| 撤销与重做 | u | 撤销最后一次更改 |
| 撤销与重做 | Ctrl + r | 重做(即撤销的反操作) |
| 搜索与替换 | /pattern | 向前搜索给定的模式(pattern/td> |
| 搜索与替换 | ?pattern | 向后搜索给定的模式 |
| 搜索与替换 | :%s/old/new/gc | 在整个文件中搜索old并替换为new,每处替换询问确认(c表示confirm) |
| 文件操作 | :w | 保存当前文件 |
| 文件操作 | :q | 退出Vim(如果没有更改则直接退出,如果有未保存的更改则无法退出) |
| 文件操作 | :q! | 强制退出,不保存任何更改 |
| 文件操作 | :wq | 保存并退出 |

相关推荐
unix2linux几秒前
Parade Series - SHA256
linux·python·mysql·shell
学思之道24 分钟前
给Linux操作系统命令取个别名
linux·运维·经验分享·学习方法
GOTXX31 分钟前
应用层协议HTTP
linux·网络·网络协议·计算机网络·http·fiddler
dong_beijing1 小时前
GO语言工程构建示例-mac和linux适用
linux·运维·服务器
小小工匠1 小时前
系统安全 - Linux /Docker 安全模型及实践
linux·安全·系统安全
2201_761199042 小时前
nginx 负载均衡1
linux·运维·服务器·nginx·负载均衡
suri ..2 小时前
【Linux】进程第三弹(虚拟地址空间)
linux·运维·服务器
害羞的白菜2 小时前
Nginx基础详解5(nginx集群、四七层的负载均衡、Jmeter工具的使用、实验验证集群的性能与单节点的性能)
linux·运维·笔记·jmeter·nginx·centos·负载均衡
纪伊路上盛名在2 小时前
如何初步部署自己的服务器,达到生信分析的及格线
linux·运维·服务器·python·学习·r语言·github
Betty’s Sweet2 小时前
[Linux]:线程(三)
linux·线程·信号量·生产者消费者模型