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

目录

vim--文本编辑器

功能

基本概念

命令/默认模式

插入模式

底行模式

文本操作

引入

移动光标位置

[删除字符 -- x/dd](#删除字符 -- x/dd)

[复制/粘贴字符 -- yw/yy+p](#复制/粘贴字符 -- yw/yy+p)

[替换文本 -- r / %s](#替换文本 -- r / %s)

底行模式

[全局替换 -- /g](#全局替换 -- /g)

[撤销操作 -- u / ctrl+r](#撤销操作 -- u / ctrl+r)

[修改字符 -- cw](#修改字符 -- cw)

示例

[跳行 -- ctrl+g](#跳行 -- ctrl+g)

底行模式

[列出行号(底行模式) -- set nu](#列出行号(底行模式) -- 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

相关推荐
什么半岛铁盒18 分钟前
【Linux系统】Linux环境变量:系统配置的隐形指挥官
linux
Lw老王要学习1 小时前
Linux容器篇、第一章_02Rocky9.5 系统下 Docker 的持久化操作与 Dockerfile 指令详解
linux·运维·docker·容器·云计算
橙子小哥的代码世界1 小时前
【大模型RAG】Docker 一键部署 Milvus 完整攻略
linux·docker·大模型·milvus·向量数据库·rag
倔强的石头1062 小时前
【Linux指南】用户与系统基础操作
linux·运维·服务器
云上艺旅2 小时前
centos升级内核
linux·运维·centos
kaikaile19952 小时前
centos开启samba服务
linux·运维·centos
云上艺旅2 小时前
centos部署k8s v1.33版本
linux·云原生·kubernetes·centos
好多知识都想学2 小时前
Centos 7 服务器部署多网站
linux·服务器·centos
好多知识都想学2 小时前
centos 7 部署awstats 网站访问检测
linux·运维·centos
Li-Yongjun3 小时前
深度解析 Linux 内核参数 net.ipv4.tcp_rmem:优化网络性能的关键
linux·网络·tcp/ip