Linux文本工具之-Vim(二)

一、编辑

快捷键 功能描述
i 在当前光标所在位置插入,光标后的文本相应向右移动
I 光标所在行的行首插入,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
o 光标所在行的下插入新的一行。光标停在空行首,等待输入文本
O(大写) 光标所在行的上插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入
A 光标所在行的行尾插入,相当于光标移动到行尾再执行 a 命令
esc键 退出编辑模式
快捷键 功能描述
↑或ctr + p 上一条命令
↓或ctr + n 下一条命令
ctr + b 移动到命令行开头
ctr + e 移动到命令行结尾
ctr + ← 向左一个单词
ctr + → 向右一个单词

二、删除

字符的删除:

x:删除光标所在位置的字符。

X:删除光标前面的字符(相当于 Backspace 键)。

单词的删除:

dw:删除从光标所在位置到下一个单词开头的所有字符。

d$:删除从光标所在位置到行末的所有字符。

daw:删除包括光标所在的单词的所有字符(包括前后空格)。

diw:删除光标所在单词内的所有字符(不包括前后空格)。

d2w:删除当前单词和下一个单词。

d0:删除从行首到光标位置的所有字符。

d1:删除从行首到光标位置的第一个字符,等同于x。

dh:删除光标前一个字符,等同于X。

行的删除:

dd:删除当前行,并将其保存到寄存器中以备粘贴。

5dd:删除当前行及其下面的 4 行。

D:删除从光标位置到行末的所有字符。

:n1,n2d:删除从行号 n1 到 n2 的所有行。

dgg:删除从当前行到文件开头的所有行。

dG:删除从当前行到文件末尾的所有行。

行的合并:

J:将当前行和下一行合并为一行

三、查找

查找

/pattern:在 Vim 中,可以使用 / 后跟要查找的模式进行搜索。例如,输入 /keyword 可以在文本中查找关键字 "keyword"。

?pattern:与上述类似,不同之处在于在问号后查找模式,例如 ?keyword。

n:在查找模式下,按下 n 键可以跳转到下一个匹配项。

N:在查找模式下,按下大写的 N 键可以跳转到上一个匹配项。

替换

:s/pattern/replacement/:这是 Vim 中进行替换的基本格式。其中 pattern 是要查找的模式,replacement 是要替换成的内容。例如,:s/old/new/ 会将当前行中的第一个 "old" 替换为 "new"。

:s/pattern/replacement/g:在后面添加 g 标志,会替换所有匹配项,而不仅仅是每行的第一个匹配项。

:%s/pattern/replacement/g:在 % 前加上 : 号,可以对整个文档执行全局替换,而不只是当前行。

四、替换

cw:用于修改当前光标所在的单词。

cb:将光标移动到当前单词的开始处。

cc:用于删除整行并进入插入模式,可以输入替换的文本。

~:用于更改当前所在位置的字符的大小写(大写转小写、小写转大写)。

r:用于替换单个字符,将当前光标所在的字符替换为一个新的字符。

R:用于进入替换模式,将会替换光标后的的所有字符。

xp:用于交换当前光标所在位置的字符和其下一个字符的位置。

五、撤销修改、重做与保存

在文本编辑过程中,撤销修改和重做操作是非常重要的。此外,保存文本是确保你的更改被永久保存的一种方式。下面是一些常见的命令和操作:

撤销修改

u:按下 u 键可以撤销最近的修改。每按一次 u 键,就会撤销上一次的修改。

Ctrl + r:按下 Ctrl + r 键可以重做被撤销的修改。每按一次 Ctrl + r 键,就会重做上一次被撤销的修改。

保存文本

:w:这是 Vim 中保存文本的基本命令。在命令模式下,输入 :w 可以将当前文本保存到文件中。如果没有指定文件名,则会保存到原始文件中。

:w filename:如果你想将文件保存为特定的文件名,可以在 :w 命令后面加上文件名。例如,:w newfile.txt 将会将文件保存为名为 "newfile.txt" 的文件。

:saveas filename:这个命令会将当前文本保存到指定的文件名,类似于另存为。输入命令 :saveas newfile.txt 将会在当前目录下创建一个名为 "newfile.txt" 的副本,并将文本保存到该文件中。

U:按下大写的 U 键可以撤销对整行的所有修改,将行恢复到上一次保存时的状态。

q:在命令模式下,输入 q 可以退出 Vim。如果有未保存的修改,Vim 会发出警告并阻止退出。你可以按下 q! 来强制退出 Vim,丢弃未保存的修改。

wq:这是组合命令,可以将文本保存并退出 Vim。在命令模式下,输入 :wq 将会将文本保存到文件中,并退出 Vim 编辑器。

wq!:类似于上述的 wq 命令,但加上了 ! 表示强制保存。即使文件是只读模式或者没有写权限,也会强制保存并退出。

e!:该命令用于放弃当前的修改并重新加载文件。在命令模式下,输入 :e! 将会放弃所有未保存的修改,并重新加载原始文件。

六、行号

:set nu 普通模式下执行,同 :set number

取消行号 :set nonumber

七、其他

打开多个文件:

vim file1.txt file2.txt:在启动 Vim 时,可以通过在命令行上指定多个文件名来打开多个文件。例如,这个命令会同时将 "file1.txt" 和 "file2.txt" 文件加载到 Vim 中。

在已打开的文件之间切换:

:n:在普通模式下,输入 :n 可以跳到下一个打开的文件。

:N:在普通模式下,输入 :N 可以跳到上一个打开的文件。

在已打开的文件之间切换并保存:

:n 或者 :wn:在普通模式下,输入 :n 或者 :wn 可以切换到下一个文件并保存当前文件。

:N 或者 :wN:在普通模式下,输入 :N 或者 :wN 可以切换到上一个文件并保存当前文件。

查看已打开的文件列表:

:ls:在命令模式下,输入 :ls 可以列出当前已打开的文件列表。

在已打开的文件之间切换编辑区域:

Ctrl + ww:在正常模式下,按下 Ctrl + ww 可以在不同的分割窗口中切换编辑区域

相关推荐
IT_张三8 小时前
Ubuntu Linux运维实战指南4_文件系统基础知识
linux·运维·ubuntu
陈译8 小时前
Grafana——如何迁移Grafana到一台新服务器
运维·服务器·grafana
wangjun51598 小时前
linux redis ipv6、ipv4 只接收本地访问、接收本地和远程访问
linux·运维·服务器
eaglesstone8 小时前
centos 9 时间同步服务
linux·运维·centos
信阳农夫9 小时前
linux中yum是干啥的?
linux·运维·服务器
YH_DevJourney9 小时前
Linux-C/C++《C/7、字符串处理》(字符串输入/输出、C 库中提供的字符串处理函数、正则表达式等)
linux·c语言·c++
黑客老李9 小时前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
java·运维·服务器·前端·xss
huosenbulusi9 小时前
Linux多版本管理工具介绍
linux·运维·服务器
剩下了什么10 小时前
统信服务器操作系统V20 1070A 安装docker新版本26.1.4
运维·docker·容器
黑子哥呢?10 小时前
linux----docker配置nginx详细教程
linux·运维·nginx·docker