Vim 快捷键

本文翻译自:https://devhints.io/vim



1、Basic



Vim
是一个非常高效的文本编辑器。

有关快捷方式表示法,请参见:help key-notation


Exiting

:q 关闭文件
:qa 关闭所有文件
:w 保存
:wq / :x 保存并关闭文件
ZZ 保存并退出
ZQ 退出而不检查更改

Exiting insert mode

Esc / <C-[> 退出插入模式
<C-C> 退出插入模式,并中止当前命令

2、编辑


编辑

a 追加
A 从行尾追加
i 插入
o 下一行
O 上一行
s 删除字符并插入
S 删除行并插入
C 删除直到行尾并插入
r 替换一个字符
R 进入替换模式
u 撤消更改
<C-R> 重做更改

剪切板

x 删除字符
dd 删除线(剪切)
yy 扬线(复制)
p 粘贴
P 粘贴前
"*p / "+p 粘贴从系统剪切板
"*y / "+y 粘贴到系统剪切板

Visual 模式

v 进入可视模式
V 进入可视线模式
<C-V> 进入可视屏蔽模式

在可视模式下
d / x 删除选择
s 替换选择
y 扬基选择(复制)

有关您可以执行的其他操作,请参阅操作符


查找和替换

:%s/foo/bar/g : 在整个文档中将foo替换为bar


3、导航


方向

h j k l 箭头键
<C-U> / <C-D> 半页 上/下
<C-B> / <C-F> 页面 上/下

单词

b / w 上一个/下一个单词
ge / e 上一个/下一个单词结尾

线

0 (零) 行首
^ 行首(空格后)
$ 行尾

性格

fc 前进到字符c
Fc 后向字符c

文件

gg 第一行
G 最后一行
:{number} Go to line{number}
{number}G Go to line{number}
{number}j Go down{number}
{number}k Go up{number}

窗口

zz 居中此行
zt 顶部此行
zb 底部此行
H 移动到屏幕顶部
M 移动到屏幕中间
L 移动到屏幕底部

搜索

n 下一个匹配搜索模式
N 上一个拟合
* 光标下的下一个整词
# 光标下的上一个整词

4、操作符


用法

运算符允许您在一系列文本(由运动定义)中进行操作。这些在正常模式下执行。

d w
运算符 Motion

操作符列表

d 删除
y 扬克(复制)
c 更改(删除然后插入)
> 缩进右
< 缩进左
= 自动缩进
g~ 交换大小写
gU 大写
gu 小写
! 滤波器通过外部程序

请参见 :help operator


例子

将运算符与动作结合使用。

dd (重复字母)删除当前行
dw 删除到下一个单词
db 删除到单词的开头
2dd 删除2行
dip 删除文本对象(段落内)
(在可视模式下) d 删除选择

请参阅::help motion.txt


5、文本对象


用法

文本对象允许您在文本块(对象)中或周围进行操作(使用运算符)。

v i p
运算符 [i]nside or [a]round 文本对象

文本对象

p 段落
w Word
s 句子
[ ( { < A [], (), 或{}屏蔽
' " ` A引号字符串
b A block [(
B A block in [{
t A XML tag block

例子

vip 选择段落
vipipipip 选择更多
yip Yank内部段落
yap Yank段落(包括换行符)
dip 删除内部段落
cip 更改内部段落

有关您可以执行的其他操作,请参阅操作符


差异

gvimdiff file1 file2 [file3] : 在HMI中查看文件之间的差异


6、杂项


标签页

:tabedit [file] 在新标签页中编辑文件
:tabfind [file] 打开文件如果存在于新标签页
:tabclose 关闭当前标签
:tabs 列出所有标签
:tabfirst 转到第一个标签
:tablast 转到最后一个标签
:tabn 转到下一个标签
:tabp 转到上一个标签

折叠

zo / zO 打开
zc / zC 关闭
za / zA 切换
zv 打开折叠
zM 关闭所有
zR 打开所有
zm 折叠更多(foldlevel+=1)
zr 折叠更少(foldlevel-=1)
zx 更新折叠

大写的是递归的(例如,zO是递归打开的)。


导航

% 最近/匹配{[()]}
[( [{ [< 上一个({<
]) 下一个
[m 上一个方法开始
[M 上一个方法结束

跳跃

<C-O> 返回到上一个位置
<C-I> 前进
gf 转到光标中的文件

计数器

<C-A> 增量数
<C-X> 递减

窗口

z{height}<Cr> : 将窗格调整为{height}行高


标签

:tag Classname 跳转到Classname的第一个定义
<C-]> 跳转到定义
g] 查看所有定义
<C-T> 返回到最后一个标签
<C-O> <C-I> 后退/前进
:tselect Classname 查找Classname的定义
:tjump Classname 查找Classname的定义(自动选择第一个)

案例

~ 切换大小写(Case=>cASE)
gU 大写
gu 小写
gUU 大写当前行(也gUgU
guu 小写当前行(也gugu

在可视或普通模式下执行这些操作。


Marks

``^` 插入模式下光标的最后位置
``.` 当前缓冲区中的最后更改
``"` 最后退出当前缓冲区
``0` 在最后编辑的文件中
'' 返回当前缓冲区中从哪里跳转的行
`` 返回当前缓冲区中从哪里跳转的位置
``[` 到先前更改或拉拽文本的开头
``]` 到先前更改或拉拽文本的结束
``<` 到最后一个视觉选择的开始
``>` 到最后一个视觉选择的结束
ma 将此光标位置标记为a
``a` 跳转到光标位置a
'a 跳转到位置a
d'a 从当前行删除到标记行a
d`a 从当前位置删除到标记a
c'a 的位置将文本从当前行更改为a
y`a 的行从当前位置扬克文本到a
:marks 列出所有当前标记
:delm a 删除标记a
:delm a-d 删除标记abcd
:delm abc 删除标记abc

杂项

. 重复最后一个命令
]p 粘贴到当前缩进级别下
:set ff=unix 将Windows行尾转换为Unix行尾

命令行

<C-R><C-W> 将当前字插入到命令行
<C-R>" 从"寄存器 粘贴
<C-X><C-F> 插入模式下路径的自动完成

文本对齐

:center [width]
:right [width]
:left

请参阅:help formatting


计算器

<C-R>=128/2 : 显示除法的结果:‘64’

在插入模式下执行此操作。


退出并出现错误

:cq
:cquit

类似于:qa,但抛出错误。非常适合中止Git命令。


拼写检查

:set spell spelllang=en_us 打开美国英语拼写检查
]s 移动到光标后的下一个拼写错误的单词
[s 移动到光标前的前一个拼写错误的单词
z= 建议在光标下/后的单词拼写
zg 将单词添加到拼写列表
zw 将单词标记为坏/拼写错误
zu/C-X (Insert Mode) 从spellfile中为光标下的坏单词建议单词

请参阅:help spell


Also see


2024-06-05(三)

相关推荐

  1. Vim 快捷键

    2024-06-11 12:18:02       38 阅读
  2. vscode vim 快捷键汇总

    2024-06-11 12:18:02       54 阅读
  3. vim 实用快捷键

    2024-06-11 12:18:02       49 阅读
  4. vim常用快捷键

    2024-06-11 12:18:02       157 阅读
  5. Vim常用快捷键

    2024-06-11 12:18:02       37 阅读
  6. Vim常用整理快捷键

    2024-06-11 12:18:02       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 12:18:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 12:18:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 12:18:02       87 阅读
  4. Python语言-面向对象

    2024-06-11 12:18:02       96 阅读

热门阅读

  1. 编程思想:预加载与懒加载

    2024-06-11 12:18:02       28 阅读
  2. Neo4j连接

    2024-06-11 12:18:02       28 阅读
  3. C++:day5

    C++:day5

    2024-06-11 12:18:02      28 阅读
  4. 线程的编码题

    2024-06-11 12:18:02       23 阅读
  5. K8s速览

    K8s速览

    2024-06-11 12:18:02      36 阅读
  6. 强化学习学习笔记-李宏毅

    2024-06-11 12:18:02       35 阅读
  7. docker安装常用软件

    2024-06-11 12:18:02       34 阅读