Linux vim文本编辑器

news2024/9/23 13:19:31

Vim(Vi IMproved)是一个高度可配置的文本编辑器,它是Vi编辑器的增强版本,广泛用于程序开发和系统管理。Vim不仅保留了Vi的所有功能,还增加了许多新特性,使其更加强大和灵活。

Vim操作模式

 

普通模式:主要是做快捷操作 

移动光标:

h:左移
j:下移
k:上移
l:右移
w:移动到下一个单词的开头
b:移动到上一个单词的开头
0:移动到行首
$:移动到行尾
编辑操作:

dd:删除当前行
yy:复制当前行
p:粘贴
u:撤销
Ctrl + r:重做

准备练习文件:

[root@localhost ~]# cp /etc/passwd /tmp/

dw:删除字符操作;

以该图为例,当我们想删除光标所在处的root字符时,我们可以执行dw操作。结果如下图所示。

u:撤销操作;

yw:复制一个词汇 p:粘贴

以上操作是将行首的root复制粘贴到行尾。

yy:复制某行内容 p:粘贴

dd:删除整行内容

$功能键[End]:跳到一行中的末尾

0或功能键[Home]:从一行的末尾回到开头

shift+g:移动到文本的末尾

gg:回到文本的开头

多行复制(同行):以下图为例,有5行相同的行,需要同时将这5行粘贴到指定位置,那么使用y4↓(方向键,向下复制)进行复制操作,使用p进行粘贴,或者使用5yy复制,p粘贴,效果也是一样的

 

以该图为例,需要保留光标行,向下删除4行,相当于保留自己那一行,还需要数3行,则执行d3↓即可,或者使用4dd,效果依然是一样的

 

shift+d:删除光标后面的内容

x:删除某个字符

/string 快速查找匹配对应的字符串

例如:要查找sbin字符串 ;输入/sbin匹配查找

编辑模式:主要用于编辑文本。

从普通模式进入编辑模式的方法:

  1. i键 插入 光标在当前字符上
  2. a键 追加 光标后移一个字符上
  3. o键 往下换行并且进入编辑模式
  4. O键 往上换行并且进入编辑模式

命令行模式

使用shift+:从普通模式进入命令模式

:set number 显示行号

:set nonumber 不显示行号

:w 保存 :q 退出 :q!强制退出 :wq! 强制保存退出

:noh 去掉高亮

字符替换

例如,以该图为例,将root替换为ROOT

使用shift :进入命令模式;然后在命令行模式下输入 : s/root/ROOT/ ,该段的字符意思是将当前光标所在行的root替换成ROOT

: 1s /root/ROOT/g 该字符是将第一行的所有root替换为ROOT,g代表全局模式

: 2,7s/sbin/SBIN/g 该字符是将2~7行的sbin全局替换为SBIN

: %s/root/ROOT/g 该字符是在全局模式下将文本中所有的root替换为ROOT

: 1s/bin// 该字符相当于删除第一行的bin字符,替换为空

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1924815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

下载安装nodejs npm jarn笔记

下载安装nodejs npm jarn笔记 下载 Node.js安装Node.js修改node全局路径安装yarn 下载 Node.js 下载Node.js 安装Node.js 双击下载的下来的.msi文件运行并安装一直点next。安装路径可以是默认也可自定义。安装完成后Node.js和npm就安装完成了 命令行输入: nod…

企业网络实验(vmware虚拟机充当DHCP服务器)所有IP全部保留,只为已知mac分配固定IP

文章目录 需求实验修改dhcp虚拟机配置文件测试PC获取IP查看user-bind 需求 (vmware虚拟机充当DHCP服务器)所有IP全部保留,只为已知mac分配固定IP 实验 前期配置: https://blog.csdn.net/xzzteach/article/details/140406092 后续配置均在以上配置的前…

【学术会议征稿】第三届智能电网与能源系统国际学术会议

第三届智能电网与能源系统国际学术会议 2024 3rd International Conference on Smart Grid and Energy Systems 第三届智能电网与能源系统国际学术会议(SGES 2024)将于2024年10月25日-27日在郑州召开。 智能电网可以优化能源布局,让现有能源…

推荐一款uniapp拖动验证码插件

插件地址:易盾验证码 - DCloud 插件市场 具体使用方式访问插件地址自行获取

【教程】Vue2中使用svg矢量图

1.npm导包 npm i svg-sprite-loader --save2.创建目录放入svg文件,创建SvgIcon.js 3.SvgIcon.js const req require.context(./svg, false, /\.svg$/) const requireAll requireContext > requireContext.keys().map(requireContext) requireAll(req)4.vue.c…

