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

相关推荐
城南云小白1 小时前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
咩咩大主教1 小时前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
Flying_Fish_roe1 小时前
linux-网络管理-网络配置
linux·网络·php
FuLLovers2 小时前
2024-09-13 冯诺依曼体系结构 OS管理 进程
linux·开发语言
xuanyu223 小时前
Linux常用指令
linux·运维·人工智能
有时间要学习3 小时前
Linux——应用层自定义协议与序列化
linux·服务器·网络
阑梦清川3 小时前
简明linux系统编程--互斥锁--TCP--UDP初识
linux·udp·tcp·互斥锁·信号·解锁·加锁
hardStudy_h3 小时前
Linux——常用系统设置和快捷键操作指令
linux·运维·服务器
XF鸭4 小时前
TCP 和 UDP 协议的区别?
linux
Flying_Fish_roe5 小时前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle