vim三种模式,文本操作(操作字符/光标,列出行号可视化块模式/多文件查看)

目录

 vim--文本编辑器

功能

基本概念 

命令/默认模式

插入模式

底行模式

文本操作

引入

移动光标位置

删除字符 -- x/dd

复制/粘贴字符 -- yw/yy+p

替换文本 -- r / %s

底行模式

全局替换 -- /g

撤销操作 -- u / ctrl+r

修改字符 -- cw

示例

跳行 -- ctrl+g

底行模式

列出行号(底行模式) -- set nu

多行注释  (可视化块模式 ctrl+v)

可视化块模式(V-BLOCK)

查找字符(底行模式下: / )

完美匹配

更改大小写匹配

保存文件(底行模式)

退出vim(底行模式)

多文件查看(底行模式)

配置vim  


 vim--文本编辑器

功能

首先在知道它怎么用之前,得知道它大概是个啥东西

  • 用官方的话来说,它是适用于各种编程任务和文本编辑需求的文本编辑器
  • 类比的话,notepad++,vscode也是文本编辑器,只不过这几个适用的平台不同

基本概念 

vim最常用的有三种模式,就像pdf文件有阅读模式和编辑模式

分别是:

命令/默认模式

  • 是进入vim时的默认模式
  • 可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段
  • 只能通过它来进入另两个模式,它就像必要的桥梁一样!

插入模式

  • 进入:输入a/i/o
  • 进行文字输入,也就是编辑模式

底行模式

  • 进入: shift + : (也就是打出一个冒号)
  • 可以保存文件或退出vim

  • 也可以在不退出vim的情况下,进行文件替换,找字符串,列出行号等操作

其他模式退出到命令模式: esc键

文本操作

引入

编辑模式下只能编辑文本,而不能操作文本

(下面介绍的操作中,未说明的就是在命令模式下操作)

移动光标位置

可以用键盘上的上下左右键,也可以使用 h j k l ,这四个键在同一行,分别代表上下左右

删除字符 -- x/dd

复制/粘贴字符 -- yw/yy+p

替换文本 -- r / %s

r :替换光标所在处的字符

R :替换光标所到之处的字符,直到按下「esc」键为止

  • [删除键]可以删掉更改的字符,恢复原先的字符
底行模式

%s :在底行模式下, 输入 %s / 被替换字符 / 替换成的字符

下面,i会被替换成q:

 不加任何选项的情况下,似乎是默认将每句话符合的第一个字母进行替换:

全局替换 -- /g

如果想要全局替换,可以在后面加 /g

这样,所有的i都变成了q

撤销操作 -- u / ctrl+r

 撤销是我的心头宝,永爱

修改字符 -- cw

  • c 是“修改(change)”(即删除后进入插入模式),后面可以接一个移动命令,意思是修改光标点到移动终点之间的内容
  • w 是移动到下一个单词,所以 cw 就是把光标位置到下一个单词之前的内容删掉,并进入插入模式。就是俗话说的修改一个单词
示例

 在当前光标处,如果连续使用cw,会怎么样呢?

 

跳行 -- ctrl+g

底行模式

底行模式下:

列出行号(底行模式) -- set nu

取消行号:set nonu

多行注释  (可视化块模式 ctrl+v)

可视化块模式(V-BLOCK)

可以选择要编辑的矩形区域,然后,在选择的区域中插入、删除、复制或移动文本

查找字符(底行模式下: / )

不需要按冒号, / 键会自动进入底行模式

其中:

  • / + 字符:是从光标位置之前匹配的字符开始定位,从上往下找
  • ? + 字符:是从之后匹配的字符开始,从下往上找

默认下,是将输入的字符作为字符串进行匹配,包括该字符串的都可以被搜索到

完美匹配

如果要将输入的内容作为一个单词(也就是必须完美匹配),使用: / \<**\>

查找下一个匹配项: * :向下搜索, # :向上搜索

更改大小写匹配

添加\c

 

 来源于--Verifying your browser... | myfreax

保存文件(底行模式)

输入w

退出vim(底行模式)

  • 输入q
  • 如果无法退出,可以输入q! (! 表示强制操作)

多文件查看(底行模式)

 来源于--(23条消息) vim窗口切换_lm_y的博客-CSDN博客

