Vim使用进阶

article/2025/10/7 11:03:24

    作为一个使用vim挺长时间的人,现在来写这篇东西确实是尴尬的,就像很多大神们说的,vim是世界上最好用的编辑器,没有之一。然后前两天又重新看了看vim的那些功能和使用方法,更觉得这么长时间使用vim却远没有用到它的强大之处。所以这里对常用的vim功能和用法做一个总结,自己时常也能翻看熟悉一下。

    看过学习vim使用方法的几条建议,也一并写来警示一下自己吧:学习vim在开始时是痛苦的;需要时间和不断地练习,就像你学习一个乐器一样;不要期望你能在3天内把vim练得比别的编辑器更有效率(像博主这种应该需要两周以上的苦练)。

    首先需要说明一下的是,vim有四种基本模式:

        1)命令行模式:键入的内容被解释为命令。

        2)插入模式:键入的内容被插入文件。

        3)可视模式:通过键盘选择、剪切、复制文本。

        4)Ex 模式:使用更多命令(例如:存储文件、替换文本等)。

    博主最先接触vim的时候,也试图像其他的编辑器一样使用,即进入到插入模式后进行笨拙的操作。而事实上,vim真正强大和快速的地方在于其命令行模式。在真正熟练vim之后会发现,使用插入模式的时间越来越少,而越来越倾向于使用便捷的命令行模式。

一、关于打开关闭和模式切换

    可以通过以下命令启动Vim:

    $ vim test.txt

    然后文档被打开了,但还不能进行编辑,此时 Vim 处在命令行模式。该模式下可以使用键盘执行 Vim 命令。

    要插入文本,将光标定位至插入位置(下几节中会说明高效的光标定位方法),然后按 i 进入插入模式。

    按 Esc 即可返回命令行模式。

    编辑完毕后输入:wq再回车可以保存退出,或者:q!可以不保存退出。

    在命令行模式下,有以下一些值得注意的地方:

        1):e <path/to/file>  →打开一个文件

        2):w  →存盘

        3):saveas <path/to/file>  →另存为 <path/to/file>

        4):x, ZZ 或 :wq →保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)

        5):q! →退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。

        6):bn 和 :bp  →在同时打开很多文件时,可通过这两个命令来切换下一个或上一个文件。

二、关于光标移动

    Vim 中的确可以使用←↓↑→移动光标,不管是命令行模式下还是插入模式下,然而Vim非常不鼓励大家这么做。因为这样你需要把右手从字母区移动到方向键,严重影响效率。

    强烈建议使用hjkl 来移动光标,一个简单的记忆方法是j 就像一个下垂的钩子,是向下移动的。

    另外一些在命令行模式下常用的光标移动基本方法包括:

        1)0 → 数字零,到行头

        2)^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)

        3)$ → 到本行行尾

        4)g_ → 到本行最后一个不是blank字符的位置。

        5)/pattern → 搜索 pattern 的字符串(陈皓注:如果搜索出多个匹配,可按n键到下一个)

    还有一些用熟练之后很强大的光标定位功能:

        1)NG  →到第 N 行,注意G是大写的

        2)gg  →到第一行。

        3)G  →到最后一行。

        4)w →到下一个单词的开头。

        5)e →到下一个单词的结尾。

        6)% : 匹配括号移动,包括小中大括号(需要把光标先移到括号上)

        7)*和#: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

        8)fx:移动光标到当前行的下一个 x 处。x 可以是任意一个字母。

        9)tx:和上面的命令类似,但是是移动到 x 的左边一个位置。

        10)Fx:和 fx 类似,不过是往回找。

三、删除、撤销与恢复

    1)x  →删除光标所在处的字符(X 删除光标前的字符)。

    2)d  →代表你将要删除一些内容,在按下 d 之后,搭配移动光标的命令,可指定需要删除的内容。(dW 可以删除至下一个单词,d^ 可以删至行首)

    3)dd  →删除整行。

    4)cw  →删除并替换当前单词。

    5)u  →命令行模式下撤销上一个命令

    6)Ctrl+r  →恢复之前撤销的命令。

四、关于可视模式

    命令行模式按 v 进入可视模式,该模式下会高亮一些文本,可以通过光标移动选择文本。选定后按 y 可以复制文本,c 可以剪切。之后可以使用 p 在光标后粘贴,P 在光标前。

    V 是行选取模式,以行为单位进行选取。

    Ctrl+v是块选取模式,可以选取一块矩形区域中的文本。

