【一起使用vim】快捷键篇
某一年的某一天,其实是今天。我尝试学习使用一款编辑器来平缓自己浮躁的心。
我将尝试长期使用 VIM 来完成我手上的学习与开发工作
自问:为什么选择VIM?
自答:由于 vi 和 vim的联系密切,学习 vim 使得我通过shell管理服务器时更得心应手。
自问:怎样学习 VIM?
自答:作为一名初学者我还无法回答这个问题,我将在一段时间后来修改这里的问答。2017年8月28日 记
自问:有什么学习计划?
自答:使用VIM代替我日常的所有和文本编辑有关的工作,包括编写代码、Markdown文档等
先上一张VIM键盘图

模式
VIM与平时使用的编辑器有很大的区别。
在VIM中编辑器拥有 正常(Normal)、插入(Insert)、命令(Command)、可视(Visual) 四种模式,来对应不同的功能。
这四种模式的介绍:
正常:在任何情况下按下ESC即进入正常模式,在正常模式中可以进行查看、复制、粘贴、删除、移动光标等操作。
插入:插入模式可以进行编辑文本操作
命令:在正常模式下输入 ":" 即可进入命令模式,在命令模式下可以进行保存退出、shell指令、vim内置指令、插件指令等。
可视:在正常模式下按 v 即可进入可视化模式,在这个模式下vim允许和普通的文本编辑器一样使用鼠标滚轮滚动页面。
插入
编辑器的核心自然是编辑,我学习了以下方式从正常模式切换到插入模式。
i 这是最基础的插入,从当前光标开始,切换到插入模式
a 在当前光标后,进入插入模式
o 在当前行后面插入一个新行,并进入插入模式
O 在当前行前面插入一个新行,并进入插入模式
S 删除当前行并进入插入模式
s 删除当前字符并进入插入模式
移动光标
移动光标的操作也绝对是一个非常频繁的操作,移动光标的操作决定了效率。
VIM 让我这个喜欢按住方向键看光标往右滚的笨蛋看到了一片新天地(其实IDE、其他编辑器中也拥有该功能,但是懒惰限制了人学习)
0 将光标移动到行末
^ 到本行第一个不是blank的位置(空格 tab等)
Home 到本行的行首
$ 到本行的行尾(同 End 键)
g_ 到本行最后一个不是blank的位置
G 到本文的最后一行
Page Up Page Down 翻页
复制 粘贴 剪切
yy 复制当前行 (到VIM的缓存区)
P 粘贴(从VIM缓存区)
dd 剪切当前行(到VIM缓存区)
yw 复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词
y$ 复制光标所在位置到行尾内容到缓存区
y^ 复制光标所在位置到行首内容到缓存区
m, ny 复制m - n行之间的内容到缓存区
我们利用 n + 命令(n >= 1) 这种形式可以做到执行N次指令
例如 5yy 即复制5行
关于从系统剪贴板中复制和粘贴
"+y 复制到系统剪贴板
"+p 从系统剪贴板粘贴
"+gp 从系统剪贴板粘贴并将光标放到末端
命令操作
w 保存
q 关闭
q! 强制关闭
wq 保存并退出
saveas <path/to/file> 另存为
e <path/to/file> 打开
! + <shell> 执行shell命令
未完,晚一些再来补充……
浙公网安备 33010602011771号