问题标签 [ergonomics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
7568 浏览

vim - 如何重新映射键盘键以避免 VIM 中的 RSI

我希望这不会被视为纯粹为了这样做而试图引发对话。

我经常使用 vim(每天 5-10 小时),我注意到我的左手腕首先开始疼痛。标准键盘布局(见下图)几乎肯定会给你带来关节炎。

标准键盘

目前,我已经重新映射

  • CtrlShift
  • ShiftCaps Lock
  • Caps LockCtrl

有助于使用诸如CtrlfShift2( @) 之类的常用命令,但我仍然需要扭动手腕才能获得这些组合。无论如何要重新映射键以避免左手腕上的这种扭曲(也许使用Tab键)?我只是觉得奇怪的是,对于专门为程序员设计的文本编辑器,它会大量使用这些不碍事的键。我考虑过重新映射到旧的键盘布局(见下图),但我不想知道它是否会出现与我当前的重新映射相同的基本问题。

旧键盘布局

0 投票
2 回答
5572 浏览

mouse - 更换 Microsoft 自然无线激光鼠标 6000 的建议

我的伙伴使用的是 Microsoft Natural Wireless Laser Mouse 6000(实际上是键盘和鼠标组合附带的...),我们开始觉得奇怪(它消耗电池的速度非常快,包括良好的碱性电池和可充电电池)。我们会用另一个替换它,但微软似乎已经停止了该产品。

谁能推荐一款类似风格的“人体工学”鼠标?理想情况下可充电,或电池寿命长。

我使用的是 Logitech Performance Mouse M950,她发现它的倾斜度不够高,并偏离了她的手腕,而 3M 操纵杆鼠标走得太远,偏离了她的肘部和肩膀。

这是它的支持页面:http: //www.microsoft.com/hardware/en-us/d/natural-wireless-laser-mouse-6000

0 投票
2 回答
5270 浏览

regex - PhpStorm:有 4 个烦人问题的解决方案吗?

我是一个相当快乐的 PhpStorm 用户,但有几件事让我很恼火,但我不是设置专家,希望有一个解决方案(编辑 PHP 文件):

  • 导航

通常在编辑器中,一个人想回到光标上方 100 行的位置等......而在 PhpStorm Back Alt-Shift-Leftand ForwardAlt-Shift-Right中这样做 - 但他们遵循一种超出我的算法:它肯定会错过“步骤”(例如从第 500 行使用箭头之类的键转到第 300 行,或者更糟糕的是,向上/向下翻页,然后Alt-Shift-Left不会带您回到第 500 行)

=> 有没有办法细化驱动 Back 和 Forward 行为的条件?

  • 缩进

有没有办法改进indentor行为?例如

就像在Emacs中一样,光标会空格后的第一个引号下方(而不是现在PS 所在的位置)?

=> 正则表达式(或其他东西)是否能够改进 indentor 的行为不仅适用于这种非常具体的情况,而且适用于一般行为?(当缩进通常不可靠时,
不提另一个问题)Shift-Insert

  • 报价(自动)

我不想禁用自动引用功能,因为它有时很方便,但似乎该算法无法正确解析"'插入的环境(现在没有示例,但有时很烦人,就像"在只需要一个时意外插入 2 一样,删除一个实际上会删除 2 (正常,因为它们是自动插入的......但我只需要 1 !)所以在这种情况下必须欺骗 PhpStorm 强制一个 1 ")。

=> 是否有正则表达式或类似的控制引用行为?

  • 选择通过 Shift-Arrow(例如,删除...)

差点忘了:PhpStorm 会记住上下导航时光标所在的列。美好的。但是,当人们想从行首选择(使用Shift和 Up/Down Arrows)时,通常是选择行。不是一条线到光标之前的位置。一个例子会更好地解释:*光标在哪里[第 3 行的开头],光标%哪里[第 2 行中间]

Shift-Up将选择(所有s

而在selection的特定情况下,它应该选择:

不知道有没有办法配置它 - 以防万一?

谢谢

0 投票
1 回答
1695 浏览

haskell - 使用程序员 dvorak 键盘布局(移位数字)在 xmonad 中切换工作区

好吧,我实际上并没有使用 Dvorak 而是Neo2,但是当我使用矩阵型键盘(真正符合人体工程学)时,我也改变了数字。

因此,我的这种结构xmonad.hs不符合人体工程学:

我想改变它,以便能够使用键 2 到 0 访问工作区 1 到 9。

我怎么能做到这一点?我试图将第三行更改为

但后来我无法访问第 9 个工作区。我该如何改变这个?一个简短的解释会很好,所以学习一些关于这个结构的东西(我很多年前学习了 Haskell,但大部分都忘记了)。

0 投票
3 回答
1234 浏览

shell - 如何使用 CTRL+箭头制作 byobu 前向词和后向词?

当我在 uxterm 中使用时,zsh 会在我按下ctrl+leftand时跳词ctrl+right。当在普通未配置的 byobu(tmux 后端)中使用时,它不是。光标坐在那里什么也不做。

然而,我可以通过使用 alt+b 和 alt+f 来实现这一点,但我真的很想使用 ctrl+arrow 以符合一般系统范围的人体工程学。

0 投票
2 回答
1320 浏览

vim - 重新映射 Vim 键以避免左手出现 RSI

我的左手腕总是患有 RSI(请参见此处),我认为这是因为与按 ctrl 和 shift 键相关的扭曲运动。因此,我继续购买了如下所示的Advantage Kinesis 键盘:

在此处输入图像描述

然而,即使有了这个键盘和脚踏板,并将 shift 键映射到 Back Space,我仍然有 RSI,同样只在我的左手。然后它发生在我身上,很多动作键都与左手相关。这是右手和左手的非详尽列表。

右手:

  • p一个简单的粘贴语句,几乎总是单独使用
  • o写在当前行的上方/下方,几乎总是单独使用
  • i在光标处写入,几乎总是单独使用
  • u撤消,几乎总是单独使用
  • yyank,与运动命令一起使用,但右侧只有几个运动说明符(即。(, ), i...)
  • h, j, k, l, 单字符动作,很少使用。

现在观察

左手:

  • w, e,b动一个字。经常与数字一起使用,或多次按下。
  • t, f,$全部与y, d, 或v
  • Ctrl w+ hjkl, 用于移动窗口,并且需要用左手进行猛拉动作。
  • Ctrl x Ctrl f全方位完成(IIRC)
  • Ctrl f Ctrl g找到光标下的文件

现在我确信这是一个有偏见的列表,但我的观点是,大量常用的动作键和一些其他困难的组合位于键盘的左侧。

我的问题是,有没有一种非重新发明轮子的方法来做到这一点?例如,有没有这样做的库?如果没有,如果我切换到 DVORAK,这会解决我提到的任何问题吗?

0 投票
2 回答
736 浏览

emacs - 通过 Emacs/Org 模式导出的 HTML 表格单元格的精细 (CSS) 粒度

我正在尝试对从 Emacs 的 Org 模式导出到 HTML 的一组表进行更精细的编程(Emacs Lisp)控制。[此任务是ErgoEmacs社区采用的替代方法的一部分,其中 SVG 用于将文本文件转换为 PNG 文件,说明使用 Emacs 的替代人体工程学布局。] 简而言之,这些表格是 Apple 蓝牙键盘的抽象其中每个 Emacs/Org Mode 表代表一行键盘键,因此有六个表,每行有 12 到 14 个键(列)。

在 Emacs 中,在 org-mode 缓冲区中,我的抽象完美呈现,使用 org 模式元行来指定每列的大小:| / | <c12> | <c7> | <c7> | ...

Emacs 中生成的 Org Mode 输出既准确又强大。在使用 CSS 导出到 HTML 时,我能做的最好的事情(Org Mode 是版本 7,顺便说一句)是将每个单元格的宽度固定为相同的值,这会产生非常不准确的渲染。我试图找出一种方法(使用 CSS 或其他保留 Emacs 缓冲区渲染的方法)为导出的 HTML 分配单个单元格宽度或单个列宽。

建议?

0 投票
2 回答
367 浏览

jquery-ui - JQuery UI / Datepicker:如何用空年份初始化 datepicker?

我的问题如下:在我的网站上,我使用 Jquery-ui datepicker 允许我的访问者输入日期。我已经配置了日期选择器,这样用户可以修改月份和年份。但是,我注意到它们从不输入年份:它们保留默认值。在我看来,他们看不到他们可以编辑年份值......

所以,我想将默认年份值初始化为空/空白,如果用户没有修改它,则显示错误警报。

我尝试这样做,但徒劳无功....那我该怎么做呢?

也许,还有另一种方法可以强制我的用户选择正确的年份值。你有什么建议吗?

在此先感谢您的回答。

0 投票
1 回答
1006 浏览

emacs - 键盘指法,或者我应该用什么手指在 Emacs 中键入 Mb 和 Mf?

我已经习惯了在 Emacs 中用拇指Alt按住并用食指交叉来敲击前进或后退一个单词的f或键。b但是现在我有一个没有在键上刻字的 Daskeyboard Ultimate,我发现自己经常失踪。我想我太依赖看键盘了。无论如何,我想知道是否有一种恰当的方式来描述键盘指法,类似于书面钢琴乐谱中建议的方式。对于这种特定情况,是否应该使用小指?在小指上使用小指Alt会使按小指列中的其他键(例如qa和)变得困难z

0 投票
2 回答
182 浏览

emacs - 如何尽量减少同手键盘指法的使用?

我一直在努力摆脱只用一只手在 Emacs 中敲击键盘的坏习惯。也就是说,对于 Cx,我想用我的右手小指敲击右 Ctrl 并用左手手指敲击 x。我的问题是如何有效地输入所有大写字母?例如,当我键入一个环境变量时,RAILS_ENV=test每次按键落在键盘的另一侧时,左右手按住 Shift 键切换是非常乏味的。这似乎是使用 CapsLk 的理想情况,但我长期以来一直将该键重新映射到 Ctrl,因为它的使用稀缺性和意外触发的可能性。

我发现了这个相关的问题,但它更多地涉及强制习惯,而不是如何使用另一只手实际有效地键入来敲击修饰键的问题。