Linux文本工具之-Vim(一)
一、模式
1、普通模式
这是使用Vim打开一个文件时,Vim的默认模式。在普通模式下,您可以使用各种命令来移动光标、删除、复制、粘贴和其他编辑操作
2、插入模式
在插入模式下,您可以像在其他文本编辑器中一样输入和编辑文本。按下键盘上的插入键(通常是 i
、a
、o
或 Insert
键)即可进入插入模式
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的命令还需要自己动手去不断熟悉才能深刻。
原文地址:https://blog.csdn.net/ldwtxwh/article/details/140491591
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!