Vim高手修炼手册:Linux下最全常用命令集锦,Linux环境下vim不可不知的常用命令大全

目录

vi编辑器和vim编辑器

vi编辑器

vim编辑器

vi和vim编辑器的区别

vim编辑器的三种模式

普通模式(Normal mode)

插入模式(Insert mode)

命令行模式(Command-line mode)


vi编辑器和vim编辑器

Linux中的vi和vim都是文本编辑器,它们在Linux和Unix系统中广泛使用。尽管它们在某些方面相似,但也存在一些关键的区别。

vi编辑器

  • 基本概述:vi是Unix和Linux下的标准文本编辑器,最早由比尔·乌尔曼(Bill Joy)于1976年开发。它以其高效的键盘快捷键而闻名,并在大多数Unix和Linux系统上内置。
  • 模式:vi编辑器主要支持三种模式:
  1. 命令模式(Command mode):用于执行大多数编辑命令,如移动光标、删除字符等。
  2. 插入模式(Insert mode):在该模式下,用户可以输入文本。
  3. 末行模式(Last line mode):也称为指令列命令模式,用于执行文件保存、退出编辑器以及搜索和替换等操作。

vim编辑器

  • 基本概述:vim是vi的增强版本,由布莱姆·米特尔斯(Bram Moolenaar)于1991年开发。vim在保留vi基本功能的基础上,添加了许多新特性,如多级撤销、语法高亮、自动缩进、宏录制、拼写检查、插件支持等。
  • 模式:vim在vi的基础上增加了一个模式,共支持四种模式:
  1. 正常模式(Normal mode):类似于vi的命令模式,用于执行大多数编辑命令。
  2. 插入模式(Insert mode):用于输入文本。
  3. 命令模式(Command-line mode):类似于vi的末行模式,但提供了更丰富的命令选项。
  4. 可视模式(Visual mode):允许用户以可视化的方式选择文本块,方便进行复制、粘贴等操作。

vi和vim编辑器的区别

  1. 撤销功能:在vi中,按u只能撤销上一次的命令;而在vim中,可以无限制地撤销之前的命令。
  2. 操作系统兼容性:vi只能运行在Unix系统上;而vim不仅可以运行在Unix系统上,还可以运行在Linux、Windows、macOS等多个操作平台上。
  3. 功能特性:vim相比vi增加了许多新特性,如语法高亮、自动缩进、宏录制等,使得vim在编程和文本编辑方面更加强大和灵活。
  4. 模式支持:vim在vi的基础上增加了一个可视模式,使得文本编辑更加直观和方便。

vim编辑器的三种模式

普通模式(Normal mode)

进入vim后默认处于普通模式,该模式下可以进行光标移动、复制、粘贴、删除等操作。

命令描述
h向左移动光标一个字符
j向下移动光标一行
k向上移动光标一行
l向右移动光标一个字符
w向前移动到下一个单词的开头
b向后移动到上一个单词的开头
e向前移动到下一个单词的末尾
0移动到当前行的开头
^移动到当前行的第一个非空白字符
$移动到当前行的末尾
H将光标移动到屏幕的第一行
M将光标移动到屏幕的中间一行
L将光标移动到屏幕的最后一行
gg将光标移动到文件的第一行
G将光标移动到文件的最后一行
nG将光标移动到文件的第n行
Ctrl + f向下翻页
Ctrl + b向上翻页
Ctrl + d向下翻半页
Ctrl + u向上翻半页
yy复制当前行
p粘贴到光标后的位置
P粘贴到光标前的位置
dd删除当前行
dw删除从光标位置到单词末尾的内容
diw删除光标所在的整个单词
u撤销上一步操作
Ctrl + r重做撤销的操作
v进入可视模式,选择文本
V进入可视行模式,选择整行文本
Ctrl + v进入可视块模式,选择矩形块文本
:进入命令行模式,可以输入ex命令
/pattern向下搜索包含pattern的文本
?pattern向上搜索包含pattern的文本
n重复上一次的搜索操作
N反向重复上一次的搜索操作

插入模式(Insert mode)

在普通模式下,按iao等键可以进入插入模式,此时可以输入文本。

在Linux中,vim编辑器的插入模式(Insert Mode)是用户输入文本的主要模式。在插入模式下,用户可以直接在文档中插入或编辑文本。然而,需要注意的是,插入模式本身并不直接包含大量的“命令”,因为其主要功能就是允许用户输入文本。不过,在插入模式下,用户仍然可以使用一些快捷键来进行一些特定的操作,比如移动光标、删除字符等。但严格来说,这些操作更多地与文本编辑技巧相关,而非插入模式特有的命令。

命令描述
Esc退出插入模式,返回普通模式
Ctrl + [Esc相同,退出插入模式
Ctrl + h删除光标前的一个字符(相当于Backspace键)
Ctrl + w删除光标前的一个单词
Ctrl + u删除从光标位置到行首的所有字符
Ctrl + f在插入模式下向前移动光标一个字符(但通常不推荐在插入模式中使用此快捷键进行光标移动)
Ctrl + b在插入模式下向后移动光标一个字符(同样,通常不推荐在插入模式中使用)
Ctrl + nCtrl + p在某些配置下,这些快捷键可能用于自动补全,但它们不是vim的默认行为,而是取决于具体的vim配置或插件

命令行模式(Command-line mode)

在Linux中,vim编辑器的命令行模式(也称为Ex模式或底行模式)是用户输入命令来执行各种编辑任务的模式。在这个模式下,用户可以执行诸如保存文件、退出编辑器、搜索文本、替换文本等操作。

命令描述
:w保存当前文件
:wq:x保存当前文件并退出vim
:q退出vim(如果文件未修改)
:q!强制退出vim,不保存任何更改
:e <文件名>打开或编辑指定文件
:w <文件名>将当前文件内容保存到指定文件中
:set nu显示行号
:set nonu隐藏行号
:set ic搜索时忽略大小写
:set noic搜索时区分大小写
:/<搜索词>从当前位置向下搜索指定的搜索词
:?<搜索词>从当前位置向上搜索指定的搜索词
:n跳转到下一个搜索结果
:N跳转到上一个搜索结果
:%s/<原字符串>/<新字符串>/g在整个文件中替换所有匹配的<原字符串>为<新字符串>
:s/<原字符串>/<新字符串>/g在当前行中替换所有匹配的<原字符串>为<新字符串>
:range s/<原字符串>/<新字符串>/g在指定范围内替换匹配的<原字符串>为<新字符串>,例如:1,10s/old/new/g将在第1到第10行中进行替换
:vsp <文件名>水平分割窗口并打开指定文件
:sp <文件名>垂直分割窗口并打开指定文件
:next:n跳转到下一个文件(在多文件编辑时)
:prev:N跳转到上一个文件(在多文件编辑时)
:args列出当前会话中打开的所有文件
:first跳转到列表中的第一个文件
:last跳转到列表中的最后一个文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长风清留扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值