lblbk.github.io

VIM

古老的编辑器,非主力工具,记些常用命令

标题某些暂未想起名字 先占位

vim 快捷键需要在命令模式下输入,有些命令无需回车,需要会标注

https://zhuanlan.zhihu.com/p/68111471

正常模式(Normal-model)

VIM 正常模式下,主要进行的操作有光标的移动,复制文本,删除文本,黏贴文本等

插入模式?(Insert-mode)

在正常模式中按下个别字母键(后面会详细介绍),会进入插入模式。

例如按 i 键会进行插入模式。该模式启动以后,就会进入编辑状态,通过键盘输入内容

命令模式(Command-mode)

在正常模式中,按下:(冒号)键或者/ (斜杠),会进入命令模式。在命令模式中可以执行一些输入并执行一些 VIM 或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。

可视模式(Visual-mode)

在正常模式按下v, V, +v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候/有一种鼠标选择的即视感,有时候会很方便

VIM 操作

terminal 前缀表示要在 terminal 中使用

: 前缀表示 vim 命令模式下的使用

🧭文件导航

vim file terminal 打开文件

vim file1 file2 file3 ... terminal 打开多个文件

:ls 列出 vim 打开的所有文件

:bn 显示第 n 个文件

🪟窗口管理

⚡️ 移动跳转

常用命令,不然需要自己一行行找,不需要回车键,命令行模式下直接输入

0所在行首字符 第一个字符

^所在行第一个不是 blank 的字符

$shift+4 所在行最后一个字符

g_ 移动到本行最后一个不是 blank 字符的位置

gg跳转到第一行第一个字符

Gshift+g跳转到最后一行最后一个字符

跳转指定行

在vim中有3中方法可以跳转到指定行

  1. ngg nG 跳转到文件第 n 行
  2. :n 跳转到文件第 n 行, 需要回车
  3. vim + n filename 在打开文件后,跳转到文件的第 n 行

📋 粘贴复制

y 是复制的意思,通常搭配一个字符(复制范围)实现复制的功能

yw复制一个单词

ynw复制 n 个单词

yy单行复制 复制光标所在行

nyy`多行复制 将光标移到复制首行 `n=1.2.3.4

y$复制光标到本行的结尾

p在光标后粘贴

P在光标前粘贴

❎ 删除文本

d是删除的意思,通常搭配一个字符 ( 删除范围 ) 实现删除功能

dw删除一个单词

dnw删除 n 个单词

dd删除当前行

ndd删除光标开始的 n 行

d$ 删除光标到本行的结尾

🔍 查找替换

https://cloud.tencent.com/developer/article/1651296

/pattern回车向后查找,n匹配下个结果,N匹配上一个结果

?pattern回车向前查找,n匹配下个结果,N匹配上一个结果

*光标移动到当前词语,搜索整词,向前搜索

#光标移动到当前词语,搜索整词,向后搜索

:set ignorecase:set ic 忽略大小写搜索

📁 重新加载

e!文件重新加载

🔙 撤销回退

u 撤销操作

ctrl + r 恢复撤销