【一起使用vim】快捷键篇

某一年的某一天,其实是今天。我尝试学习使用一款编辑器来平缓自己浮躁的心。

我将尝试长期使用 VIM 来完成我手上的学习与开发工作

 

自问:为什么选择VIM?

自答:由于 vivim的联系密切,学习 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命令


 

 

未完,晚一些再来补充……

 

posted @ 2017-08-28 18:00  Micoya  阅读(113)  评论(0)    收藏  举报