五、快速移动大段文字

    在很明确的知道想拷贝或者剪切什么,其实无需进入可视选择模式。在命令行模式下使用一些快捷操作可以节省更多时间:

    1)d{motion}  →剪切 motion 命令跨过的字符到剪贴板。比如,dw 会剪切一个词而 dfS 会将从当前光标到下一个 S 之间的字符剪切至剪贴板。

    2)y{motion}  →和上面类似,不过是拷贝。

    3)c{motion}  →和 d{motion} 类似,不过最后进入插入模式。

    4)dd  →剪切当前行。

    5)yy  →拷贝当前行。

    6)cc  →剪切当前行并且进入插入模式。

    7)D  →剪切从光标位置到行尾到剪贴板。

    8)Y  →拷贝当前行。

    9)C  →和 D 类似,最后进入插入模式。

    10)x  →剪切当前字符到剪贴板。

    11)s  →和x类似,不过最后进入插入模式。

    12)p  →粘贴

    13)N<command>  →重复某个命令N次

六、关于搜索和替换

    Vim中有类似正则表达式的搜索查找功能,非常好用。命令行模式下,按下 /,输入搜索内容,按下回车即可。n 查找下一处匹配,N 查找上一处。

    替换文本需要使用 :s/命令(注意冒号),格式为:[范围]s/[原字符串]/[新字符串]/[参数]。

命令

作用

 :s/xxx/yyy/

将当前行中的第一个「xxx」替换为「yyy」

 :s/xxx/yyy/g

将当前行中的所有「xxx」替换为「yyy」

 :s/xxx/yyy/gc

同上,但每次替换都会询问

 :%s/xxx/yyy/g

将整个文件中的所有「xxx」替换为「yyy」

    可以用 :g/ 命令匹配字符串(注意冒号),并对每个匹配执行同一操作。格式为:[范围]:g/[模式串]/[命令]。例如:

命令

作用

 :g/^#/d

删除所有以「#」打头的行

 :g/^$/d

删除所有空行


    看过一个总结的很好的思维导图,整张图放在这里看不清,因此按照不同的操作类型拆分成多张图,列在下面了:









http://chatgpt.dhexx.cn/article/FOa0mOmv.shtml

相关文章

简单记录Git和vim使用

git 基本教程&#xff1a;Git入门学习 此外从中摘录些常用操作 git分支中常用指令&#xff1a; 列出所有本地分支 git branch 列出所有远程分支 git branch -r 新建一个分支&#xff0c;但依然停留在当前分支 git branch [branch-name] 新建一个分支&#xff0c;并切换…

linux基础学习-vim使用方法

直接输入vim&#xff0c;进入的是空白vim基本使用 命令模式&#xff1a;按键代表命令 i/a&#xff0c;切换为编辑模式 :,切换到末行模式 dd&#xff0c;删掉一行&#xff08;前面可以加数字&#xff09; yy&#xff0c;复制光标所在行&#xff08;前面可以加数字&#xff09; p…

VIM使用指南

VIM使用指南 入坑废话不说&#xff0c;先上图vim 选择文本&#xff0c;删除&#xff0c;复制&#xff0c;粘贴文本的选择 vim命令总结1.删除字符2.删除一行3.删除换行符4.撤销5.重做6.追加7.使用命令计数8.退出9.放弃编辑10.以Word为单位的移动11.移动到行首或行尾12.移动到指定…

Linux编辑器-vim使用

