建立自己的键盘栈(shortcutkeyStack)
建立自己的键盘栈(shortcutkeyStack)
作为一名开发者, 快捷键是必不可少的, 并且各种开发工具都有提供快捷键. 但是各种工具(IDE,编辑器)因为历史或者其他不可抗原因(比如键盘的布局就是一个很不符合人体功能学的东西), 导致了目前的会计诶按布局.
所以快捷键的主流习惯, 有 Eclipse 流, 有 Intelligent (webStorm, phoStorm, idea)流, 有 vim 流, 有sublime流. 现在 vscode 大热, 也就有了 vscode 流. 每种快捷键都有自己的习惯. 如果更换编辑器的话, 又要费一门心思去了解快捷键(最起码我第一件事就是去熟悉这个东西)
但是我们可以建立自己的一套机制, 当然如果你熟悉eclipse, 可以将其他的IDE更改为 eclipse 布局. 可我要说的是: 比如一个复制行操作(复制所选择的行), 默认快捷键是 ctrl(command) + alt + up/down, 不得不使用两个手, 并且两个手掌都要进行位移. 这对于我们的码农来说是一个生产力的极大伤害.
所以, 我想每个人都应该有一个方便快捷可用的快捷键体系, 我这里列举出我自己的, 仅作为一个分享和交流.
之所以没有说vim的强大, 是因为vim需要太多记忆与熟悉体系, 很多对 linux 系统不是很熟悉的人会感觉头大, 并且也只是强大,并不是好用的强大
我使用的是mac系统, 所以其中的是command, 如果是windows, 非常建议改建, 将 windows功能键 更改为 ctrl 键, 具体方法只好百度了, 发现是很好改的. mac 下就推荐神器 Karabiner 了, 非常好用,非常强大
功能整理
作为程序员, 其实操作ide最常用的功能就那么几个, 我们需要把这几个最常用的功能放在我们最容易按到的键位(最好是左手操作), 方便使用也高效.
常用
- 浏览文件 command + r //非常顺手, 而且文件切换的时候经常会用到 vscode 默认 command+p, 我相信除非用右手, 否则一定是两个手. 如果你这个时候, 还在用着鼠标, 不得不切回来了.
浏览方法或者功能 command + t // 同上
- 复制行 command + shift + d // 这个很常用的功能, 但是 command + d 作为删除太常用了, 所以左手原则 + 好用的话, 就选择了这个
- 删除行 command + d // 不解释
跳转到最后编辑出 command + e //最常使用, 最容易触碰
- 回退 command + 2 //我回退使用的很多, 但是前进就很少了. 我一般会用最后编辑的地方就行前进, 因为前进是回退的反操作~
- command + 1 //代码提醒, 这个也是最常用的.
- command + 3 // 跳转到git的下一个不同. 协作很多, 提交要注意, 所以我每次提交都很小心的比对一下. 这个很常用.
- command + 4 // 跳转到下一处错误, 这个对于快速解决问题很好用
command + 5 // 合并当前区域, 没有展开, 展开去点击一下就可以了.
- ctrl + d //选择下一个与当前相同的
- 跳转到代码区块开头或者结尾 command + [/] //webstorm 比较强大, 可以支持, vscode 只有 toggle 的, 所以看自己喜好了
跳转到代码区块开头或者结尾并选择 shift + command + [/]
- 查看最近的文件 command + f3
查看最近的修改文件 command + f4
其他, 或者不常用?
- git 管理, 提交 ctrl + c // commit
- git 管理, 解决冲突 command + k + c
- git 管理, 查看文件历史 alt + h
基本上每个ide我都会更改成这个样子. 便于统一使用. 原则上是
好用, 好记 当然快捷键还有更多的设置.
建立自己的键盘栈(shortcutkeyStack)的更多相关文章
- Java虚拟机栈
Java Virtual Machine Stacks,线程私有,生命周期与线程相同,描述的是Java方法执行的内存模型:每一个方法执行的同时都会创建一个栈帧(Stack Frame),由于存储局部变 ...
- JavaScript变量——栈内存or堆内存
原文 http://blog.csdn.net/xdd19910505/article/details/41900693 堆和栈这两个字我们已经接触多很多次,那么具体是什么存在栈中什么存在堆中呢?就 ...
- 谈谈arm下的函数栈
引言 这篇文章简要说说函数是怎么传入参数的,我们都知道,当一个函数调用使用少量参数(ARM上是少于等于4个)时,参数是通过寄存器进行传值(ARM上是通过r0,r1,r2,r3),而当参数多于4个时,会 ...
- 递归转手工栈处理的一般式[C语言]
是任意形式的递归,是化解的一般式. 主题所谓的“递归调用化解为栈处理”,意思是,将递归函数调用化解为“一个由stack_push stack_pop stack_top等函数调用组成的循环式子”.这里 ...
- C函数调用与栈
这篇blog试图说明这么一个问题,当一个c函数被调用时,一个栈帧(stack frame)是如何被建立,又如何被消除的.这些细节跟操作系统平台及编译器的实现有关,下面的描述是针对运行在Linux的gc ...
- C语言数据结构----栈的定义及实现
本节主要说的是数据结构中的栈的基本定义和实现的方式,其中实现的方式采用的是复用顺序表和单向链表的方式. 一.栈的基本定义 1.栈是一种特殊的线性表,只能从固定的方向进出,而且栈进出的基本原则是:先进栈 ...
- js 中的栈和堆
js中的栈与堆的讲解/基本数据类型与引用类型的讲解 前言:1. 学习前端,入门简单,想学好确实是一件很困难的事情,东西多而且杂,版本快速迭代,产品框架层出不穷. 2. 前端学习成本确实很高,需要不断的 ...
- js中的栈、堆、队列、内存空间
栈(stack) .堆(heap). 队列(queue)是js的三种数据结构. 栈(stack) 栈的特点是"LIFO,即后进先出(Last in, first out)".数据存 ...
- python的数据结构之栈
栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶.栈被称为一种后入先出(LIFO,last-in-first-out)的数据结构. 由于栈具有后入先出的特点,所以任何不在栈顶的元素 ...
随机推荐
- 关于梯度下降之前需要进行feature scale的记录
先上吴恩达老师的课件图 1.对于梯度下降而言,学习率很大程度上影响了模型收敛的速度.对于不同规模的特征,如果采用相同的学习率,那么如果学习率适应于scale大的数据,scale较小的数据由于学习率过大 ...
- Alfred神器使用手册【转】
我曾经耗费巨大的精力,试图在计算机的使用效率上找到一条优化的捷径,一直以来都收效甚微.直到遇上 alfred,它强大的工作流机制,彻底解决了输入输出的痛点,极大的减少了程序之间的切换成本和重复按键成本 ...
- ElementUI 源码定制防坑指南
背景 我司OA系统公文管理模块Office在线编辑使用的是金格IWebOffice中间件[PPAPI插件,通过<object>标签加载],IWebOffice在chrome中设置div盒子 ...
- foundation-cli创建项目出错的解决方案
使用foundation-cli创建项目时,如果当前的node版本是12的话就会出现如下错误: fs.js:27 const { Math, Object } = primordials; ^ Ref ...
- LifeGame
LifeGame 用例说明&用例图 用例名: 设置细胞颜色 说明 用户可以根据自己的喜好来设置细胞的颜色 主事件流 在菜单出点击需要的颜色游戏检测到菜单的返回的颜色更改细胞的颜色,最后显示出来 ...
- Node学习之(第二章:http模块)
前言 继续上一节的探讨,今天我们来聊聊Node中怎么搭建一个简单的web服务器.平时大家在撸码的过程中,经常需要向服务器发送请求,然后服务器接受请求,响应数据.今天我们就来自己手写一个简单服务器,根据 ...
- java web编程 servlet3
- MySQL Innodb--共享临时表空间和临时文件
在MySQL 5.7版本中引入Online DDL特性和共享临时表空间特性,临时数据主要存放形式为: 1.DML命令执行过程中文件排序(file sore)操作生成的临时文件,存储目录由参数tmpdi ...
- TableCache设置过小造成MyISAM频繁损坏 与 把table_cache适当调小mysql能更快地工作
来源: 前些天说了一下如何修复损坏的MyISAM表,可惜只会修复并不能脱离被动的境地,只有查明了故障原因才会一劳永逸. 如果数据库服务非正常关闭(比如说进程被杀,服务器断电等等),并且此时恰好正在更新 ...
- Computer Vision_33_SIFT:Fast Adaptive Bilateral Filtering——2018
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...