大家有没试过按 ctrl 按到手指痛?

我用 2013 Macbook Air,把 ctrl 和 caps lock 换了下,刚开始时觉得很爽,按起来很舒服。 但现在用久了之后,就觉得小指有点痛了… 感觉要回去用 Sublime Text 3 / Atom 休养一段时间再用 emacs/spacemacs 了… 不知道大家有没按到手指痛的经历?

1 个赞

用的是同样的笔记本,去年有一阵子遇到过小拇指痛的情况,后来不知怎么就好了。我从来没试过交换 control 和 caps lock 键,而是把 option 改成 control、把 command 改成 meta。我还把最常用的命令放到 meta 上,并且改成一个按键:

M-i occur
M-l switch-buffer
M-x execute-command
M-o switch-window

由于 meta 是用大拇指按的,所以这些按键按起来非常轻松。或许你也可以试试把 control 上的按键简化、转移至 meta 上。


Edit: 好吧,可能是 meta 按太多了,刚刚发现左边 command 的漆居然掉了一小块。

2 个赞

ctrl在caps位置用了大半年,spacemacs用了一两个月,暂时感觉良好。个人讨厌一切短键程的键盘。楼主去买个键盘也许会好点?

虽然换了capslock和ctrl,但感觉现在很少用ctrl,所以小拇指正常。 话说spacemacs也有leader key啊,为什么会经常用到ctrl?

之前使用 vim 的时候就有交换过这两个按键,至今已有 5 年以上的使用习惯了,并没有感觉任何的手指痛哦。

@guanghui.qu @smallst @xuchunyang @JJPandari 我用 emacs/spacemacs 的时候会经常用 ctrl + d/u 来滚屏…所以按 ctrl 的频率很高…

我把右Alt换成了Ctrl,平常用右手拇指就能按到。左手也可以用手掌来按左Ctrl。手指痛的情况基本没遇到过。

1 个赞

原来如此……,我一直用vim滚屏

喜欢用机械键盘掌压 Ctrl 的路过 就算用手指也是用的指关节而不是小指肚, 因为那样真的会痛, 还会抽… :joy: 而且还特别像鸡爪子~已经被 Vim 党嘲笑好久了 哭

1 个赞

买脚踏板负责ctrl。。。。

6 个赞

:joy: 这样在公司写代码就会被围观了

脚踏板在地上,他们看不到的..

2 个赞

脚踏板还是太张扬了,我还是先用回 Sublime Text 3 好了 :cold_sweat:

我也觉得脚踏板有点奇葩

也许你应该用 evil

spacemacs 自带 evil 了,我也习惯用 vim 的快捷键,习惯用 ctrl + d/u 来滚屏,这样按久了就容易痛了 :joy:

感觉你可以建一个micro-state,比如

;; 一个micro-state ,用来快速翻页
(spacemacs|define-micro-state liu233w/view
  :use-minibuffer t
  :doc "`d' scroll-down `u' scroll-up `f' scroll-page-down `b' scroll-page-up"
  :bindings
  ("d" evil-scroll-down)
  ("u" evil-scroll-up)
  ("f" evil-scroll-page-down)
  ("b" evil-scroll-page-up))

;; 这个micro-state用来进行快速翻页,
;; 这样在连续翻页的时候就不需要一直按住ctrl了。
(spacemacs/set-leader-keys "ov" 'spacemacs/liu233w/view-micro-state)

激活之后就可以通过dufb(不用加ctrl)来翻页了。按下其他的键就可以退出micro-state。

1 个赞

hydra 也能实现:

(defhydra hydra-evil-scroll-up-and-down (:hint nil)
  "Scroll [u] up / [d] down, Page [p] up / [n] down, [q] quit"
  ("u" evil-scroll-up)
  ("p" evil-scroll-page-up)
  ("d" evil-scroll-down)
  ("n" evil-scroll-page-down)
  ("q" nil))

(define-key evil-normal-state-map (kbd "C-d")
  '(lambda ()
     (interactive)
     (evil-scroll-down 0)
     (hydra-evil-scroll-up-and-down/body)))

(define-key evil-normal-state-map (kbd "C-u")
  '(lambda ()
     (interactive)
     (evil-scroll-up 0)
     (hydra-evil-scroll-up-and-down/body)))

首次按组合键 C-u/d 翻页并激活,后续按单个键u/d/p/n就可以了,无需额外的激活键。存在的问题:1)单行提示没有高亮色; 2) 提示栏实际占了两行的高度。

或者简单点,把[/] 映射为 evil-scroll-up/down

1 个赞

那个首次按组合键的方法我也考虑过,但是这么做的话就没法按10 C-d来向下滚动10行了。难不成每个函数都要写一个interactive命令吗_(:зゝ∠)_

(define-key evil-normal-state-map (kbd "C-d")
  '(lambda (count)
     (interactive "P")
     (evil-scroll-down count)
     (when (not count)
       (hydra-evil-scroll-up-and-down/body))))

(define-key evil-normal-state-map (kbd "C-u")
  '(lambda (count)
     (interactive "P")
     (evil-scroll-up count)
     (when (not count)
       (hydra-evil-scroll-up-and-down/body))))

不必每个,覆盖两个最常用的就好了。

各人侧重点不同,我更多是考虑记忆负担一致性的问题,即使有了上边的设置,连续按C-u/d也不会有问题,只是 minibuffer 多了一提示而已。然后 Emacs 用爽了,偶尔回到裸奔的 vi,习惯性按 C-u/d总没有错。

2 个赞