文章目录 01. vim的基本概念02. vim的基本操作03. vim正常模式命令集04. vim末行模式命令集 01. vim的基本概念 此篇讲解vim的三种模式(其实有好多模式&#xff0c;目前掌握这3种即可),分别是命令模式&#xff08;command mode&#xff09;、插入模式&#xff08;Insert mode&…

VIM使用技巧及快捷操作

之前在网上找了找资料&#xff0c;拼了这篇博客《配置gvim&#xff0c;建立ide环境&#xff08;持续更新&#xff09;》&#xff0c;今天就说说VIM使用技巧及快捷操作。 vi键盘图 先贴一图&#xff1a; 这里也是一小部分&#xff0c;还有外语的&#xff1a; 详细使用技巧及快…

vim使用方法与小技巧

一.vim的简单介绍 vim是一个由vi增强版的编辑工具,是一个开源免费的软件,它功能丰富,使用快捷,应用广泛,。vim也是大多数linux系统上的默认编辑器,用于对文本文件进行建立,显示,编辑,删除,复制等操作,需要用命令进行控制。 二.vim帮助信息 在命令行输入vim --help 或…

Vim使用技巧总结

目录 vim工作模式 插入模式&#xff1a; 定位命令&#xff1a; 删除命令&#xff1a; 修改命令: 复制和剪切命令: 替换或取消命令: 搜索和搜索替换命令&#xff1a; 保存和退出命令&#xff1a; Vim使用技巧&#xff1a; 选择部分内容另存为&#xff1a; 合并文件:…

vim使用教程图文教程(超详细)

1. 三种模式 vim编辑器有三种模式&#xff1a;命令模式、编辑模式、末行模式。 「命令模式」&#xff1a;可以进行删除、复制、粘贴等快捷操作。「编辑模式」&#xff1a;可以编辑文件内容。「末行模式」&#xff1a;可以通过命令操作文件&#xff0c;比如搜索、保存、退出等…

vim使用入门

目录 vim模式介绍1.1 模式介绍1.2 模式之间切换1.3 进入vim1.4 退出vim vim模式介绍 1.1 模式介绍 vim具有6种基本模式和5种派生模式。 6种基本模式如下&#xff1a; 普通模式 vim启动后的默认模式。使用编辑器命令&#xff0c;比如移动光标&#xff0c;删除文本等等 普通模式…

VSCode中Vim使用(详细)

文章目录 Vim基础键映射模式光标移动编辑技巧 常用命令自带插件其他 Vim基础 键映射 {/* vim */"vim.incsearch": true,"vim.useSystemClipboard": true,// "vim.hlsearch": true, 对/字符串的搜索方式来说,搜索到的结果一直高亮显示,不设置这…

【Linux】Linux编辑器—vim使用

目录 1.vim的基本概念2.vim基本操作3.vim命令模式命令集4.vim末行模式命令集5.简单vim配置6.使用sudo提权7.关闭vim时使用 ctrl z 退出怎么解决&#xff1f; 为什么要学习vim&#xff1f; “在 Linux 系统中一切都是文件&#xff0c;而配置一个服务就是在修改其配置文件的参数…

Linux-vim使用

目录 基本vim的基本操作&#xff1a; 命令模式&#xff1a; 光标定位&#xff1a; $&#xff1a;光标定位到行右&#xff1a; ^&#xff1a;光标定位到左&#xff1a; shiftgG&#xff1a;光标定位到底部 gg&#xff1a;回到顶部 nshiftg表示跳转光标到第n行 文本复制相关…

VIM使用教程-详细

先上一张图&#xff1a; 导语 VIM 是 Linux 系统上一款文本编辑器&#xff0c;它是操作 Linux 的一款利器。 当前有很多优秀的 IDE 都支持安装 VIM 插件&#xff0c;原因就是使用它便捷&#xff0c;高效&#xff0c;很爽&#xff01; 本文主要记录了 VIM 的一些常用使用技巧&am…

Vim使用

vim的三种模式&#xff1a; 命令模式、文本模式 、末行模式。 进入文本模式的各种方式&#xff1a; i 进入文本模式&#xff0c;光标前插入字符 a 进入文本模式&#xff0c;光标后插入字符 o 进入文本模式&#xff0c;光标所在行的下一行插入 I 进入文本模式&#xff0c;光标所…

vim使用(全集)

希望对大家有帮助&#xff0c;文档做过修改。 1、辑模式&#xff1a; 在一般模式中可以进行删除、复制、粘贴等的操作&#xff0c;但是却无法编辑文件的内容&#xff0c;只有当到你按下【i, I, o, O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左…

vim使用教程图文教程(零基础超详细)

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 vim编辑器使用教程 1. 三种模式2. 三种打开方式3. 命令模式3.1 移动光标3.2 搜索替换3.3 复制粘贴删除 4. 编辑模式5. 末行模式 vim是Linux系…

MATLAB——偏最小二乘回归算法

设有q个因变量{y1,y2...yq}和p个自变量{x1,x2...xp}。为了研究因变量和自变量的统计关系&#xff0c;观测n个样本点&#xff0c;构成了自变量与因变量的数据表X 和Y 。部分最小二乘回归分别在X和Y中提取成分和,他们分别是x1,...,xp和y1,...,yq的线性组合。提取这两个成分有以下…

【数学建模】最小二乘回归+Java代码实现

文章目录 一、最小二乘法的历史二、最小二乘法的原理三、最小二乘法的公式四、Java代码实现最小二乘法五、输出预测结果 一、最小二乘法的历史 1801年&#xff0c;意大利天文学家朱赛普皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后&#xff0c;由于谷神星运行至太阳…

【计量模型整理】偏最小二乘回归 PLS

partial least square PLS 原理与MLS、PCR、MRA比较适用情况数学推导与软件实现参考文献 原理 在影响因变量的大量的因素中&#xff0c;会存在隐形的影响因素但却具有很强的解释力&#xff0c;PLS的基本思想是提取这些隐性因素去代表尽可能多的变量来解释因变量。因而PLS也被称…

MATLAB中的偏最小二乘回归(PLSR)和主成分回归(PCR)

通过Matlab示例来解释偏最小二乘的原理 此示例显示如何在matlab中应用偏最小二乘回归&#xff08;PLSR&#xff09;和主成分回归&#xff08;PCR&#xff09;&#xff0c;并讨论这两种方法的有效性。 当存在大量预测变量时&#xff0c;PLSR和PCR都是对因变量建模的方法&#…