Vim常用操作指令

本文介绍了Vim编辑器的基础操作,包括三种模式:命令模式、输入模式和末行模式的转换。详细讲解了如何打开和编辑文件,以及移动光标、插入文本、查找与替换文本、删除、复制和粘贴的快捷键。此外,还提到了撤销操作和保存退出的命令。重点介绍了各种高效移动光标的快捷键。

1.  编辑器vim介绍          

三种模式:  命令模式 (移动光标,剪切,复制,粘贴)默认进入命令                    

                    输入模式(编辑)                    

                    末行模式(保存,退出,替换)        

三种模式转换: 命令 -> a/i/o -> 输入 -> esc -> 命令                    

                           命令 -> : -> 末行 -> esc -> 命令                    

                           输入 -> esc -> 命令 -> : -> 末行        

                  #进入末行模式: 命令模式输入: w:保存  q:退出  !强制   

2. 详细介绍

1. vim  打开文件 如: vim /test/vi.php

       Vim 打开文件的快捷方法

Vi 使用的选项	说 明
vim filename	打开或新建一个文件,并将光标置于第一行的首部
vim -r filename	恢复上次 vim 打开时崩溃的文件
vim -R filename	把指定的文件以只读方式放入 Vim 编辑器中
vim + filename	打开文件,并将光标置于最后一行的首部
vi +n filename	打开文件,并将光标置于第 n 行的首部
vi +/pattern filename	打幵文件,并将光标置于第一个与 pattern 匹配的位置
vi -c command filename	在对文件进行编辑前,先执行指定的命令

  2. 使用 vim 进行编辑

      vim 插入文本

      从命令模式进入输入模式进行编辑,可以按下 I、i、O、o、A、a 等键来完成,使用不同的键,光标所处的位置不同。

    插入文本

快捷键	功能描述
i	   在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I	   在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
o	   在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O(大写)   在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a	   在当前光标所在位置之后插入随后输入的文本
A	   在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令

      vim 查找文本 (直接在 命令模式中查找)

   Vim 查找目标文本

快捷键	功能描述
/abc	从光标所在位置向前查找字符串 abc
/^abc	查找以 abc 为行首的行
/abc$	查找以 abc 为行尾的行
?abc	从光标所在为主向后查找字符串 abc
n	向同一方向重复上次的查找指令
N	向相反方向重复上次的查找指定

在查找过程中需要注意的是,要查找的字符串是严格区分大小写的,如查找 "shenchao" 和 "ShenChao" 会得到不同的结果。
     

           如果想忽略大小写,则输入命令 ":set ic";调整回来输入":set noic"。

如果在字符串中出现特殊符号,则需要加上转义字符 "\"。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10\$"。

   Vim 替换文本

  Vim替换文本

快捷键	           功能描述
r	        替换光标所在位置的字符
R	        从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束
:s/a1/a2/g	将当前光标所在行中的所有 a1 用 a2 替换
:n1,n2s/a1/a2/g	将文件中 n1 到 n2 行中所有 a1 都用 a2 替换
:g/a1/a2/g	将文件中所有的 a1 都用 a2 替换

例如,要将某文件中所有的 "root" 替换为 "liudehua",则有两种输入命令,分别为:

    :1, $s/root/liudehua/g
   或
   :%s/root/liudehua/g

上述命令是在编辑模式下操作的,表示的是从第一行到最后一行,即全文查找 "root",然后替换成 "liudehua"。

如果刚才的命令变成 :10,20 s/root/liudehua/g,则只替换从第 10 行到第 20 行的 "root"。

有以下一些表示方法:

            不写range   :  默认为光标所在的行。

            .  :  光标所在的行。

            1  :  第一行。

            $  :  最后一行。

            n  :  第n行。

            'a :  标记a所在的行(之前要使用ma做过标记)。

            .+1 :  当前光标所在行的下面一行。

            $-1 :  倒数第二行。(这里说明我们可以对某一行加减某个数值来

                            取得相对的行)。

            n,m :  第n~m行。

            1,$  :  第1行 到 最后一行。

            1,.  :  第1行 到 当前行。

            .,$  :  当前行 到 最后一行。

            'a,'b  :  标记a所在的行 到标记b所在的行。

            %  :  所有行(与 1,$ 等价)。
 

