IDE+vim,提高开发效率
IdeaVim 提高开发效率
为什么要用IdeaVim?
- 解放上下左右键位,所有的键位都在主键盘;
- 自定义快捷键,快速定位;
- 解放鼠标 ;
- 总之 :双手不离开键盘,快速开发 提高开发效率;
安装
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安装;贼快…
- 下面有一个简介:我用的是 set keep-english-in-normal-and-restore-in-insert,就是在普通模式用的是英文,返回插入模式的时候会返回以前插入模式的输入法0;贼好用…
配置
做配置之前需要了解一些基础知识:
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,提高开发效率相关推荐
- 【超实用!!!】如何提高开发效率?免费 IDE 插件 Cloud Toolkit 告诉你
提高开发效率和提高开发人员的幸福感息息相关,今天,就向大家推荐一款超实用的 IDE 插件 Cloud Toolkit ,让你的开发部署效率 "biu-" 起来! Cloud Too ...
- 第三节:快速编译TypeScript,提高开发效率
上一节我们成功把TypeScript 编译安装好了,接下来我们就看看编译器怎么用起来. 在写代码之前,我们先来选个开发工具,支持TypeScript 的IDE有很多,其中就包括了webstorm,VS ...
- 老程序员教你如何提高开发效率、成为大神1——人文思维进化与信众
第一篇.人文思维进化与信众 接着上一篇第零篇的讨论后,我们已经知道了成为一名专业的程序员,需要具有完备的理论.独立的思考和成熟的技术,本质上是依靠身体力行带动思想,被动的使我们开始拥有成熟的技术,在已 ...
- Android Studio 2.0:速度提升,极大提高开发效率
转至:http://android.jobbole.com/82127/ Android Studio 2.0:速度提升,极大提高开发效率 11月24日,在 Android Developer Sum ...
- IntelliJ Idea 常用10款插件(提高开发效率)
转自:https://blog.csdn.net/weixin_41846320/article/details/82697818 Intellij IDEA 中一些很牛B 的插件:https://b ...
- “六神”——技术提高开发效率的一个方案
这个方案并不是我在系统设计方面的最早一次尝试.但它在提高开发效率方面,是效果最为显著的一个方案. 简介 "六神"框架提供了一套简单而通用的.从Web层到数据库操作(增加单个数据.删 ...
- 什么样的鼠标对程序员最有用,超级提高开发效率
目录 学会使用鼠标左边的两个按键,提高开发效率 .今天给大家分享一个鼠标小技巧,先看下图 这两个键非常有用,可能很多人还不知道怎么用他,加上很多公司都配置很普通的鼠标,根本没有这个两个按钮. 那这两个 ...
- 能够提高开发效率的Eclipse实用操作
概要: 工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个"器".本文会从 Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标 ...
- 如何通过组件化提高开发效率?
在软件开发过程中,大到业务模块的划分,小到技术组件的开发,都属于组件化的思考范畴内.很多时候我们到网上搜索「组件化」关键词,都只会看到关于前端组件化的资料,而对于后台开发组件化的资料却很少,那这是不是 ...
最新文章
- 字节Java高级岗:javaio流面试题
- 【网友的】《一个程序猿的生命周期》读后感
- 让一个文字在背景图片水平居中的方法
- [傅里叶变换及其应用学习笔记] 九. 继续卷积的讨论
- java自定义标签简单_JSP 自定义标签之一 简单实例
- matlab的pulse使用想法
- 动态添加select2input没样式_MIUI10壁纸升级:桌面动效壁纸与动态壁纸的前世今生...
- ThreadLocal 内存泄漏问题
- iOS底层探索之Runtime(四): 动态方法解析
- 凸优化第五章对偶 5.3几何解释
- 高等数学张宇18讲 第十二讲 常微分方程
- 超级实用:Python 合成多张图片保存为PDF
- 1144 消失的正数
- Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志
- 软件测试实训的意义和目的,软件测试报告目的是什么
- Linux CentOS 7安装之后,ip addr命令无法显示ip地址。ifconfig命令报错:未找到命令!
- 前端JS 烧脑面试题大赏
- 学习笔记17 --使用matlab自带函数,将旋转矩阵计算成欧拉角
- 数据处理——片假名→平假名转换算法
- 网络流建模汇总(转自Edelweiss)
热门文章
- HTTP状态码(查询专用)
- MySQL常见问题汇总
- 唐诗分析 今析古言项目测试 -2
- 【PPT计时器】如何在wps演示PPT中使用定时器、计时器功能?不使用第三方插件,仅仅使用第三方计时器软件
- 董事长、总裁与CEO
- python之三级菜单
- Nautre综述:鸟枪法宏基因组-从取样到数据分析(2)2万字带你系统入门宏基因组实验和分析...
- 计算机维修过程中应该遵循的步骤,水泥回转窑维修过程中需要遵循的方法和注意事项...
- 国外物联网平台大盘点
- sqlmap注入——POST检测点方法