Vim ---终究开始认真的研究你了

本文详细介绍了Vim编辑器的三种主要模式:一般模式、输入模式和命令模式,以及在这些模式下的移动、删除、粘贴、大小写转换、撤销、插入、重复和块操作等文本操作。此外,还涵盖了Vim的分屏功能、自动提示、宏录制和使用技巧,帮助用户提升Vim的使用效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vim ---终究开始认真的研究你了


听雨十载闻Vim,不如下手炒一炒。

若得香味可还行,便把妙方视旁人。

Vim的模式

  • 一般模式:终端输入vim xx.txt,刚(或按ESC键)进入即为**一般模式**(或按ESC键),是用来对文本进行处理,我们按键输入类似快捷键,可以对文本进行复制、粘贴、删除、查询等操作
  • 输入模式:接着按键盘上的i就进入**输入模式**,就可以输入文字代码了。当然还有其他方式进入输入模式,如:a键也可以。
  • 命令模式:**一般模式**下,输入英文冒号:即可进入到**命令模式**

Vim的移动操作 --一般模式
在执行移动操作时,首先要确定移动单位:一个字符、一个单词、一个句子、一行、一段落、一屏、一页。接着可以在移动单位前加上数字,表示移动距离,如8h就表示向左移动8个字符

一个字符
h j k l
←左 ↓下 ↑上 →右
一个单词
w W b B e E
下一个单词词首 下一个字符串词首(空白为分割) 上一个单词词首 上一个字符串词首 下一个单词词尾 下一个字符串词尾
* # %
移动到光标所在单词的下一个单词 移动到光标所在单词的上一个单词 左右括号部分切换
行间
0 $ ^ nG :n 50%
当前行行首 当前行行尾 g_ 本行最后一个不是blank字符的位置 当前行第一个非空字符 当前文件第n行 当前文件第n行 当前文件文件
f F t T 2fe ;和,
移动到当前行光标右侧的指定字符上 移动到当前行光标左侧的指定字符上 移动到当前行光标右侧的指定字符前 移动到当前行光标左侧的指定字符后 表示移动到光标右侧第2个‘e’字符上 ;重复前一次输入的f,t,F,T命令,反方向重复
段落
{ }
当前段落末尾(隔行为一段) 当前段落开头(隔行为一段)
文件
:0或者gg :$或者G / ?
当前文件第一行行首 当前文件最后一行行首 向后查询 向前查询
屏幕参照移动
H M L
移动到屏幕第一行 移动到屏幕中间一行 移动到屏幕最后一行
翻页
Ctrl+f Ctrl+b Ctrl+u Ctrl+d
向后滚动一页 向前滚动一页 向前滚动半页 向后滚动半页

Vim的文本操作 --一般模式
Vim的删除操作

xdddt
删除当前光标所在的一个字符删除当前行,并把删除的行存到剪贴板里dt" → 删除所有的内容,直到遇到双引号"

Vim的粘贴操作

pyy
粘贴剪贴板拷贝当前行

Vim的文本大小写操作

gUgu
变大写变小写

Vim的撤销操作

uCtrl+r
撤销反撤销

Vim的插入操作

aoOcw
在光标后插入在当前行后插入一个新行在当前行前插入一个新行替换从光标所在位置后到一个单词结尾的字符

Vim的重复操作

.N<command>
重复上一次的命令重复某个命令N次 100idesu [ESC]

ye,从当前位置拷贝到本单词的最后一个字符。
0y$ ,复制整行

Vim的区域操作 --一般模式
<action>a<object> 或 <action>i<object>

  • action可以是任何的命令,如 d (删除), y (拷贝), v (可以视模式选择)。
  • object 可能是: w 一个单词, W 一个以空格为分隔的单词, s 一个句字, p 一个段落。也可以是一个特别的字符:"、 '、 )、 }、 ]。
一个字符串 (map (+) ("foo")).而光标键在第一个 o 的位置
vi" → 会选择 foo.
va" → 会选择 "foo".
vi) → 会选择 "foo".
va) → 会选择("foo").
v2i) → 会选择 map (+) ("foo")
v2a) → 会选择 (map (+) ("foo"))

Vim的块操作 --一般模式
块操作,典型的操作(1)–多行行首同步插入:0 <C-v> <C-d> I-- [ESC]

  • ^ → 到行头
  • → 开始块操作
  • → 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)
  • I-- [ESC] → I是插入,插入“–”,按ESC键来为每一行生效。

块操作,典型的操作(2)–多行行尾同步插入:<C-v> <C-d> $A>&2[ESC]

  • <C-v>
  • 选中相关的行 (可使用 j 或 或是 /pattern 或是 % 等……)
  • $ 到行最后
  • A, 输入字符串,按 ESC。

    Tip:在Windows下的vim,你需要使用 而不是 , 是拷贝剪贴板。
    Vim的文本操作 --命令模式
    |:wq| :e <path/to/file> | :w | :saveas <path/to/file>|
    |–|--|–|--|
    | 存盘 + 退出 (:w 存盘, :q 退出) (w 后可以跟文件名) | 打开一个文件 | 存盘 |另存为 <path/to/file>|
    |:x, ZZ 或 :wq|:q! |:qa! |:bn 和 :bp |
    |保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)|退出不保存|强行退出所有的正在编辑的文件,就算别的文件有更改。|你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(使用:n到下一个文件)|

Vim的分屏: :split 和 vsplit.–命令模式

  • :split → 创建分屏 (:vsplit创建垂直分屏)

  • <Ctrl-w><dir> : dir就是方向,可以是 hjkl 或是 ←↓↑→ 中的一个,其用来切换分屏。

  • <Ctrl-w>_ (或 |) : 最大化尺寸 (| 垂直分屏)

  • <Ctrl-w>+ (或 -) : 增加尺寸

  • <Ctrl-w> h 跳转到左边的窗口

  • <Ctrl-w> j 跳转到下边的窗口

  • <Ctrl-w> k 跳转到上边的窗口

  • <Ctrl-w> l 跳转到右边的窗口

  • <Ctrl-w> t 跳转到最顶上的窗口

  • <Ctrl-w> b 跳转到最顶下的窗口

  • :only 仅保持当前窗口打开

  • <Ctrl-w> o 或者 :q #退出当前所在分屏

Vim的自动提示: <Ctrl-n> 和 <Ctrl-p>–输入模式

Vim 宏录制

  • qa 把你的操作记录在寄存器 a。
  • 于是 @a 会replay被录制的宏。
  • @@ 是一个快捷键用来replay最新录制的宏。
示例

在一个只有一行且这一行只有“1”的文本中,键入如下命令:

qaYp<C-a>q→
    qa 开始录制
    Yp 复制行.
    <C-a> 增加1.
    q 停止录制.
@a → 在1下面写下 2
@@ → 在2 正面写下3
现在做 100@@ 会创建新的100行,并把数据增加到 103.


Vim 可视化选择v,V,<C-v>
一但被选好了,你可以做下面的事:

  • J → 把所有的行连接起来(变成一行)
  • < 或 > → 左右缩进
  • = → 自动给缩进

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值