From Wikipedia:
- Dvorak 是被 August Dvorak 和 William Dealey 于 1936 申请专利的键盘布局, 和事实标准的 QWERTY 布局有很大不同. Dvorak 的支持者声称这种布局需要更少的手指运动,可以间很少错误率、增加打字速度、减少重复导致的疲劳或就是比 QWERTY 用得舒服。
本文是一个快速参考手册,可以设置你的键盘映射从qwerty转换到Dvorak.
设置 Dvorak 键盘布局
虚拟终端中的 dvorak 和区域键盘被合并成一个键盘映射。但是 Xorg 将 dvorak 作为区域键盘的变体。
虚拟终端中的 us Dvorak 键盘映射为:
-
dvorak, 标准 -
dvorak-l, 左手布局 -
dvorak-r, 右手布局 -
dvorak-programmer, 程序员 Dvorak
Xorg 的 us Dvorak 键盘映射为:
-
dvorak, 标准 -
dvorak-l, 左手布局 -
dvorak-r, 右手布局 -
dvp, 程序员 Dvorak -
dvorak-intl, 国际 Dvorak dvorak-classicdvorak-alt-intl
下面布局可以同时在终端和 Xorg 中使用:
-
dvorak, 标准 Dvorak -
dvorak-l, 左手布局 -
dvorak-r, 右手布局
注意:终端有单独的键盘映射,但是 Xorg 有
us 布局变体,需要传递给 XkbVariant 变量,参考 Keyboard configuration in Xorg#Setting keyboard layout。国际用户
Franch
法文变体为 Bépo,有单独的文章介绍。
Swedish
Swedish 用户可以选择使用 swedish "dvorak 版本",被称为 svorak,要将 X 切换到 svorak,并不需要从 www.aoeu.info 下载额外文件。
Spanish
要使用西班牙 dvorak 变体,使用 dvorak-es 替换 dvorak。
在 Xorg 中将 XkbLayout 设置为 es, XkbVariant 设置为 dvorak.
United Kingdom
In console, specify dvorak-ukp (available from dvorak-ukpAUR) instead of dvorak to use the United Kingdom dvorak variant with ISO/IEC 9995-1 punctuation.
In Xorg, specify gb as XkbLayout and dvorakukp as XkbVariant.
特定程序的重新绑定
下面是一些以键盘为中心程序的重新绑定方式,因为 Dvorak 使用了更多的右侧键盘,这里使用 htns 作为主要按键.
Vim
~/.vimrc
noremap h <left> noremap t <down> noremap n <up> noremap s <right> noremap l n noremap L N
注意:这里 n 表示 n search repeat command,而不是 按键 n . See
:help n 如果追求极限配置,请参考 Vim Wiki.
Mutt
~/.config/mutt/muttrc
bind index t next-entry bind index n previous-entry bind index s display-message bind index G last-entry bind index gg first-entry bind pager,attach h exit bind pager t next-line bind pager n previous-line bind pager s view-attachments bind browser h goto-parent bind pager,browser gg top-page bind pager,browser G bottom-page
Less
~/.lesskey
t forw-line n back-line l repeat-search L reverse-search
需要运行 lesskey 之后才能生效。
Zathura
~/.config/zathura/zathurarc
map h scroll left map t scroll down map n scroll up map s scroll right map l search forward map L search backward
Qutebrowser
~/.config/qutebrowser/config.py
config.bind('h', 'scroll left')
config.bind('t', 'scroll down')
config.bind('n', 'scroll up')
config.bind('s', 'scroll right')
config.bind('H', 'back')
config.bind('T', 'tab-prev')
config.bind('N', 'tab-next')
config.bind('S', 'forward')
config.bind('l', 'search-next')
config.bind('L', 'search-prev')
config.bind('e', 'hint all')