phpstorm安装ideaVim + IdeaVimExtension(主要是Ideavim的一个插件,具有自动切换英文输入法的功能) ,Ctrl+shift+a,搜plugin,然后安装…不详述了…
下面有一个简介:我用的是 set keep-english-in-normal-and-restore-in-insert,就是在普通模式用的是英文,返回插入模式的时候会返回以前插入模式的输入法0;贼好用… 2. 插件下载如果有点慢…,你可以通过http://plugins.jetbrains.com官网插件下载下来,然后通过 installed 右边的配置按键 disk安装;贼快… 做配置之前需要了解一些基础知识:
vim 有四种模式:
普通模式 Normal Mode 我们刚进入vim所处的模式;
可视模式 Visual Mode 按 v 可以进入这种模式 就是对行,字符,列的选中;
插入模式 Instert Mode 按 i o a r I O A R 都可以进入插入模式;
命令模式 Command Mode 按 : 进入到命令模式,例如 :set nu 回车 就是实现行号;
map的命令的几种组合 map 就是映射;
nore 代表的就是非递归 ,就是a->b,b->c 那么按a结果是b 不会再往下递归搜查;n 指的是普通模式下生效;v i c 分别是再可视 插入 命令模式下生效; 所以:上面会出现多种组合 map nnoremap inoremap noremap 自己体会;
下面是我的ideavimrc的配置:
*windows的配置就在用户(Users)目录下 然后找到你的用户名 创建一个.ideavimc的文件就行了 * mac 应该是 cd 就行,也就是 ~ 家目录....我没试过 感觉可以 echo $HOME 看看 应该是这个目录 ### .ideavimrc # IdeaVimExtension 自动切换输入法 set keep-english-in-normal-and-restore-in-insert # 移动键位 hjkl 移动键位太反人类 所以我改成了 ijkl # i #<j l> # k noremap i k noremap j h noremap k j noremap l l # insert 这里是 i被占用了 所以只好换一个h 感觉h没用 根据你们的习惯去修改 noremap h i noremap H I # 行首 行尾 noremap J 0 noremap L $ # map 设置 map R :source $MYVIMRC<CR> map Q :q<CR>其实上面就是做了一个简单的映射,比如:noremap i k; 当你按 i的时候那就相当于按了k;
注意:有很多快捷键操作都是.ideavimrc的配置快捷键;
y 和 d 你可以看成 下了复制的命令 但是 复制那些内容要看后面的命令 y 就是复制当前行
很多都在 常规操作里面写了 就还剩下一个x命令没有写
指令效果x删除一个字符,光标后X删除一个字符,光标前vim 和 IDE 的快捷键冲突的问题?
很多 例如:ctrl +c ctrl +v 很方便的操作不能用了
改进:ctrl + shift + a 搜索 vim emulation 去修改你需要使用的快捷键的handler (可以选择 IDE 或者 vim) 根据你自己的习惯去修改
Esc 离手太远的问题?
做不做修改看个人习惯 我看很多人都把 capslock 修改成Esc 离手比较近 而且capslock这个键用的比较少;
注意 : 在文件配置 .ideavimrc 加上 imap <capslock> <Esc>行不通,所以…mac 要找一下其他方法;
windows 我用的是一个类似于插件的形式来实现的 AutoHotKey;
就是创建一个文件 caps_to_esc.ahp
文件内容:
#意思很简单就是 按Esc 就是大写锁定 capslock 就是esc Capslock::Esc Esc::Capslock然后运行caps_to_esc.ahp脚本;
然后就看到运行了,如下图:就是下面的H图标的脚本
如果感觉每次开机启动很麻烦,可以用如下方法实现开机自启动
快捷键 win+r => shell:startup 然后把脚本复制进去就行了;