Linux vim三种模式 和 vim常用快捷键汇总

目录

一、拾枝杂谈

        1.什么是vi 和 vim?

        2.vim三种模式分别是什么?

                2.0 三种模式总览

                2.1 普通模式(Normal Mode)

                2.2 插入模式(Insert Mode)

                2.3 命令行模式(Command-line Mode)

        3.快速入门案例:

二、vim快捷键汇总

        1.普通模式下的快捷键:

        2.插入模式下的快捷键:

        3.命令行模式下的快捷键:

        PS:可视模式下的快捷键:

Δ总结


一、拾枝杂谈

        1.什么是vi 和 vim?

  1. vi (即 Visual Editor) : 
    1. vi 本身是 Unix 系统上最传统的文本编辑器之一,由 Bill Joy 在 1970 年代后期创建。
    2. vi 是一个模态编辑器(支持不同的操作模式)。
    3. vi 最大的特点是几乎所有 Unix-like 系统都预装了vi,因此无论是在哪台服务器上,使用 vi 都比较方便。
  2. vim (即 Vi IMproved) : 
    1. vim 是 vi 的增强版,由 Bram Moolenaar 在 1990 年代开发。
    2. vim 完全兼容 vi 的所有命令,并在此基础上增加了很多现代化的功能,如:语法高亮、多级撤销、插件支持、更牛逼的搜索和替换功能等。
    3. 在大多数现代 Linux 发行版(包括 CentOS Ubuntu)中,当我们输入 vi 命令时,实际上启动的 默认 就是 vim

        2.vim三种模式分别是什么?

                2.0 三种模式总览

        vim 的核心旧在于其模态操作,主要有三种模式普通模式 (Normal Mode)插入模式 (Insert Mode)命令行模式 (Command-line Mode / Ex Mode)

        vim 三种模式的切换,如下图所示:

                2.1 普通模式(Normal Mode)

        (1) 介绍:普通模式是 vim 的默认模式,当我们在Linux系统下通过vim/vi命令打开一个文件时,默认就是进入了普通模式。普通模式主要用于导航文件(移动光标)、执行命令(如删除、复制、粘贴、撤销、查找等),而不是直接输入文本。

        (2) 如何进入:除了启动 vim 时默认进入普通模式外,在其他模式(插入模式、命令行模式)中按 Esc 键也可以回到普通模式。

        (3) 如何退出:在普通模式下,按 i, a, o 等键进入插入模式;或者 按 : 键进入命令行模式

                2.2 插入模式(Insert Mode)

        (1) 介绍:插入模式是唯一可以直接输入文本的模式,类似于普通文本编辑器,我们可以直接在键盘上输入想添加的文本。

        (2) 如何进入:首先要通过vim命令,进入普通模式,在普通模式下,按下面的键,都可以进入插入模式——

                i: 在光标当前位置前插入文本;

                a: 在光标当前位置后追加文本;

                o: 在当前行下方插入一个新行并进入插入模式;

                O: 在当前行上方插入一个新行并进入插入模式;

                I: 在当前行行首插入文本;

                A: 在当前行行尾追加文本。

        (3) 如何退出:在插入模式中按 Esc 键即可返回普通模式。

                2.3 命令行模式(Command-line Mode)

        (1) 介绍:命令行模式用于执行更复杂的命令,如保存文件、退出编辑器、搜索、替换、设置选项等。

        (2) 如何进入:在普通模式按 : (冒号) 键。

        (3) 如何退出:在命令行模式下按 Enter执行命令后返回普通模式。其中 :wq (write and quit) 表示保存并退出:q! (quit forcefully) 则表示强制退出(不保存):q (quit) 表示仅在文件自上次保存以来没有任何修改的情况下才能退出 Vim,如果文件有未保存的修改,Vim 会阻止退出并显示警告信息(例如 "No write since last change")。或者 按 Esc 键取消命令并返回普通模式

        3.快速入门案例:

                首先我们需要远程登录Linux虚拟机,远程登录Linux虚拟机的方法up在上一篇CentOS博文中已经讲过了。
                这里up直接通过Xshell登录,然后通过 “vim FirstJava.java” 创建一个演示文件,如下图所示:

                然后我们输入 i 进入插入模式,来写一段 Java 代码,如下图所示:

                保存退出后,这时候我们就会发现我们的root目录里面已经多了一个 FirstJava.java 文件,如下图所示:


