怎样配置键盘最方便,以及一些设计的思考

使用Emacs的人,如果肯折腾,肯定有重新映射键盘的经历。我原来经常看到的是把Ctrl和Capslock交换,但是我感觉没什么道理,因为Ctrl已经用的很熟练了,换了反而不方便,而且对其他程序影响太大。那么我们就要使用默认的方式吗?除非你想把手弄抽筋,否则还是调整一下的好。今天我就说一下整体的键盘配置,可以不影响正常使用,提升总体舒适感,又可以同时方便Vi和Emacs的使用。

首先我把所有Windows特殊的按键都给取消了(例如Ctrl+Shift或Ctrl+Space切换输入法,连续按五次Shift出现辅助功能等),只用一个中文输入法切换,设为Ctrl+Home。这些是有用的,首先,玩游戏的同学都知道,经常会因为按Shift等特殊键(刺客信条驾驶船只的时候连按Shift,结果Windows弹出了莫名其妙的框;或者玩FPS的时候,出现输入法)影响游戏体验。因此把这些特殊键取消极大地减少了不必要的麻烦。另外很多程序也用到了Ctrl+Space,例如Emacs设置mark的时候,用Ctrl+Space非常方便,所以最好不要把Ctrl+Space设为输入法切换的组合键。

第二就是把Esc和Capslock交换。这在Windows下就是改个注册表的事(Linux下好像更简单,具体操作请各位搜索Internet,本文提供思想,具体实施非本文重点)。之所以这样交换,是因为能同时方便Vi和Emacs。Vi就不说了,Esc是切换模式最常用的键,如果他就在你左手小拇指的位置,那岂不是最方便?而且请看当年Bill Joy创造Vi时用的的键盘(注意Ctrl和Esc的位置,以及hjkl四个键):

