IDEA
Alt + 鼠标左键(在mac键盘上是Option + Shift + 鼠标左键)可以复制光标。
Option + 空格:快速浏览方法定义
Command + B 跳转进入方法实现(对接口方法要跳2次)
Command + Option + B 跳转进入方法实现(对接口方法直接选择后跳转,只用跳1次)
Command + E 跳转上一个文件
IDEA文本操作
选择
Alt(Option) + Up: 不断扩大选择范围的选择
删除
删除至单词尾:Ctrl+Delete(Linux/Win)/ Option+Fn+Delete(macOS)
删除至单词首:Ctrl+Backspace(Linux/Win)/Option+Delete(macOS)
如果和默认设置冲突了,可以在IDEA中的keymap里设置一下
编辑
将多行文本合并为一行:选中文本后,点击 编辑->Join Lines
Vim/IdeaVim
移动光标
移动光标主要在Normal和Visual模式下进行。
按字符移动:j下,k上,h/空格左,l右
按单词移动
先介绍一下Vim对狭义单词和广义单词的区分,狭义单词由26个英文字母的大小写、数字或下划线组成的,和C语言对变量的定义是一致的。如果遇到其他的相邻非空白符组合,则也算一个狭义单词。广义单词则包括除空白符之外的相邻字符组成。
w移动下一个狭义单词首字母
W移动至下一个广义单词首字母
e移动至当前狭义单词末尾字母,如果已经在末尾字母则移动至下一个狭义单词的末尾字母
E移动至当前广义单词末尾字母,如果已经在末尾字母则移动至下一个广义单词的末尾字母
b往回移动至狭义单词首字母,如果已经在首字母则移动至上一个狭义单词首字母
B往回移动至广义单词首字母,如果已经在首字母则移动至上一个广义单词首字母
ge移动至上一个狭义单词末尾字母
gE移动至上一个广义单词末尾字母
跳转到指定行列
normal模式下跳转到第80行第16列:80G16|
命令模式下::norm 80G16|
行内跳转
f+单字符 移动至同一行的下一个该字符处,f表示for。查找过程中用分号;可以移动至下一个查找
t+单字符 移动至同一行的下一个该字符前,t表示to
行级别移动
^移动至非空白符行首
0 移动至行首
$ 移动至行尾
括号匹配移动
\% 移动至匹配括号处
一些场景移动方式
gi移动至上一次编辑的位置
插入模式下想移动
要么用方向键移动,
如果想用Normal/Visual模式下的移动,但是又想移动完后重新回到插入模式,那么用ctrl+o,ctrl+o+移动命令相当于Esc进入Normal模式+移动命令+i
查找和替换
详见桌面鼠标垫
模式匹配删除
Visual模式下输入: 可进入Visual命令模式
vimrc设置set hlsearch incsearch
可以高亮显示搜索的匹配
删除空行
1 | :g/^$/d |
其中^表示行首,$表示行尾
删除空白行(由空白符组成的行)
1 | :g/^\s*$/d |
删除@Override注解的行
1 | :g/Override/d |
删除一对括号
前提:安装Surround插件
1 | ds+你要删的括号 |
v模式下,使用S+需要wrap的符号
vim-exchange
常规模式用cx,Visual模式用X
A Tip
在匹配完一次后,vim会一直将匹配的字符串高亮,按Esc也没效果,这时候输入 :noh
就干净了
批处理
. 重复上次在normal模式下的操作
公式
action + range
如缩紧{}内的内容:>i{
修改””中的内容(包括”):ca"
IDEAVIM配置keymap
配置 ge:Go to Error
Copy and paste
1 | :set paste |
1 | set pastetoggle=<F3> |
评论
shortname
for Disqus. Please set it in_config.yml
.