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

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

目录

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编辑器的三种模式

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

普通模式(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 跳转到列表中的最后一个文件

你可能感兴趣的:(Linux,vim,linux,命令模式,服务器,脚本)