vim之快捷键
Vim 编辑器是一个基于命令行的工具,是传奇编辑器 vi 的增强版。尽管图形界面的富文本编辑有很多,但是熟悉 Vim 对于每一位 Linux 的使用者都能有所帮助——无论你是经验丰富的系统管理员,还是刚上手树莓派的新手用户。
这个轻量级的编辑器是个非常强大的工具。在有经验的使用者手中,它能完成不可思议的任务。除了常规的文本编辑功能以外,它还支持一些进阶特性。例如,基于正则表达式的搜索和替换、编码转换,以及语法高亮、代码折叠等的编程特性。
使用 Vim 时有一个非常重要的一点需要注意,那就是按键的功能取决于编辑器当前的“模式”。例如,在“普通模式”输入字母j
时,光标会向下移动一行。而当你在“插入模式”下输入字符,则只是正常的文字录入。
下面就是速查表,以便于你充分利用 Vim。
基本操作
快捷键 | 功能 |
---|---|
Esc |
从当前模式转换到“普通模式”。所有的键对应到命令。 |
i |
“插入模式”用于插入文字。回归按键的本职工作。 |
: |
“命令行模式” Vim 希望你输入类似于保存该文档命令的地方。 |
方向键
快捷键 | 功能 |
---|---|
h |
光标向左移动一个字符 |
j 或 Ctrl + J |
光标向下移动一行 |
k 或 Ctrl + P |
光标向上移动一行 |
l |
光标向右移动一个字符 |
0 |
(数字 0)移动光标至本行开头 |
$ |
移动光标至本行末尾 |
^ |
移动光标至本行第一个非空字符处 |
w |
向前移动一个词 (上一个字母和数字组成的词之后) |
W |
向前移动一个词 (以空格分隔的词) |
5w |
向前移动五个词 |
b |
向后移动一个词 (下一个字母和数字组成的词之前) |
B |
向后移动一个词 (以空格分隔的词) |
5b |
向后移动五个词 |
G |
移动至文件末尾 |
gg |
移动至文件开头 |
浏览文档
快捷键 | 功能 |
---|---|
( |
跳转到上一句 |
) |
跳转到下一句 |
{ |
跳转到上一段 |
} |
跳转到下一段 |
[[ |
跳转到上一部分 |
]] |
跳转到下一部分 |
[] |
跳转到上一部分的末尾 |
][ |
跳转到上一部分的开头 |
插入文本
快捷键 | 功能 |
---|---|
a |
在光标后插入文本 |
A |
在行末插入文本 |
i |
在光标前插入文本 |
o |
(小写字母 o)在光标下方新开一行 |
O |
(大写字母 O)在光标上方新开一行 |
特殊插入
快捷键 | 功能 |
---|---|
:r [filename] |
在光标下方插入文件 [filename] 的内容 |
:r ![command] |
执行命令 [command] ,并将输出插入至光标下方 |
删除文本
快捷键 | 功能 |
---|---|
x |
删除光标处字符 |
dw |
删除一个词 |
d0 |
删至行首 |
d$ |
删至行末 |
d) |
删至句末 |
dgg |
删至文件开头 |
dG |
删至文件末尾 |
dd |
删除该行 |
3dd |
删除三行 |
简单替换文本
快捷键 | 功能 |
---|---|
r{text} |
将光标处的字符替换成 {text} |
R |
进入覆写模式,输入的字符将替换原有的字符 |
复制/粘贴文本
快捷键 | 功能 |
---|---|
yy |
复制当前行至存储缓冲区 |
["x]yy |
复制当前行至寄存器 x |
p |
在当前行之后粘贴存储缓冲区中的内容 |
P |
在当前行之前粘贴存储缓冲区中的内容 |
["x]p |
在当前行之后粘贴寄存器 x 中的内容 |
["x]P |
在当前行之前粘贴寄存器 x 中的内容 |
撤销/重做操作
快捷键 | 功能 |
---|---|
u |
撤销最后的操作 |
Ctrl+r |
重做最后撤销的操作 |
搜索和替换
快捷键 | 功能 |
---|---|
/search_text |
检索文档,在文档后面的部分搜索 search_text |
?search_text |
检索文档,在文档前面的部分搜索 search_text |
n |
移动到后一个检索结果 |
N |
移动到前一个检索结果 |
:%s/original/replacement |
检索第一个 “original” 字符串并将其替换成 “replacement” |
:%s/original/replacement/g |
检索并将所有的 “original” 替换为 “replacement” |
:%s/original/replacement/gc |
检索出所有的 “original” 字符串,但在替换成 “replacement” 前,先询问是否替换 |
:#,#s/old/new |
#,#代表收尾行号 |
书签
快捷键 | 功能 |
---|---|
m {a-zA-Z} |
在当前光标位置设置书签,书签名可用一个大小写字母({a-zA-Z}) |
:marks |
列出所有书签 |
{a-zA-Z} |
跳转到书签 {a-zA-Z} |
选择文本
快捷键 | 功能 |
---|---|
v |
进入逐字可视模式 |
V |
进入逐行可视模式 |
Esc |
退出可视模式 |
改动选中文本
快捷键 | 功能 |
---|---|
~ |
切换大小写 |
d |
删除一个词 |
c |
变更 |
y |
复制 |
> |
右移 |
< |
左移 |
! |
通过外部命令进行过滤 |
保存并退出
快捷键 | 功能 |
---|---|
:q |
退出 Vim,如果文件已被修改,将退出失败 |
:w |
保存文件 |
:w new_name |
用 new_name 作为文件名保存文件 |
:wq |
保存文件并退出 Vim |
:q! |
退出 Vim,不保存文件改动 |
ZZ |
退出 Vim,如果文件被改动过,保存改动内容 |
ZQ |
与 :q! 相同,退出 Vim,不保存文件改动 |
文件操作
命令 | 说明 |
---|---|
:e + filename | 打开新文件 |
:r + filename | 读取文件并插入到当前文件 |
选项设置
命令 | 说明 |
---|---|
:set ic | 忽略大小写 |
:set is | 部分匹配(like) |
:set hls | 高亮匹配 |
:set nu | 显示行号 |
分屏启动vim
命令 | 说明 |
---|---|
vim -on file1 file2... | 水平分屏 |
vim -On file1 file2... | 垂直分屏 |
关闭分屏
命令 | 说明 |
---|---|
Ctrl + w c | 关闭当前窗口(如果是最后一个,无法关闭) |
Ctrl + w q | 关闭当前窗口(如果是最后一个,则退出vim) |
分屏
命令 | 说明 |
---|---|
Ctrl + w s | 上下分屏 |
Ctrl + w v | 左右分屏 |
:sp filename | 左右分屏,且打开一个新的文件 |
:vsp filename | 上下分屏,且打开一个新的文件 |
切换分屏(光标切换)
命令 | 说明 |
---|---|
Ctrl + w l | 右边 |
Ctrl + w h | 左边 |
Ctrl + w j | 上边 |
Ctrl + w k | 下边 |
分屏尺寸调整
TIPS: (上下分屏生效)
命令 | 说明 |
---|---|
Ctrl + w = | 所有屏一样高度 |
Ctrl + w + | 增加高度 |
Ctrl + w - | 减少高度 |
翻页
命令 | 说明 |
---|---|
Ctrl + e | 向下滚动一行 |
Ctrl + y | 向上滚动一行 |
Ctrl + f | 向下翻一页 |
Ctrl + b | 向上翻一页 |
Ctrl + u | 向上翻半页 |
Ctrl + d | 向下翻半页 |
vim之快捷键的更多相关文章
- vim使用快捷键
vim使用快捷键 索引 1. 关于Vim 1.1 Vim的几种模式 2. 启动Vim 3. 文档操作 4. 光标的移动 4.1 基本移动 4.2 翻屏 4.3 标记 5. 插入文本 5.1 基本插入 ...
- Vim命令快捷键(网摘)
Vim命令快捷键(网摘) 原文出处:[?---->home]
- 一些常用的vim编辑器快捷键:
一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...
- VIM常用快捷键(转载)
移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...
- Mac下Vim编辑快捷键小结(移动光标)
Mac下Vim编辑快捷键小结(移动光标) 1.移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^" 2.移动到段首&qu ...
- [转贴] VIM 常用快捷键 --一直记不住
vim 常用快捷键 原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...
- vim的快捷键
vim的快捷键 (〇)3中模式之间的切换 默认在命令模式. i键,从命令模式,进入插入模式. 冒号(:)键,从命令模式,进入末行模式. Esc键,从插入模式.末行模式,进入命令模式. (一)命令模式下 ...
- [转帖]VIM常用快捷键
VIM常用快捷键 https://www.cnblogs.com/markleaf/p/7808817.html 快捷键能够显著的提高工作效率 一.移动光标 h,j,k,l 上,下,左,右ctrl-e ...
- vs 中 vim vax 快捷键
高效率移动 在插入模式之外 基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面VIM就像一个“哑巴”编辑器一样.很多新手都会一直呆在插入模式里面,因为这样易于使用.但VIM的强大之处在于 ...
- day3、Linux快捷键及vim命令快捷键
Linux命令行快捷键 快捷键: tab键 自动补全路径 目录 名字, 自动不全命令 快捷键: ctrl +l(小写) 清屏 . ctrl +c 取消当前操作 快捷键: ctrl +d(小写) ...
随机推荐
- 阿里云Ubuntu 16 FTP安装配置注意事项
1. 开放端口设置 阿里云控制台添加"安全组规则". 1) 21: FTP端口; 2) 15000~15100: 对应vsftpd.conf 自定义配置. (重要!) pasv_e ...
- pytorch-卷积基本网络结构-提取网络参数-初始化网络参数
基本的卷积神经网络 from torch import nn class SimpleCNN(nn.Module): def __init__(self): super(SimpleCNN, self ...
- 相似系数_杰卡德距离(Jaccard Distance)
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...
- 解决Hash碰撞冲突的方法
Hash碰撞冲突 我们知道,对象Hash的前提是实现equals()和hashCode()两个方法,那么HashCode()的作用就是保证对象返回唯一hash值,但当两个对象计算值一样时,这就发生了碰 ...
- Kafka管理与监控——调优
1.JVM参数配置优化 如果使用的CMS GC算法,建议JVM Heap不要太大,在4GB以内就可以.JVM太大,导致Major GC或者Full GC产生的“stop the world”时间过长, ...
- docker搭建pxc
1.下载镜像 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.i ...
- MySQL学习-MySQL内置功能_事务操作
1.事务详解 1.1 事务的概念 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等 ...
- 【VS开发】VS2010中导入ActiveX控件
方法1: 1.首先在在项目上面右击添加类,如下图所示: 2.点击添加ActiveX控件中的MFC类 3.找到需要添加的ActiveX类. 4.点击完成即可. 5.此时转到资源视图,打开如下视图.可能工 ...
- [CF544D]Destroying Roads_最短路_bfs
D. Destroying Roads 题目大意: In some country there are exactly n cities and m bidirectional roads conne ...
- 第十三章 字符串(一)之 String
这一节来学习String的特性和方法. 一.String对象的不变性 不变性:String对象是由一个final char[] value 数组实现的,因此String对象是不可变的.任何看起来改变S ...