首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Vim高手修炼手册:Linux下最全常用命令集锦,Linux环境下vim不可不知的常用命令大全

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

作者头像
小白的大数据之旅
发布2024-11-20 18:37:14
发布2024-11-20 18:37:14
7120
举报

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 + n 和 Ctrl + 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

跳转到列表中的最后一个文件

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • vi编辑器和vim编辑器
    • vi编辑器
    • vim编辑器
    • vi和vim编辑器的区别
  • vim编辑器的三种模式
    • 普通模式(Normal mode)
    • 插入模式(Insert mode)
    • 命令行模式(Command-line mode)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档