(引自http://www.catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keys/)

你现在应该知道为什么Vi和Emacs会设置那样的快捷键。

第二个原因就是Emacs的Meta。同时按“Ctrl+某键”对于大多数人(or程序员)没什么问题。但是同时按住“Alt+Shift+某键”很多人就感觉麻烦了,但是很多Emacs的命令却是这样的,比如回到文档开头(Meta+<,其实需要Alt+Shift+,)。Emacs真正的按键困难,在于Meta键幸运的是,Emacs中,Meta可以用Alt键(Putty下只能用左Alt),也可以用Esc来代替,而且不用像Alt那样必须同时按住Alt和某个键,你可以先按一下Esc,进入Meta模式(没这个模式,只是方便解说),然后你就可以按相应的字母键,极大地方便了使用,减轻了手的负担。例如回到文档开头,只要先按Esc,再按“Shit+,”,快得很。只要把Esc放到了Capslock的位置,使用Esc当作Meta,Emacs的快捷键操作瞬间变得流畅起来,又不伤手,真是舒畅啊。

另外,现在Ctrl,Shift,Esc三个键在一起了,调用Windows任务管理器单手就可以了!(哈哈,算是额外收获)

最后,你可以现在就仔细看一下你的键盘,看看能发现什么。这是我的发现:CapsLock和右边的Alt,Win,右键模拟这四个键非常干净,而其他主键盘区的键都有很多磨损(包括上下左右四个方向键),已经不是很清楚了。这说明,这几个不怎么常用的键占用了好的位置却没有很好的利用,Esc那么常用的键却没有在你的手掌范围之内。右侧的键就罢了,Capslock和Esc真是让人感觉,非换不可!而且如果能把右侧的三个键去掉,稍改布局,换成上下左右四个方向键,就比较完美了。现在的键盘设计师,不知道你们搞这么多年,为什么不改良一下设计呢?

所以去掉特殊按键,把Esc换到Capslock,获得的效益最大,同时能方便Vi和Emacs的使用,不影响已有习惯,是目前最合理的安排方式。

转载于:https://www.cnblogs.com/leading/archive/2012/09/29/setup-the-best-keyboard-layout.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

profile、服务、特征、属性之间的关系

一个profile有很多的服务&#xff0c;一个服务又有很多的特性&#xff0c;一个特性中又有几种属性条目组成。 profile&#xff08;数据配置文件&#xff09; 一个profile文件可以包含一个或者多个服务&#xff0c;一个profile文件包含需要的服务的信息或者为对等设备如何交互的…

机器学习实战 | SKLearn最全应用指南

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 作者&#xff1a;韩信子ShowMeAI 教程地址&#xff1a;http://www.showmeai.tech/tutorials/41 本文地址&#xff1a;http…

Scheme语言入门

2019独角兽企业重金招聘Python工程师标准>>> Scheme语言入门 最早听说 LISP&#xff0c;是 Stallman 的 GNU Emacs 中将 LISP 作为嵌入语言&#xff0c;定制和增强 Emacs。GNU Emacs 是一个文本编辑器&#xff0c;文本就是一种符号&#xff0c;而 Lisp 正好就是针对…

如何将docker 镜像上传到docker hub仓库

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 如何将docker 镜像上传到docker hub仓库 目录* 如何将docker 镜像上传到docker hub仓库 背景 1.注册docker hub账号 2.…

ThinkPHP框架 _ 学习3

【路由解析】 通过url地址get参数找到指定的控制器&#xff0c;并进行对应方法调用请求 http://网址/index.php?m模块名称&c控制器&a方法 以上url地址信息代码不够优雅、不安全。 tp框架url地址可以由以下四种 http://网址/index.php?mXX&cXX&aXX 基本get模…

The slave I/O thread stops(equal MySQL server ids)

在学习replication时遇到了如下问题&#xff1a;显然看到Slave_IO_Running 为NO 表示有问题&#xff1b;到日志里查看&#xff0c;错误如下&#xff1a;position 98100121 17:09:03 [ERROR] The slave I/O thread stops because master and slave have equal MySQL server ids;…

pytest配置文件pytest.ini

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 说明&#xff1a; pytest.ini是pytest的全局配置文件&#xff0c;一般放在项目的根目录下是一个固定的文件-pytest.ini可以…

基于积分墙盈利模式的APP架构思考

基于积分墙盈利模式的APP架构思考from: http://kuailiyu.cyzone.cn/article/4156.html个人感言&#xff1a;一款小游戏好不容易辛辛苦苦开发出来&#xff0c;但是在后期如何不注重推荐&#xff0c;其下场可想而知。而个人游戏开发者的产品很难实现应用内付费集成&#xff0c;技…

【死磕NIO】— 探索 SocketChannel 的核心原理

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 大家好&#xff0c;我是大明哥&#xff0c;一个专注于【死磕 Java】系列创作的程序员。 【死磕 Java 】系列为作者「chenssy…

session的存储方式

1、保存在IIS进程中 2、保存在StateServer上 3、保存在SQL Server数据库中 转载于:https://www.cnblogs.com/dashi/archive/2012/10/10/4034799.html

PixiJS - 基于 WebGL 的超快 HTML5 2D 渲染引擎

Pixi.js 是一个开源的HTML5 2D 渲染引擎&#xff0c;使用 WebGL 实现&#xff0c;不支持的浏览器会自动降低到 Canvas 实现。PixiJS 的目标是提供一个快速且轻量级的2D库&#xff0c;并能兼容所有设备。此外&#xff0c;让开发者无需了解WebGL&#xff0c;就可以感受到硬件加速…

腾讯的老照片修复算法,我把它搬到网上,随便玩

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 大家好&#xff0c;之前向大家介绍并跑通了腾讯开源的老照片修复算法&#xff08;AI 黑科技&#xff0c;老照片修复&#xf…

java的事务类型及定义

转载:什么是事务:首先,说说什么事务。我认为事务&#xff0c;就是一组操作数据库的动作集合。事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行&#xff0c;我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行&#x…

驱动开发 环境搭建(VS2008+WDK+DDKWzard)

这篇文章比较适合初学驱动&#xff0c;搭建一个自动化的环境对于开发来说是事半功倍啊&#xff1b; 开发驱动&#xff0c;首先就是搭建开发的环境。既然是开发windows下的驱动程序&#xff0c;那MS的开发工具是一定要的。现在vs都到2010了&#xff0c;所以&#xff0c;也不能总…

戏说领域驱动设计(十八)——内验

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475   验证在我们现实的生活中非常常见&#xff0c;比如您找工作得先整个面试验证你的能力是否靠谱&#xff1b;找对象得先验证…

Annotation版本的HelloWorld

hiberante 的 annotation历史&#xff1a; 在hibernate3以后&#xff0c;开始支持Annotation; 先有hiberante再有JPA&#xff0c;有了JPA标准之后&#xff0c;hibernate写了Annotation来支持JPA&#xff1b;所以 hibernate的annotation是JPA标准之下的&#xff0c;一般都直接用…

如何理解JavaScript中给变量赋值,是引用还是复制

一、JavaScript中值的类型 JavaScript中的值分为2大类&#xff1a;基本类型和引用类型。每种类型下面又分为5种类型。 基本类型&#xff1a; 数字类型&#xff1a;Number&#xff1b;字符串类型&#xff1a;String&#xff1b;布尔类型&#xff1a;Boolean(true和false)&#x…

CommonCollection1反序列化链学习

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 CommonsCollection1 1、前置知识 1.1、反射基础知识 1.1.1、 对象与类的基础知识 类&#xff08;class&#xff09;&am…

性能测试的目的与类型

1.性能测试的目的 (1)评估系统的能力&#xff1a;测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力&#xff0c;并帮助作出决策&#xff1b;(2)寻找系统瓶颈&#xff0c;进行系统调优&#xff1b;(4)检测软件中的问题&#xff1b;(5)验证稳定性、可靠性&#x…

[转]VS2010+MFC解析Excel文件中数据

本文转自&#xff1a;http://www.vcfans.com/2010/08/vs2010-mfc-excel-file-in-the-data-analysis.html 前两天折腾一个小功能&#xff0c;需求是解析Excel中的数据出来。网上一般使用的方案&#xff1a;1. ODBC当数据库来操作。2. 使用第三方的类库3. 使用COM调用Excel.exe中…