一些参数说明

            无 :只对指定范围内的第一个匹配项进行替换。

            g  : 对指定范围内的所有匹配项进行替换。

            c  : 在替换前请求用户确认。

            e  : 忽略执行过程中的错误。

            注意:上面的所有flags都可以组合起来使用,比如 gc 表示对指定范围内的

            所有匹配项进行替换,并且在每一次替换之前都会请用户确认。
 

Vim 删除文本

Vim 删除文本快捷键

快捷键	功能描述
x	删除光标所在位置的字符
dd	删除光标所在行
ndd	删除当前行(包括此行)后 n 行文本
dG	删除光标所在行一直到文件末尾的所有内容
D	删除光标位置到行尾的内容
:a1,a2d	函数从 a1 行到 a2 行的文本内容

注意,被删除的内容并没有真正删除,都放在了剪贴板中。将光标移动到指定位置处,按下 "p" 键,就可以将刚才删除的内容又粘贴到此处。

Vim 复制和粘贴文本

 Vim 复制文本

快捷键	         功能描述
p	        将剪贴板中的内容粘贴到光标后
P(大写)	将剪贴板中的内容粘贴到光标前
y	        复制已选中的文本到剪贴板
yy	        将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行
yw	        将光标位置的单词复制到剪贴板

Vim 其他常用快捷键

 1.  某些情况下,可能需要把两行进行连接。比如说,下面的文件中有两行文本,现在需要将其合并成一行(实际上就是将两行间的换行符去掉)。可以直接在命令模式中按下 "J" 键

2. 如果不小心误删除了文件内容,则可以通过 "u" 键来撤销刚才执行的命令。如果要撤销刚才的多次操作,可以多按几次 "u" 键。

3. Vim 保存退出文本

       Vim 的保存和退出是在编辑模式中进行的,其常用命令如下表所示。
 

Vim 常用保存退出命令

命令	         功能描述
:wq	        保存并退出 Vim 编辑器
:wq!	        保存并强制退出 Vim 编辑器
:q	        不保存就退出 Vim 编辑器
:q!	        不保存,且强制退出 Vim 编辑器
:w	        保存但是不退出 Vim 编辑器
:w!	        强制保存文本
:w filename	另存到 filename 文件
x!	        保存文本,并退出 Vim 编辑器,更通用的一个 vim 命令
ZZ	        直接退出 Vim 编辑器

Vim 移动光标快捷键汇总

Vim 文本编辑器中,最简单的移动光标的方式是使用方向键,但这种方式的效率太低,更高效的方式使用快捷键。

Vim 移动光标常用的快捷键及其功能如下面各表所示,需要注意的是,表中所有的快捷键都在命令模式(默认状态)下直接使用。

   Vim快捷方向键

 Vim光标上、下、左、右移动快捷键

快捷键	        功能描述
h	    光标向左移动一位
j	    光标向下移动一行(以回车为换行符),也就是光标向下移动
k	    光标向上移动一行(也就是向上移动)
l 	    光标向右移动一位

    Vim 光标以单词为单位移动

某些情形下,可能需要光标迅速移动至一行中的某个位置,将光标以单词为单位进行移动就会很方便。

 Vim光标以单词为单位进行移动

快捷键	            功能描述
w 或 W	        光标移动至下一个单词的单词首
b 或 B	        光标移动至上一个单词的单词首
e 或 E	        光标移动至下一个单词的单词尾
nw 或 nW	n 为数字,表示光标向右移动 n 个单词
nb 或 nB	n 为数字,表示光标向左移动 n 个单词

  vim 光标移动至行首或者行尾

光标移动到行首或行尾

快捷键	       功能描述
0 或 ^	    光标移动至当前行的行首
$	    光标移动至当前行的行尾
n$	    光标移动至当前行只有 n 行的行尾,n为数字

vim 光标移动至指定字符

  一行中,如果需要将光标移动到当前行的某个特点字符,则可以使用表 4 中的快捷键。

光标移动至指定字符

快捷键	      功能描述
fx	    光标移动至当前行中下一个 x 字符处
Fx 	    光标移动至当前行中下一个 x 字符处

vim 光标移动到指定行

光标移动到指定行

快捷键	       功能描述
gg	      光标移动到文件开头
G	      光标移动至文件末尾
nG	      光标移动到第 n 行,n 为数字
:n	      编辑模式下使用的快捷键,可以将光标快速定义到指定行的行首