二、vim快捷键汇总

        1.普通模式下的快捷键:

                普通模式下,光标移动相关的快捷键,如下表所示:

快捷键光标移动情况
h左移一个字符
l右移一个字符
j下移一行
k上移一行
w跳到下一个单词开头
b跳到上一个单词开头
0跳到行首(第一个字符
^跳到行首(第一个非空白字符
$跳到行尾
gg跳到文件开头
G跳到文件结尾
Ctrl + f下翻一页
Ctrl + b上翻一页
数字 + G跳到指定行(例如 10G 跳到第10行)

                普通模式下,文件编辑相关的快捷键,如下表所示:

快捷键文件编辑操作
x删除光标所在字符
dd删除当前
dw删除从光标到单词结尾的内容
d$删除从光标到行尾的内容
yy复制当前行(可通过 数字 + yy 复制多行)
yw复制从光标到单词结尾的内容
y$复制从光标到行尾的内容
p光标后粘贴
P光标前粘贴
cc删除当前行并进入插入模式
cw删除从光标到单词结尾的内容并进入插入模式
c$删除从光标到行尾的内容并进入插入模式
r替换光标所在字符(输入一个字符后自动返回普通模式)
u撤销上一次操作
Ctrl + r重做上一次撤销的操作
.重复上一次的修改命令

                普通模式下,模式切换相关的快捷键,如下表所示:

快捷键模式切换结果
i在光标进入插入模式
a在光标进入插入模式
I行首(第一个非空白字符)进入插入模式
A行尾进入插入模式
o当前行下方插入新行并进入插入模式
O当前行上方插入新行并进入插入模式
v进入字符可视模式
V进入行可视模式
Ctrl + v进入块可视模式
:进入命令行模式
ZZ保存并退出(等同于 :x
ZQ不保存强制退出(等同于 :q!

        2.插入模式下的快捷键:

                插入模式下还有快捷键吗? kuku写就完事儿了, ESC返回普通模式😋。

        3.命令行模式下的快捷键:

                命令行模式下,文本查找和替换相关的快捷键,如下表所示:

快捷键文本操作
/pattern向前搜索 pattern
?pattern向后搜索 pattern
n重复上次搜索(正向)
N重复上次搜索(反向)
:%s/old/new/g全局替换所有 old 为 new
:%s/old/new/gc全局替换所有 old 为 new,并每次确认

                命令行模式下,文件操作相关的快捷键,如下表所示:

快捷键对文件的影响
:w保存文件
:w filename另存文件为 filename
:wq保存并退出
:x保存并退出(如果文件有修改则保存,否则直接退出)
:q退出(如果文件有未保存修改, 则会提示No write since last change
:q!不保存并强制退出
:e filename打开文件名为 filename 的新文件
:e!重新加载当前文件(放弃当前的所有修改)
:set option设置 Vim 选项(如 :set nu 显示行号, :set nonu 取消行号)

        PS:可视模式下的快捷键:

                可视模式是普通模式的一个"扩展",它可以让我们能够选择一块文本区域,然后对这块区域执行普通模式下的命令。
                可视模式是从普通模式进入的,在普通模式通过 v (字符可视), V (行可视), Ctrl + v (块可视) 进入可视模式, 并且在可视模式中使用的光标移动键和最终执行的操作 (d, y,c 等) 都来源于普通模式。在可视模式下按 Esc 键返回普通模式。
                在可视模式下, 仍然可以使用普通模式下的光标移动键 (h, j, k, l, w, b, 0, $, G, gg, Ctrl + f, Ctrl + b 等) 来扩展或缩小选择区域

快捷键对选中区域的操作
d删除选中的文本
y复制选中的文本
c删除选中的文本并进入插入模式
>向右缩进选中的文本
<向左缩进选中的文本
~切换选中文本的大小写

Δ总结

  • 🆗,以上就是本篇博文的全部内容了,感谢阅读!
  • 文章的重点是Linux vim的三种模式, 以及模式之间的切换。注意——插入模式是不能直接进入命令行模式的,必须先通过ESC回到普通模式(一般模式),再从普通模式输入 : 或者 / 进入命令行模式。
  • 快捷键 up 这里就不演示了,工作量太大了这么搞😗。下一篇可能写一下Linux常用指令的汇总?也许。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Cyan_RA9

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

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

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

打赏作者

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

抵扣说明:

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

余额充值