【Js】导出 HTML 为 Word 文档

在 Web 开发中,有时我们希望用户能够将网页上的 HTML 内容保存为 Word 文档,以便更方便地分享和打印。 html样式 word文档 工具准备 1、 html-docx-js - npm html-docx-js是一个 JavaScript 库,用于将 HTML 内容转换为 Word 文档的格式。它…

MySQL-基础点

目录 MySQL概念 数据库三大范式是什么? blob 和 text 有什么区别? DATETIME 和 TIMESTAMP 的异同? MySQL 中 in 和 exists 的区别? MySQL 里记录货币用什么字段类型比较好? MySQL 怎么存储 emoji? 用过哪些 M…

.NET MAUI开源架构_2.什么是 .NET MAUI?

1.什么是.NET MAUI? .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。 .NET MAUI 是一款…

Flower花所比特币交易及交易费用科普

在加密货币交易中,选择一个可靠的平台至关重要。Flower花所通过提供比特币交易服务脱颖而出。本文将介绍在Flower花所进行比特币交易的基础知识及其交易费用。 什么是Flower花所? Flower花所是一家加密货币交易平台,为新手和资深交易者提供…

Python + OpenCV 简单车辆统计

目录 1 源码 2 运行结果 Python OpenCV 简单车辆统计 IDE : PyChram 1 源码 函数 car_count() 简单车辆统计 # 这是一个示例 Python 脚本。# 按 ShiftF10 执行或将其替换为您的代码。 # 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。 import cv2 impor…

Mojo语言的运用

1.Mojo语言概述 1.1什么是Mojo语言? Mojo语言是一种现代的动态编程语言,主要用于Web开发。它结合了多种语言的优点,如JavaScript、Perl和Lua,旨在为开发者提供: 简洁的语法:易于学习和使用,适…

课程设计——Python+OpenCV数字图像处理[车牌识别]

Python opencv 车牌识别 数字图像处理课程设计作业Python3OpenCV使用tkinter搭建界面tmp/文件夹是数字图像处理过程chepai/文件夹是车牌图片pic/文件夹是程序界面图PPT文件是验收时要讲的程序是从网上学习的并自己弄的,不完善,识别率不高 开发环境配置…

Java核心篇之JVM探秘:垃圾回收算法与垃圾收集器

系列文章目录 第一章 Java核心篇之JVM探秘:内存模型与管理初探 第二章 Java核心篇之JVM探秘:对象创建与内存分配机制 第三章 Java核心篇之JVM探秘:垃圾回收算法与垃圾收集器 第四章 Java核心篇之JVM调优实战:Arthas工具使用及…

QT creator与VS2019 QT加载模块方法

QT creator与VS2019加载模块方法 QT creator,pro文件添加 VS2019 QT

JavaScript中的面向对象编程

OPP在JavaScript的表现方式:原型 传统的OPP:类 ● 对象(实例)由类实例化,类的功能类似于蓝图,通过蓝图来实现建筑(实例) ● 行为(方法)从类复制到所有实例 …

子进程继承父进程文件描述符导致父进程打开设备文件失败

开发过程中有时会遇到需要在程序中执行三方程序或者shell脚本,一般会通过system(), popen(), exec簇来完成该功能。我们知道以上方法会通过fork创建子进程后在子进程中执行相应指令。如图1为某个示例流程,具体的程序执行流程如图2所示,线程my…

Android ListView

ListView ListView是以列表的形式展示具体内容的控件,ListView能够根据数据的长度自适应显示,如手机通讯录、短消息列表等都可以使用ListView实现。如图1所示是两个ListView,上半部分是数组形式的ListView,下半部分是简单列表Lis…

WPF学习(5) -- WPF绑定

一、双向绑定 1.代码示例 <Window x:Class"学习.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expres…

批量导出word,并导出一个zip文件

系统导出功能&#xff0c;多条数据分别导出word&#xff0c;多个word打包到一个zip进行导出&#xff0c;直接拷贝过去可用&#xff0c;如果缺包自行查找。 参考&#xff1a; Java使用word模板导出word_java根据模板导出word-CSDN博客. Action(value "exportToWordZip&qu…

高阶数据结构——并查集

1. 并查集的介绍 并查集是一种树型的数据结构&#xff0c;用于处理一些不相交集合的合并及查询问题&#xff08;即所谓的并、查&#xff09;。 在一些应用问题中&#xff0c;需要将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个单元素集合&#…