Vim 是 Linux 系统中功能强大的文本编辑器,广泛用于代码编辑和配置文件的编辑。以下是对 Vim 常用命令的详细分类与讲解,涵盖基本操作、文本编辑、查找与替换、窗口操作等多个方面。 ### 一、Vim 基本操作 1. **启动和退出 Vim** - `vim filename`:打开或创建指定文件。 - `:q`:退出编辑器(若文件未修改)。 - `:q!`:强制退出且不保存更改。 - `:wq`:保存更改并退出。 - `:w`:保存文件但不退出。 - `:w filename`:将当前内容保存为指定文件名。 2. **模式切换** - 普通模式:默认进入的模式,用于执行命令。 - 插入模式:按下 `i`、`a`、`o` 等键进入,用于输入文本。 - 末行模式:按下 `:` 键进入,用于执行保存、退出等操作。 ### 二、Vim 光标移动命令 1. **基本移动** - `h`:左移一个字符。 - `j`:下移一行。 - `k`:上移一行。 - `l`:右移一个字符。 2. **行内移动** - `0`:移动到行首。 - `^`:移动到行首第一个非空字符。 - `$`:移动到行尾。 3. **单词移动** - `w`:向前跳转到下一个单词的开头。 - `b`:向后跳转到当前或前一个单词的开头。 - `e`:向前跳转到当前或下一个单词的结尾。 4. **页面移动** - `Ctrl + f`:向下翻页。 - `Ctrl + b`:向上翻页。 - `Ctrl + d`:向下滚动半页。 - `Ctrl + u`:向上滚动半页。 5. **行跳转** - `G`:跳转到文件末尾。 - `gg`:跳转到文件开头。 - `nG`:跳转到第 `n` 行。 ### 三、Vim 文本编辑命令 1. **插入和删除** - `i`:在光标前插入文本。 - `a`:在光标后插入文本。 - `o`:在当前行下方插入新行。 - `dd`:删除当前行。 - `dw`:删除一个单词。 - `d$`:删除从光标位置到行尾的内容。 - `x`:删除光标所在字符。 2. **复制、剪切与粘贴** - `yy`:复制当前行。 - `yw`:复制一个单词。 - `p`:粘贴剪贴板内容到光标后。 - `P`:粘贴剪贴板内容到光标前。 3. **替换与修改** - `r`:替换光标所在字符。 - `R`:进入替换模式(按 `Esc` 退出)。 - `c`:修改指定范围的内容(如 `cw` 修改一个单词)。 ### 四、Vim 查找与替换命令 1. **查找** - `/keyword`:向下查找 `keyword`。 - `?keyword`:向上查找 `keyword`。 - `n`:重复上次查找。 - `N`:反向重复上次查找。 2. **替换** - `:s/old/new`:替换当前行第一个匹配的 `old` 为 `new`。 - `:s/old/new/g`:替换当前行所有匹配的 `old`。 - `:%s/old/new/g`:替换整个文件中的所有匹配项。 - `:%s/old/new/gc`:替换时询问确认。 ### 五、Vim 多窗口与多文件操作 1. **多窗口操作** - `:split`:水平分割窗口。 - `:vsplit`:垂直分割窗口。 - `Ctrl + w + w`:在窗口间切换。 - `Ctrl + w + q`:关闭当前窗口。 2. **多文件操作** - `vim file1 file2`:同时打开多个文件。 - `:next`:切换到下一个文件。 - `:prev`:切换到上一个文件。 - `:args`:显示所有打开的文件列表。 ### 六、Vim 配置与插件 1. **配置文件** - 临时配置:在末行模式下输入配置,关闭文件后配置失效。 - 个人配置文件:修改 `~/.vimrc`(如果没有可以自行创建),对当前用户生效。 - 全局配置文件:修改 `/etc/vimrc`,对所有用户生效。 2. **常用插件** - **NERDTree**:提供文件浏览器功能。 - **Tagbar**:显示代码结构。 - **YouCompleteMe**:代码自动补全插件。 - **Syntastic**:语法检查工具。 ### 七、总结 Vim 编辑器提供了丰富的命令集,适用于各种编辑需求。熟练掌握这些命令可以显著提高编辑效率,特别是在处理代码和配置文件时。 ```bash # 示例:在末行模式下设置行号 :set number ``` ```bash # 示例:在末行模式下替换所有匹配项 :%s/old_text/new_text/g ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值