首页 > 系统相关 >【Linux】(六)—— vim编辑器

【Linux】(六)—— vim编辑器

时间:2024-06-05 21:04:11浏览次数:37  
标签:模式 Vim 插入 编辑器 Linux vim 光标

vim文件编辑器

Vim(Vi Improved)是一个高度可配置的文本编辑器,最初基于UNIX下的Vi编辑器发展而来,广泛用于程序开发和系统管理中。vim编辑器可以只通过终端命令即可编写修改文件,不需要和gedit一样需要打开类似于记事本的窗口。Vim以其高效、灵活和强大著称,但对初学者来说可能有一定的学习曲线。以下是Vim的基本使用指南:

下载vim

某些Linux的发行版本并没有在系统中集成vim编辑器,如Ubuntu。此时就需要我们手动安装vim,如果你使用下面命令安装起来很慢,我建议你先把apt安装的源更改为国内镜像,具体可以参考我在本系列博客中关于软件安装的详细讲解:【Linux】(三)—— 文件管理和软件安装-CSDN博客

sudo apt-get install vim   # 安装vim
sudo apt-get remove vim   # 卸载vim

启动Vim

在命令行中输入vimvim 文件名来启动Vim。如果指定了文件名,Vim会尝试打开该文件;否则,它会创建一个新文件。

Vim的三种模式

Vim有三种主要的工作模式:普通模式(Normal mode)、插入模式(Insert mode)和命令行模式(Command-line mode)。

  1. 普通模式:启动Vim后默认处于此模式,可以使用键盘移动光标、删除文本、复制粘贴等。
  2. 插入模式:按下iao等键可以进入插入模式,在当前位置开始输入文本。
  3. 命令行模式:按下:/?等键可以进入命令行模式,用于输入保存、查找、替换等命令。

基本操作

  • 从普通模式进入插入模式:按i在当前光标前开始插入,a在光标后插入,o在当前行下方新开一行插入。
  • 返回普通模式:在插入模式下,按EscCtrl + [返回普通模式。
  • 保存退出:在普通模式下修改完毕之后,先输入w 进入命令行模式,输入:w保存文件但不退出,:q退出(如果未做更改),:q!强制退出而不保存更改,:wq保存并退出。
  • 移动光标h左移,j下移,k上移,l右移。更快速移动:Ctrl + d向下翻半屏,Ctrl + u向上翻半屏,G跳到文件末尾,gg跳到文件开头。
  • 删除操作x删除当前字符,dd删除当前行,dw删除单词。
  • 复制粘贴yy复制当前行,p在光标后粘贴,P在光标前粘贴。

查找与替换

  • 查找:在命令行模式下输入/pattern查找pattern,按n跳到下一个匹配项,N跳到上一个。
  • 替换:s/old/new/g在当前行替换第一个oldnew:%s/old/new/g在整个文件中替换所有oldnewg标志表示全局替换。

撤销命令

  • u: 一步一步撤销
  • ctrl + r: 反撤销

标签:模式,Vim,插入,编辑器,Linux,vim,光标
From: https://blog.csdn.net/dao_cao_renshuai/article/details/139481992

相关文章

  • Linux基础 (十四):socket网络编程
         我们用户是处在应用层的,根据不同的场景和业务需求,传输层就要为我们应用层提供不同的传输协议,常见的就是TCP协议和UDP协议,二者各自有不同的特点,网络中的数据的传输其实就是两个进程间的通信,两个进程在通信时,传输层使用TCP协议将一方进程的应用层的数据传输给另一......
  • Linux基础 (十三):计算机网络基础概论
    一、网络基本概念1.1网络    把独立自主的计算机通过传输介质和网络设备链接起来,就构成一个网络,网络是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机、路由器等设备。网络设备有:交换机、路由器、集线器传输介质有:双绞线、同轴电缆、光纤......
  • Linux容器架构
    1.Iaas:基础设施即服务Infrastructure-as-a-ServicePaas:平台即服务Platform-as-a-ServiceSaas:软件即服务Software-as-a-ServiceCaas:容器即服务介于IAAS和PAASIAAS,PAAS,SAAS这些服务,用于帮助人们更快实现目标(搭建环境,使用产品)从左到右,人们需要管理与维护的地方......
  • 嵌入式 Linux LED 驱动开发实验学习
    I.MX6U-ALPHA开发板上的LED连接到I.MX6ULL的GPIO1_IO03这个引脚上,进行这个驱动开发实验之前,需要了解下地址映射。地址映射MMU全称叫做MemoryManageUnit,也就是内存管理单元。在老版本的Linux中要求处理器必须有MMU,但是现在Linux内核已经支持无MMU的处理器了。M......
  • 【linux-IMX6ULL-pinctrl和gpio子系统】
    目录1.pinctrl子系统1.1pinctrl子系统简介1.2pinctrl子系统使用1.2.1追加pin节点1.2.2配置引脚信息节点2.GPIO子系统2.1GPIO子系统简介2.1gpio子系统API函数3.检查PIN是否被其他外设使用1.pinctrl子系统1.1pinctrl子系统简介  pinctrl和gpio子系......
  • 【调试笔记-20240601-Linux-在 OpenWRT-23.05 上配置 frpc 实现内网穿透】
    调试笔记-系列文章目录调试笔记-20240601-Linux-在OpenWRT-23.05上配置frpc实现内网穿透文章目录调试笔记-系列文章目录调试笔记-20240601-Linux-在OpenWRT-23.05上配置frpc实现内网穿透前言一、调试环境操作系统:OpenWrt23.05.3调试环境调试目标二、调试步......
  • linux 测试磁盘读写压力
    目录linux测试磁盘读写压力确定唯一性验证写入速度验证读取速度linux测试磁盘读写压力新到两台服务器,上面均没有运行服务,服务器品牌不一样,现在我想测试一下两台服务器的磁盘读写速度来比较哪个服务器好。确定唯一性比如我sdb是数据盘,已经格式化为sdb1,挂载到了/data目录下......
  • 在Linux中,如何进行网络性能的模拟测试?
    在Linux中进行网络性能的模拟测试,主要是为了评估网络子系统的效率、稳定性和容错能力。这包括测试网络带宽、延迟、抖动、丢包率等关键指标。以下是一些常用工具和方法来实现网络性能的模拟测试:1.使用iperf3测量带宽和延迟安装:首先,确保iperf3已安装。如果未安装,可以通过......
  • 在Linux中,如何进行系统性能的模拟测试?
    在Linux中进行系统性能的模拟测试,目的是为了评估系统在不同负载条件下的表现,以识别瓶颈、优化配置或规划扩展方案。以下是一些常用的方法和工具来进行模拟测试:1.使用stress或stress-ng模拟负载stress:是一个简单而强大的工具,可以用来生成CPU、内存、磁盘I/O和网络负载。......
  • 在Linux中,如何进行网络性能的基准测试?
    在Linux中进行网络性能的基准测试可以帮助你评估网络带宽、延迟、吞吐量和网络应用的性能。以下是一些关键步骤和工具用于进行网络性能基准测试:1.确定测试目标明确你想要评估的网络性能指标,如带宽、延迟、丢包率、TCP/UDP性能等。2.选择基准测试工具选择适合你需求的基准测......