配置vim  

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

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

相关文章

13 Linux 蜂鸣器

一、蜂鸣器驱动原理 常用蜂鸣器分两种&#xff0c;有源蜂鸣器和无源蜂鸣器。 它们俩的区别&#xff1a;有源蜂鸣器具有内置的振荡器和驱动电路&#xff0c;无源蜂鸣器没有&#xff1b;源蜂鸣器只需简单的数字信号来控制&#xff0c;无源蜂鸣器需要外部电路或微控制器来提供特定…

【已解决】设置SSH主机:VS Code-正在本地下载 VS Code 服务器

问题描述 很简单&#xff0c;就是我电脑强制重启之后用vscode再去连服务器&#xff0c;发现连不上了 解决办法 如上图&#xff0c;点击重试按钮&#xff0c;下面的这些东西就可以复制粘贴了 ctrf查找commit&#xff0c;这个时候就能找到一串d037ac076cee195194f93ce6fe2bdfe296…

飞行器坐标转换

飞行器坐标转换 坐标系定义方向余弦矩阵 坐标系定义 本文定义的是右手直角坐标系&#xff0c; x − y − z x-y-z x−y−z轴分别为北-天-东。 从 A A A坐标系到 B B B坐标系是分别绕 y − z − x y-z-x y−z−x轴&#xff0c;即天-东-北旋转 ψ − θ − γ \psi-\theta-\gamm…

什么是文件安全

文件安全就是通过实施严格的访问控制措施和完美的权限卫生来保护您的业务关键信息不被窥探&#xff0c;除了启用和监控安全访问控制外&#xff0c;整理数据存储在保护文件方面也起着重要作用。通过清除旧的、过时的和其他垃圾文件来定期优化文件存储&#xff0c;以专注于关键业…

AdvFaces: Adversarial Face Synthesis

AdvFaces: Adversarial Face Synthesis AdvFaces:对抗性人脸合成 摘要 我们提出了AdvFaces&#xff0c;一种自动对抗人脸合成方法&#xff0c;通过生成对抗网络学习在显著面部区域产生最小的扰动。一旦AdvFaces经过训练&#xff0c;它就可以自动产生难以察觉的扰动&#xff0…

JOSEF约瑟 数显三相电压继电器 HJY-931A/D 导轨安装

名称&#xff1a;数字交流三相电压继电器型号&#xff1a;HJY-93系列品牌&#xff1a;JOSEF约瑟电压整定范围&#xff1a;10~450VAC额定电压&#xff1a;200、400VAC功率消耗&#xff1a;≤5W HJY系列 数字交流三相电压继电器 系列型号 HJY-931A/D数字式交流三相电压继电器&am…

qt5.15.2+vs2019源码调试开发环境搭建

说明 一些qt文件不进行源码调试无法知道其中的原理。提高软件质量&#xff0c;从概念原理及应用角度看待必须知道qt类运行原理。 1.安装 在网上找到qt安装包qt-unified-windows-x64-4.5.1-online.exe&#xff0c;安装qt5.15.2&#xff0c;有选择Qt Debug Information Files …

缺陷之灵魂操作bug

一、前言 正常来说&#xff0c;我们在测试缺陷的时候都是按照case来测试的&#xff0c;但是有些场景&#xff0c;例如说发散思维这种场景&#xff0c;就会找到一些比较不太正常、不好复现的缺陷&#xff0c;然后如果要辅助研发修复&#xff0c;就会极为痛苦。 二、场景描述 大…

jmeter接口测试项目实战详解,零基础也能学,源码框架都给你

1.什么是jmeter&#xff1f; JMeter是100%完全由Java语言编写的&#xff0c;免费的开源软件&#xff0c;是非常优秀的性能测试和接口测试工具&#xff0c;支持主流协议的测试 2.jmeter能做什么&#xff1f; 1.JMeter是100%完全由Java语言编写的软件性能测试的GUI的测试工具&a…

C++二分查找算法的应用:最小好进制

本文涉及的基础知识点 二分查找 题目 以字符串的形式给出 n , 以字符串的形式返回 n 的最小 好进制 。 如果 n 的 k(k>2) 进制数的所有数位全为1&#xff0c;则称 k(k>2) 是 n 的一个 好进制 。 示例 1&#xff1a; 输入&#xff1a;n “13” 输出&#xff1a;“3” …

