推荐一款 IDEA 效率插件, IdeaVim,一款 vim 插件。
对于 vim 个人使用熟练度一般,看中的是尽量少使用鼠标,能不离开键盘的操作,直接完成,有效提升编程效率。
安装方式:IDEA 插件市场,搜索 IdeaVim,安装重启即可(这个应该都会了哈,就不贴图了)。
下面会简单介绍下 vim 的知识,vim 的模式概念,并分享一些个人觉得常用的功能,自己也顺便再熟悉一下。
希望对你的编程效率有所提升。
阅读建议:重要或常用的功能点,字体已做加粗处理,可着重关注。
VIM 三种模式简介
关于模式,简单了解一下,毕竟人家这么设计的,不过初次接触 vim 的话可能会觉得奇怪,习惯就好,每种模式下有一些功能。
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
VIM 的命令模式(Command mode)
VIM 命令模式下,主要进行的操作有光标的移动,复制文本,删除文本,黏贴文本等。
通过ESC
进入该模式。
输入模式(Insert mode)
该模式下可进行正常的文本编辑。
从正常模式进入插入模式(重要)!!!
可以通过如下方式进入,各有秒处,常用:i,I,a,A,o,O,s,S
i
是在光标所在的字符之前插入
I
是在光标所在行的行首插入
a
是在光标所在的字符之后插入
A
是在光标所在行的行尾插入
o
是光标所在行的下一行行首插入
O
是光标所在行的上一行行首插入
s
删除光标所在处的字符然后插入
S
删除光标所在行,在当前行的行首开始插入
底线命令模式(Last line mode)
为啥叫 last line 呢?其实就是视觉上 vim 窗口最下面有一条输入框的模式,可以进行查找,替换操作。
通过:
或 /
进入该模式。
三种模式的协作方式:
常用功能
vim 快捷键有很多,这里只分享个人觉得对日常编程效率有所提升的高频功能。
光标移动
细分 | ||
---|---|---|
纯移动形 | ||
h | 向左 (常用) | |
j | 向下 (常用) | |
k | 向上 (常用) | |
l | 向右 (常用) | |
ctrl + f | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) | |
ctrl + b | 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) | |
0 | 移动行首 | |
^ | 移动到该行的第一个字符 (常用) | |
$ | 移动到该行的最后一个字符 (常用) | |
H | 光标移动到这个屏幕的最上方那一行的第一个字符 | |
M | 光标移动到这个屏幕的中央那一行的第一个字符 | |
L | 光标移动到这个屏幕的最下方那一行的第一个字符 | |
zz | 将光标处文本移动到屏幕中央 (常用) | |
G | 移动到这个档案的最后一行 (常用) | |
nG | n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu) | |
gg | 移动到这个档案的第一行,相当于 1G 啊!(常用) | |
n | n 为数字。光标向下移动 n 行 (常用) | |
搜索形跳转 | ||
fa | 跳转至行内第一个匹配的字母,按; 可继续跳转至下一个,fa a 代表跳到 a (常用) | |
ta | 跳转至行内第一个匹配的字母前一个字符,按; 可继续跳转至下一个 |
搜索替换
底线模式下触发搜索 | 按/ 或者: 进入底线模式 | 使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词! |
/word | 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 dog 这个字符串,就输入 /dog 即可!(常用) | |
?word | 类似/word,不过是向光标之上查找 | |
n | 代表重复前一个搜寻的动作。跳转匹配下一个搜索结果 (常用) | |
N | 类似 n,跳转匹配上一个搜索结果 | |
替换 | ||
:%s/source/target/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) %s 全文搜索 source 代表要替换单词 target 代表替换的目标 g 代表全文替换 |
删除、复制、粘贴
删除 | ||
x | 删除光标处字符 (常用) | |
X | 删除光标前面字符 | |
dd | 删除整行 (常用) | |
ndd | n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用) | |
复制 | ||
yy | 复制光标所在整行 (常用) | |
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行 (常用) | |
粘贴 | ||
p | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!(常用) |
其他
J | 将光标所在行与下一行的数据结合成同一行 |
u | 修改回退,回退到上一步修改**(必用)** |
有用的组合
yaw | 复制一个单词 (常用) |
daw | 删除一个单词 (常用) |
caw | 剪切一个单词到粘贴板,可利用 p 进行粘贴。(常用) |