常用命令 / Cheatsheet
大小写反转
- 当前单词:【guw】将当前单词转换成小写,【gUw】将当前单词转换成大写
- 还有个简单的做法:光标在该单词上, Alt + J 选中它,按 U/u 变成大写/小写
- 当前字符:【~】反转当前字符
- 替换字符串:假设想要把当前文件中所有的 foooooo 替换为 bar,光标在 foooooo 上,按
*
星号,再输入命令:%s//bar/g
就齐活,这样可以不用输入原来的字符串 foooooo 【参考这里的详细说明】
自定义快捷键
【1】举例1,打开最近使用的项目
- 与Vim一样,在
.ideavimrc
里定义leader
(modifier key)可以形成一套新的快捷键" 用空格键作为 leader let mapleader = " " nnoremap <Leader>o :<C-u>action RecentProjectListGroup<CR>
【2】查看 IDEA 支持的 Action
- 问题是,如何知道PyCharm中有哪些 action 呢?类似
RecentProjectListGroup
这样的就叫 action. - 在 normal 模式下使用
:actionlist
命令查看 PyCharm 支持的 action,注意,这个命令是在编辑器处于normal
模式下直接输入的 - 输入
:actionlist
能看到全部 action,太多了,看不过来怎么办,不要担心,还支持模糊查询,比方说:actionlist rename
(回车),范围缩小到包含 rename 的项目上
【3】手工执行某个 action
- 在 Normal 模式下输入
:action ToggleLineBreakpoint
(回车),就会在当前代码处打上断点。明白这个原理,就知道该如何配合 modifier key 自定义快捷键了 :)
扩展功能
环绕 surround
Vim插件surround.vim 用于在文本两侧增加、删除、修改对称的字符/字符串,类似括号、单/双引号、XML tags等成对出现的东西。
IdeaVim 里有对应功能,使用时要先在 .ideavimrc
里打开 set surround
该功能,这里有一个比较详细的举例介绍,这个功能在需要给多个字符串或单词添加单/双引号情况下还是有用的,配合.
这个重复命令。
Example: 比方说要在 {foo: 1, bar: 100, 'xyz': 10000}
里面把 foo, bar 都加上单引号,可以这样做:
- 光标移动到
foo
上,输入命令ysiw'
,就得到了'foo'
- 把光标再移动到
bar
上,输入命令.
,又得到了'bar'