ActiveMQ、RabbitMQ、RocketMQ、Kafka介绍

一、消息中间件的使用场景 消息中间件的使用场景总结就是六个字&#xff1a;解耦、异步、削峰 1.解耦 如果我方系统A要与三方B系统进行数据对接&#xff0c;推送系统人员信息&#xff0c;通常我们会使用接口开发来进行。但是如果运维期间B系统进行了调整&#xff0c;或者推送过…

@Configuration 注解的 Full 模式和 Lite 模式!

Configuration 注解相信各位小伙伴经常会用到&#xff0c;但是大家知道吗&#xff0c;这个注解有两种不同的模式&#xff0c;一种叫做 Full 模式&#xff0c;另外一种则叫做 Lite 模式。 准确来说&#xff0c;Full 模式和 Lite 模式其实 1. 概念梳理 首先我们先来看一下 Spr…

YOLO算法改进6【中阶改进篇】:depthwise separable convolution轻量化C3

常规卷积操作 对于一张55像素、三通道&#xff08;shape为553&#xff09;&#xff0c;经过33卷积核的卷积层&#xff08;假设输出通道数为4&#xff0c;则卷积核shape为3334&#xff0c;最终输出4个Feature Map&#xff0c;如果有same padding则尺寸与输入层相同&#xff08;…

网易按照作者批量采集新闻资讯软件说明文档

大家好&#xff0c;我是淘小白~ 今天给大家介绍的爬虫软件是网易按照作者采集的软件 1、软件语言&#xff1a; Python 2、使用到的工具 Python selenium库、谷歌浏览器、谷歌浏览器驱动 3、文件说明&#xff1a; 4、配置文件说明&#xff1a; 5、环境配置 安装Python&am…

Docker compose容器编排

Docker compose容器编排 1、Docker compose简介 docker-compose是docker的编排工具&#xff0c;用于定义和运行一个项目&#xff0c;该项目包含多个docker容器&#xff0c;在如今的微服务时代&#xff0c;一个项目会存在多个服务&#xff0c;使用docker一个个部署操作的话就会…

[动态规划] (五) 路径问题: LeetCode 62.不同路径

[动态规划] (五) 路径问题: LeetCode 62.不同路径 文章目录 [动态规划] (五) 路径问题: LeetCode 62.不同路径题目解析解题思路状态表示状态转移方程初始化和填表返回值 代码实现总结 62. 不同路径 题目解析 (1) 机器人从左上角到右下角有多少方法 (2) 机器人只能向左或者向右…

Screens for Mac 中文版 远程桌面连接控制工具

Screens Mac 版是Mac os平台上的一款Mac VNC 客户终端,能够自由访问远程计算机设备&#xff0c; Screens Mac 版支持各种强大的远程控制辅助工具&#xff0c;例如剪切板共享、快捷方式自定义、安全连接、多屏幕支持、快速扫描连接等。 Screens 4 for mac支持多种远程桌面协议&…

2023年上半年网络工程师试题

2023年上半年网络工程师试题 【试题一】 阅读以下说明&#xff0c;回答问题1至问题4将解答填入答题纸对应的解答栏内。 【说明】 某企业办公楼网络拓扑如图1-1所示。该网络中交换机Switch1-Switch4均是二层设备&#xff0c;分布在办公楼的各层&#xff0c;上联采用千兆光纤…

Jupyter Notebook交互式开源笔记本工具

1、官网 http://jupyter.org/ 2、什么是Jupyter Notebook Jupyter Notebook一个交互式的开源笔记本工具&#xff0c;可以用于编写、运行、和共享代码、文本、图形等内容。 如下文本、代码、图形 支持多种编程语言&#xff0c;包括python、R和Julia等&#xff0c;可以走一个…

C语言编译过程总结

开发C程序有四个步骤&#xff1a;预处理、编译、汇编和链接。任何一个体系结构处理器上都可以使用C语言程序&#xff0c;只要该体系结构处理器有相应的C语言编译器和库&#xff0c;那么C源代码就可以编译并连接到目标二进制文件上运行。 我们创建一个test.c为例来讲解程序编译的…