Linux文本工具之-Vim(一)

一、模式

1、普通模式

这是使用Vim打开一个文件时,Vim的默认模式。在普通模式下,您可以使用各种命令来移动光标、删除、复制、粘贴和其他编辑操作

2、插入模式

在插入模式下,您可以像在其他文本编辑器中一样输入和编辑文本。按下键盘上的插入键(通常是 iaoInsert 键)即可进入插入模式

3、可视模式

可视模式允许您选择、高亮并操作文本块。您可以使用各种移动命令来选择文本。在普通模式下敲击键盘的 v 键即可进入可视模式,然后移动光标就可以选中一块文本,常用来完成文本的复制、粘贴、删除等操作。

替换模式(Replace mode): 在替换模式下,您可以直接替换光标所在位置的字符。在普通模式下敲击键盘上的 R 键即可进入替换模式

4、替换模式

在替换模式下,您可以直接替换光标所在位置的字符。在普通模式下敲击键盘上的 R 键即可进入替换模式

5、命令行模式

命令行模式允许您执行各种命令。您可以在命令行中输入命令,例如保存文件、退出Vim、显示行号等。在普通模式下敲击 : 键即可进入命令行模式。

6、Ex mode模式

Ex 模式是Vim的可选模式,它是命令行模式的扩展。Ex 模式提供了更多高级命令和编辑选项。可以一次执行多个命另

二、光标移动

1、单字符移动
  • h:向左移动一个字符
  • l:向右移动一个字符
  • j:向下移动一行
  • k:向上移动一行
  • xh:向左移动x个字符距离
2、词组的移动
  • w:向后移动一个单词,移动到下一个单词的开头
  • b:向前移动一个单词,移动到前一个单词的开头
  • e:将光标移动到下一个单词的词末,如果光标不在当前单词的词尾时会移动到当前单词的词尾
  • E:移动到单词的结尾(忽略标点符号)
  • ge:将光标移动到上一个单词的词末
  • xw:指定移动的x次数
3、行移动
  • 0:将光标移动到当前行的行首。
  • $:将光标移动到当前行的行尾。
  • ^:将光标移动到当前行的第一个非空字符处(行首和当前行非空字符不是一个位置)。
  • 2|:将光标移动到当前行的第二个字符处。| 表示列。
  • fx:在当前行中向前查找字符 x,将光标定位到下一个出现的字符位置。
  • 3fx:在当前行中向前查找字符 x,将光标定位到第三个出现的字符位置。
  • tx:在当前行中向前查找字符 x,将光标定位到下一个出现的字符前一个位置(即停在字符 x 前一个位置)。
  • %:在匹配的括号间进行跳转,比如在括号或引号的一对匹配中,移动到相匹配的括号或引号处。
4、文本块移动
  • (:将光标移动到当前 \ 上一个句子的开头。句子以句号、问号或感叹号结尾。
  • ):将光标移动到下一个句子的开头
  • {:将光标移动到当前 \ 上一个段落的开头。段落由空行或一系列连续的非空行组成。
  • }:将光标移动到下一个段落的开头。
  • [[:将光标移动到当前 \ 上一个函数或块的开头。
  • ]]:将光标移动到下一个函数或块的开头
5、屏幕中移动
  • gg:移动到文件的第一行
  • G:移动到文件的最后一行
  • xG:将光标移动到文件的第 x 行,其中 x 是行号
  • H:移动到当前屏幕的顶部行
  • M:移动到当前屏幕的中间行
  • L:移动到当前屏幕的底部行
  • Ctrl+f:向前翻页
  • Ctrl+b:向后翻页

三、滚屏和跳转

1、Ctrl+u

向屏幕上方滚动半个屏幕的高度

2、Ctrl+d

向屏幕下方滚动半个屏幕的高度

3、Ctrl+b

向屏幕上方滚动一个屏幕的高度

4、Ctrl+f

向屏幕下方滚动一个屏幕的高度

5、zt

将当前行移动到屏幕顶部

6、zz

将当前行移动到屏幕中间

7、zb

将当前行移动到屏幕底部

8、:N

将光标移动到第 N 行

四、选中

|------------|----------------|
| v | 进行字符选中 |
| V 或shift+v | 进行行选中 |
| gv | 选中上一次选择的内容 |
| o | 光标移动到选中内容另一处结尾 |
| O | 光标移动到选中内容另一处角落 |
| ctr + V | 进行块选中 |

指定内容的选中,根据光标来选中内容:

先将光标移动到指定内容的起始位置,按v进入可视模式,通过l向后选择,通过j向下选择,通过h向前选择,直到光标到达选中内容的尾部。

如下图:

ctrl+v 效果如图:

一般而言选中命令常用在文本内容或者特殊文本区块内容的拷贝和剪切 ,使用方法很简单,当在可视模式下选中了内容后,按y键复制,此时vim内容最下方可以看到提示信息如图:

关于复制的讲解移步下面内容

五、复制、剪切、粘贴、删除、撤销

1、复制
快捷键 功能描述
y 复制已选中的文本到剪贴板
n+yy 复制光标所在行,此命令前可以加数字 n,可复制多行
yw 复制光标位置的单词
ctrl+v + 方向键+yy ctrl+v,并按方向键选中区块,按下yy复制
2、剪切
快捷键 功能描述
dd 剪切光标所在行
数字+dd 以光标所在行为准(包含当前行),向下剪切指定行数
D 剪切光标所在行
3、粘贴
快捷键 功能描述
p 将剪贴板中的内容粘贴到光标后
P(大写) 将剪贴板中的内容粘贴到光标前
4、删除
快捷键 功能描述
x 删除光标所在位置的字符
X(大写) 删除光标前一个字符
dd 删除光标所在行 ,删除之后,下一行上移
D 删除光标位置到行尾 的内容,删除之后,下一行不上移
ndd 删除当前行(包括此行)后 n 行文本
dw 移动光标到单词的开头以删除该单词
dG 删除光标所在行一直到文件末尾的所有内容
:a1,a2d 删除从 a1 行到 a2 行的文本内容
5、撤销
快捷键 功能描述
u 撤销
ctrl+r 恢复
U(大写) 撤销所有编辑

实践如下图:

yy是复制光标当前行,p是粘贴复制的行到光标下方行,当光标选中的非行数据时不包含\n,所以p粘贴时在光标后。

如图:

复制上图选中的内容在当前光标位置粘贴

下图为按键yllllllp

下图效果为按键yp

实操截图只是为了讲解,vim的命令还需要自己动手去不断熟悉才能深刻。

相关推荐
日记跟新中1 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
码农君莫笑1 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
BUG 4041 小时前
Linux——Shell
linux·运维·服务器
大霞上仙2 小时前
Linux 多命令执行
linux·运维·服务器
晨欣2 小时前
Kibana:LINUX_X86_64 和 DEB_X86_64两种可选下载方式的区别
linux·运维·服务器
AI青年志2 小时前
【服务器】linux服务器管理员查看用户使用内存情况
linux·运维·服务器
dessler3 小时前
Docker-run命令详细讲解
linux·运维·后端·docker
PyAIGCMaster3 小时前
ubuntu装P104驱动
linux·运维·ubuntu
奈何不吃鱼3 小时前
【Linux】ubuntu依赖安装的各种问题汇总
linux·运维·服务器
icy、泡芙3 小时前
T527-----音频调试
linux·驱动开发·音视频