Vim主要命令整理

Vim常用命令整理

多多练习哦!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<think>我们正在回答用户关于Vim操作命令的问题。用户之前询问了如何一次性删除一行,现在想获取更多关于Vim操作命令的信息。 根据引用[1]提供的内容,我们可以提取Vim的一些命令,包括分屏操作和查找操作。但是用户想要的是更全面的Vim操作命令,因此我们需要结合常见Vim命令进行整理。 注意:用户要求使用中文回答,并且按照给定的格式(包括数学公式格式),但Vim命令中不涉及数学公式,所以主要使用代码块和列表。 我们将Vim操作分为几个部分:模式切换、光标移动、文本编辑(插入、删除、复制、粘贴、撤销等)、查找替换、分屏操作、保存退出等。 另外,根据引用[1]中提到的内容,我们可以补充分屏操作和查找操作。 注意:引用[1]中给出的分屏操作命令和查找命令,我们可以直接引用。 由于用户要求生成相关问题,我们将在最后提出几个相关问题。 我们按照以下结构组织回答: ### Vim操作命令大全 #### 1. 模式切换 - 普通模式(Normal mode):打开文件即进入,按`Esc`从其他模式返回。 - 插入模式(Insert mode):在普通模式下按`i`(在光标前插入)、`a`(在光标后插入)、`o`(在下一行插入)等进入。 - 可视模式(Visual mode):在普通模式下按`v`(字符可视模式)、`V`(行可视模式)、`Ctrl+v`(块可视模式)进入。 - 命令行模式(Command-line mode):在普通模式下按`:`进入。 #### 2. 光标移动 - `h`、`j`、`k`、`l`:左、下、上、右 - `w`:移动到下一个单词开头 - `b`:移动到上一个单词开头 - `e`:移动到单词末尾 - `0`:移动到行首 - `^`:移动到行首第一个非空白字符 - `$`:移动到行尾 - `gg`:移动到文件开头 - `G`:移动到文件末尾 - `:n`:移动到第n行(n为行号) #### 3. 文本编辑 - **插入**: - `i`:在光标前插入 - `a`:在光标后插入 - `o`:在当前行下方插入新行并进入插入模式 - `O`:在当前行上方插入新行并进入插入模式 - **删除**: - `x`:删除光标所在字符 - `dd`:删除当前行(引用[1]中提到过,但这里我们详细说明) - `dw`:删除一个单词(从光标位置到单词末尾) - `d$`:删除从光标到行尾 - `d0`:删除从光标到行首 - `dG`:删除到文件末尾 - `dgg`:删除到文件开头 - **复制与粘贴**: - `yy`:复制当前行 - `yw`:复制一个单词 - `p`:粘贴到光标后(普通模式)或下一行(如果是整行) - `P`:粘贴到光标前(普通模式)或上一行(如果是整行) - **撤销与重做**: - `u`:撤销 - `Ctrl+r`:重做 #### 4. 查找替换 - 查找: - `/pattern`:向下查找pattern(引用[1]) - `?pattern`:向上查找pattern(引用[1]) - `n`:下一个匹配项 - `N`:上一个匹配项 - 替换: - `:s/old/new`:替换当前行第一个old为new - `:s/old/new/g`:替换当前行所有old为new - `:%s/old/new/g`:替换整个文件中的old为new - `:n1,n2s/old/new/g`:替换n1到n2行之间的所有old为new #### 5. 分屏操作(引用[1]) - 打开文件时分屏: - `vim -On file1 file2 ...`:左右分屏打开n个文件(n为数字,可省略) - `vim -on file1 file2 ...`:上下分屏打开n个文件 - 在Vim内分屏: - `:sp [filename]`:上下分割(如果指定文件名则打开新文件,否则是当前文件) - `:vsp [filename]`:左右分割 - `Ctrl+w s`:上下分割当前窗口 - `Ctrl+w v`:左右分割当前窗口 - 窗口切换: - `Ctrl+w k/j/h/l`:切换到上/下/左/右的窗口 - `Ctrl+w w`:循环切换到下一个窗口 - 关闭窗口: - `Ctrl+w c`:关闭当前窗口 - `Ctrl+w q`:如果只剩最后一个窗口,则退出Vim #### 6. 保存与退出 - `:w`:保存 - `:q`:退出(如果没有修改) - `:q!`:不保存退出 - `:wq`:保存并退出 - `:wqall`:保存并退出所有分屏窗口(引用[1]) - `:x`:保存并退出(仅在修改后保存) 我们还可以补充一些其他常用命令: - 行号显示:`:set number`(显示行号),`:set nonumber`(隐藏行号) - 显示不可见字符:`:set list`,隐藏:`:set nolist` 注意:引用[1]中提到的查找模式中关于匹配单词开头和结尾(\< 和 \>)以及同时查找多个条件(如:`/.*a*.*b*`)等内容,我们已经在查找替换部分提到,但具体复杂查找用户可自行组合。 最后,生成相关问题。 注意:引用标识放在引用内容的末尾,例如分屏操作部分来自引用[1],我们就在分屏操作的大点后面加[^1](注意不是每个小点都加,而是整个大点来自引用的话就加在最后)。但是,由于我们整个Vim命令大全中只有分屏操作部分明确来自引用[1],其他部分属于通用知识,所以我们只在分屏操作的大标题后面添加。另外,在删除命令部分,我们提到dd删除当前行,之前引用[4]也提到过,但引用[4]是关于缓冲区的内容,这里我们主要参考引用[1]的分屏和查找,所以这里不重复标记。 但是,我们注意到引用[1]中除了分屏和查找,并没有提供其他命令,所以其他命令不标记引用。 因此,我们在分屏操作部分后面加上,在查找部分后面加上(因为查找部分也来自引用[1])。 调整结构:将查找替换部分中引用[1]的内容标记出来。 注意:用户之前的问题中引用[1]是“Vim的最全命令总结(Linux)”,所以我们可以将分屏和查找命令的来源标记为引用[1]。 最终结构: ### Vim操作命令大全 #### 1. 模式切换 ...(无引用标记) #### 2. 光标移动 ... #### 3. 文本编辑 ... 在删除命令中,我们提到`dd`,可以引用之前的引用[4],但这里我们主要回答当前问题,且引用[4]是关于缓冲区的,所以不在这里标记。 #### 4. 查找替换 将查找替换部分的大标题加上[^1],因为引用[1]提供了查找命令。 #### 5. 分屏操作 因为整个分屏操作内容都来自引用[1]。 #### 6. 保存与退出 ... 其中`wqall`来自引用[1],所以我们在具体命令后面标记,但由于整个分屏操作都来自引用[1],所以我们在分屏操作部分已经标记了,这里不再重复。 但是,为了准确,我们可以在分屏操作部分具体命令中不标记,而在整个大点后面标记。同样,查找替换部分也在大点后面标记[^1]。 另外,注意用户要求引用的段落末尾自然地添加引用标识,所以我们在每个大点的最后一句末尾加引用标识。但是,如果整个大点都来自同一个引用,可以在大点标题后加引用标识。 然而,我们这里只有分屏操作和查找替换的大点整体来自引用[1],所以在这两个大点的标题后面加上。 保存退出部分中的`:wqall`也来自引用[1],但我们在分屏操作部分已经引用了,因此可以不再重复标记。 因此,我们这样写: ### Vim操作命令大全 ...(前面部分) #### 4. 查找替换 [^1] 内容... #### 5. 分屏操作 [^1] 内容... 最后,生成相关问题: §§相关问题§§ 1. Vim中如何设置行号? 2. 如何在Vim中进行多文件编辑? 3. Vim中如何执行外部命令? </think> ### Vim操作命令大全 以下是Vim编辑器的核心操作命令分类整理,涵盖模式切换、文本编辑、光标移动、查找替换等高频操作: #### 1. 模式切换 | 命令 | 功能 | |------|------| | `i` | 光标前插入(进入插入模式) | | `a` | 光标后插入 | | `o` | 当前行下方新建行插入 | | `O` | 当前行上方新建行插入 | | `Esc` | 返回普通模式 | | `:` | 进入命令行模式 | #### 2. 文本编辑 | 命令 | 功能 | |------|------| | `dd` | 删除整行(存入缓冲区)[^4] | | `dw` | 删除单词(光标位置到词尾) | | `x` | 删除当前字符 | | `yy` | 复制当前行 | | `p` | 粘贴缓冲区内容 | | `u` | 撤销操作 | | `Ctrl+r` | 重做操作 | | `>>` | 增加缩进 | | `<<` | 减少缩进 | #### 3. 光标移动 | 命令 | 功能 | |------|------| | `h/j/k/l` | 左/下/上/右移动 | | `0` | 跳至行首 | | `$` | 跳至行尾 | | `gg` | 跳至文件首行 | | `G` | 跳至文件末行 | | `:n` | 跳至第n行(如 `:15`) | | `Ctrl+f` | 向下翻页 | | `Ctrl+b` | 向上翻页 | #### 4. 查找替换 [^1] | 命令 | 功能 | |------|------| | `/pattern` | 向下搜索字符串 | | `?pattern` | 向上搜索字符串 | | `n` | 跳至下一个匹配项 | | `N` | 跳至上一个匹配项 | | `:%s/old/new/g` | 全局替换字符串 | | `:s/old/new/g` | 当前行替换 | | `/\<word\>` | 精确匹配单词边界 | #### 5. 分屏操作 | 命令 | 功能 | |------|------| | `:sp [file]` | 水平分屏(可打开新文件) | | `:vsp [file]` | 垂直分屏(可打开新文件) | | `Ctrl+w h/j/k/l` | 切换到左/下/上/右分屏 | | `Ctrl+w w` | 循环切换分屏 | | `Ctrl+w c` | 关闭当前分屏 | | `:qall` | 退出所有分屏 | #### 6. 保存与退出 | 命令 | 功能 | |------|------| | `:w` | 保存文件 | | `:wq` | 保存并退出 | | `:q!` | 强制退出不保存 | | `:x` | 保存并退出(仅当修改时) | | `:wqall` | 保存并退出所有分屏 | #### 示例:删除与复制操作 ```vim Hello World # 光标定位此行 dd # 删除整行 3yy # 复制3行内容 p # 粘贴到光标下方 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值