IdeaVim 提高开发效率

为什么要用IdeaVim?

  1. 解放上下左右键位,所有的键位都在主键盘;
  2. 自定义快捷键,快速定位;
  3. 解放鼠标 ;
  4. 总之 :双手不离开键盘,快速开发 提高开发效率;

安装

  • phpstorm安装ideaVim + IdeaVimExtension(主要是Ideavim的一个插件,具有自动切换英文输入法的功能) ,Ctrl+shift+a,搜plugin,然后安装…不详述了…

    1. 下面有一个简介:我用的是 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;

vim 常规快捷键操作

注意:有很多快捷键操作都是.ideavimrc的配置快捷键;

常规操作

指令 效果
Esc 退出插入模式,进入普通模式
j 光标向左移动
l 光标向友移动
k 光标向下移动
i 光标向上移动
J 移动光标到当前行首
L 移动光标到当前的行尾
b 按照单词向前移动 字首
w 按照单词向后移动 字首
e 按照单词向后移动 字尾
G 移动到文档的最后一行
gg 移动到文档的第一行
v 进入到可视模式,配合移动键jkli来进行选中
u 插销上一次的操作
dd 删除当前行
dw 删除这个单词后面的内容
dG 删除光标后的全部文字
dJ 删除当前行光标之前的内容
dL 删除当前行光标之后的内容
y 复制当前行,会复制换行符
yy 复制当前行的内容
yyp 复制当前行到下一行
nyy 复制当前开始的n行
p 粘贴
ddp 当前行和下一行互换

y 和 d 你可以看成 下了复制的命令 但是 复制那些内容要看后面的命令 y 就是复制当前行

插入操作

按键 效果
i 在光标前
I 在当前行首
a 在光标后
A 在当前行尾
o 在当前行下新开一行 (比较常用)
O 在当前行上新开一行
cw(c:change w:word) 修改当前光标之后的单词内容
chw 修改当前光标所在的单词 (修改的时候还是比较好用的)

查找命令

指令 效果
/code 查找code 一样的内容 ,向后
?code 查找code一样的内容,向前
n 查找下一处
N 查找上一处
f+字符 移动光标到当前行字符的位置,向后查找 经常 f + 字符 chw 这两个命令配合使使用,修改某一行中的单词
F+字符 移动光标到当前行字符的位置,向前查找

命令模式

命令 效果
:q 一般退出 不保存
:q! 强制退出 不保存
:w filename 文件另存为filename
:set nu 显示行号
:set autoindent 自动缩排,回车与第一个非空格符对齐
:set highlight 高亮设置查看
:set hlsearch 查找的代码设置为高亮 (这个还是比较好用的)
:set nohlsearch 关闭高亮

删除操作

很多都在 常规操作里面写了 就还剩下一个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 然后把脚本复制进去就行了;

IDE+vim,提高开发效率相关推荐

  1. 【超实用!!!】如何提高开发效率?免费 IDE 插件 Cloud Toolkit 告诉你

    提高开发效率和提高开发人员的幸福感息息相关,今天,就向大家推荐一款超实用的 IDE 插件 Cloud Toolkit ,让你的开发部署效率 "biu-" 起来! Cloud Too ...

  2. 第三节:快速编译TypeScript,提高开发效率

    上一节我们成功把TypeScript 编译安装好了,接下来我们就看看编译器怎么用起来. 在写代码之前,我们先来选个开发工具,支持TypeScript 的IDE有很多,其中就包括了webstorm,VS ...

  3. 老程序员教你如何提高开发效率、成为大神1——人文思维进化与信众

    第一篇.人文思维进化与信众 接着上一篇第零篇的讨论后,我们已经知道了成为一名专业的程序员,需要具有完备的理论.独立的思考和成熟的技术,本质上是依靠身体力行带动思想,被动的使我们开始拥有成熟的技术,在已 ...

  4. Android Studio 2.0:速度提升,极大提高开发效率

    转至:http://android.jobbole.com/82127/ Android Studio 2.0:速度提升,极大提高开发效率 11月24日,在 Android Developer Sum ...

  5. IntelliJ Idea 常用10款插件(提高开发效率)

    转自:https://blog.csdn.net/weixin_41846320/article/details/82697818 Intellij IDEA 中一些很牛B 的插件:https://b ...

  6. “六神”——技术提高开发效率的一个方案

    这个方案并不是我在系统设计方面的最早一次尝试.但它在提高开发效率方面,是效果最为显著的一个方案. 简介 "六神"框架提供了一套简单而通用的.从Web层到数据库操作(增加单个数据.删 ...

  7. 什么样的鼠标对程序员最有用,超级提高开发效率

    目录 学会使用鼠标左边的两个按键,提高开发效率 .今天给大家分享一个鼠标小技巧,先看下图 这两个键非常有用,可能很多人还不知道怎么用他,加上很多公司都配置很普通的鼠标,根本没有这个两个按钮. 那这两个 ...

  8. 能够提高开发效率的Eclipse实用操作

    概要: 工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个"器".本文会从 Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标 ...

  9. 如何通过组件化提高开发效率?

    在软件开发过程中,大到业务模块的划分,小到技术组件的开发,都属于组件化的思考范畴内.很多时候我们到网上搜索「组件化」关键词,都只会看到关于前端组件化的资料,而对于后台开发组件化的资料却很少,那这是不是 ...

最新文章

  1. 字节Java高级岗:javaio流面试题
  2. 【网友的】《一个程序猿的生命周期》读后感
  3. 让一个文字在背景图片水平居中的方法
  4. [傅里叶变换及其应用学习笔记] 九. 继续卷积的讨论
  5. java自定义标签简单_JSP 自定义标签之一 简单实例
  6. matlab的pulse使用想法
  7. 动态添加select2input没样式_MIUI10壁纸升级:桌面动效壁纸与动态壁纸的前世今生...
  8. ThreadLocal 内存泄漏问题
  9. iOS底层探索之Runtime(四): 动态方法解析
  10. 凸优化第五章对偶 5.3几何解释
  11. 高等数学张宇18讲 第十二讲 常微分方程
  12. 超级实用:Python 合成多张图片保存为PDF
  13. 1144 消失的正数
  14. Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志
  15. 软件测试实训的意义和目的,软件测试报告目的是什么
  16. Linux CentOS 7安装之后,ip addr命令无法显示ip地址。ifconfig命令报错:未找到命令!
  17. 前端JS 烧脑面试题大赏
  18. 学习笔记17 --使用matlab自带函数,将旋转矩阵计算成欧拉角
  19. 数据处理——片假名→平假名转换算法
  20. 网络流建模汇总(转自Edelweiss)

热门文章

  1. HTTP状态码(查询专用)
  2. MySQL常见问题汇总
  3. 唐诗分析 今析古言项目测试 -2
  4. 【PPT计时器】如何在wps演示PPT中使用定时器、计时器功能?不使用第三方插件,仅仅使用第三方计时器软件
  5. 董事长、总裁与CEO
  6. python之三级菜单
  7. Nautre综述:鸟枪法宏基因组-从取样到数据分析(2)2万字带你系统入门宏基因组实验和分析...
  8. 计算机维修过程中应该遵循的步骤,水泥回转窑维修过程中需要遵循的方法和注意事项...
  9. 国外物联网平台大盘点
  10. sqlmap注入——POST检测点方法