最终还是走向了emacs和vim的融合

开心用了一年的emacs,发现用起来还是很顺畅的。calc,dired,project,org 这些搭配起来那是一点不卡顿。不过,事情总是会出现一个不过。前一段时间发现一个问题,即使我用的是j键来当作ctrl使用,食指依然会觉得不舒服了。想起emacs的一个出名人物xah lee好像有这个手指的问题,感觉有点危险。想是不是还是用回去vim,回去看了看vim和neovim,还是算了。找了找这几年的新的,zed,helix都使用了一下,其实感觉也还不错。但是那种在emacs中随心切换干其他事情的感觉还是无可替代的。突然想起来在emacs里面也有evil啊,以前觉得emacs原生态就很好没用,那现在也可试试。把evil一装上,那是真的不一样的感受,既可以使用emacs的包生态,又解放了ctrl,在必要的时候才用。这才是真正的双剑合璧,剑指天下了。所以这里有和我一样觉得要保护手指的,直接上evil吧。

4 个赞

我互换了ctrl和caps,现在用无名指按caps当按ctrl了

我也互换过,不过用的是小指。无名指估计比用小指好点。

我用左手小指根部压ctrl,因为习惯用regex搜索定位,感觉也不是很经常用到ctrl键。

右手食指经常觉得不舒服可能是手机玩多了。

1 个赞

我也互换了ctrl和caps但是用多了手指也会难受 就用软件改了下空格按住当ctrl用 敲击还是空格, 不过连续输入要敲空格的时候要稍微停那么一下(

“目前我在用evil-mode,在Emacs下模拟Vim操作,结合了两者的优点.简单地说,现在我的运行模式"神用编辑器之神”."

by 陈斌(redguardtoo)

我用rg搜索体验也很好。估计因此用的ctrl键也多了。

我也想过这个方法,后来觉得和一般习惯有点冲突,放弃了这个办法。其实这个办法也不错。

这个说法我很久以前也听过,那时候我用vim。后来用emacs原生的按键其实也挺开心。要不是担心这个手指会不舒服的问题我是不会用evil的。不过用下来那是真的有感觉更方便了。现在手也没有不适感了。evil是真的有用。

我正常习惯了左手手掌按Ctrl键,在笔记本电脑上的时候我都是尽量避免按Ctrl键

真的没有人用右手拇指按ctrl吗?我吧右边的alt和ctrl换了一下🧐

优先 evil,然后再用 meow 的 keypad 按所有 evil 按不了的快捷键,目前还没出现过 rsi

ctrl 已经不用小拇指了,但是我在自带键盘(Thinkpad 或苹果)用;+hjkl组合上下左右,;就是小拇指按。

有的,不过我是diy了一个分体键盘,把alt,ctrl都放到拇指区

最终还是得模式编辑结合 emacs 原生快捷键最舒服。为了保留 emacs 原生的快捷键的习惯,我选择了 god-mode。

可惜的是,无法使用 C-[ 作为模式切换键。我现在使用 C-‘ 作为模式切换键,不过不能在终端模式下使用。

我交换了ctrl和caps,一段时间后左小指很疼。后来买了一个握力器,每天捏一捏,手指有力气后,就不再疼了。

5 个赞

你这个提供了不一样的思路!

Kmonad 键盘布局替换工具(全平台):

直接将 A/S/D/F 和 J/K/L/’ 长按作为 Sup/Alt/Ctrl/Shift 能解决手指痛问题

base.kbd

#| --------------------------------------------------------------------------

                         KMonad: US ansi 100% template

  This file contains the `defsrc` configuration for a standard US-ansi 100%
  keyboard. Modelled on a standard DAS-keyboard 100%. Copy out the 'defsrc'
  layer to start your own keyboard configuration. Copy out the `deflayer`
  template to easily start a new layer with matching `transparent` buttons.

(deflayer name
  _    _    _    _    _    _    _    _    _    _    _    _    _          _    _    _
  _    _    _    _    _    _    _    _    _    _    _    _    _    _     _    _    _     _    _    _    _
  _    _    _    _    _    _    _    _    _    _    _    _    _    _     _    _    _     _    _    _    _
  _    _    _    _    _    _    _    _    _    _    _    _    _                          _    _    _
  _    _    _    _    _    _    _    _    _    _    _    _                    _          _    _    _    _
  _    _    _              _              _    _    _    _               _    _    _     _    _   
)

  -------------------------------------------------------------------------- |#

(defcfg
  ;; ** For Linux **
  ;; input  (device-file "/dev/input/by-id/usb-USB_KEYBOARD-event-kbd")
  ;; output (uinput-sink "KMonad output")

  ;; ** For Windows **
  input  (low-level-hook)
  output (send-event-sink)

  ;; ** For MacOS **
  ;; input  (iokit-name "my-keyboard-product-string")
  ;; output (kext)

  fallthrough true
)

(defsrc
  esc  f1   f2   f3   f4   f5   f6   f7   f8   f9   f10  f11  f12        ssrq slck pause
  grv  1    2    3    4    5    6    7    8    9    0    -    =    bspc  ins  home pgup  nlck kp/  kp*  kp-
  tab  q    w    e    r    t    y    u    i    o    p    [    ]    \     del  end  pgdn  kp7  kp8  kp9  kp+
  caps a    s    d    f    g    h    j    k    l    ;    '    ret                        kp4  kp5  kp6
  lsft z    x    c    v    b    n    m    ,    .    /    rsft                 up         kp1  kp2  kp3  kprt
  lctl lmet lalt           spc            ralt rmet cmp  rctl            left down rght  kp0  kp.
)

(deflayer miryouk
  esc  f1   f2   f3   f4   f5   f6   f7   f8   f9   f10  f11  f12        ssrq slck pause
  grv  1    2    3    4    5    6    7    8    9    0    -    =    bspc  ins  home pgup  nlck kp/  kp*  kp-
  tab  q    w    e    r    t    y    u    i    o    p    [    ]    \     del  end  pgdn  kp7  kp8  kp9  kp+
  caps (tap-hold-next-release 200 a met) (tap-hold-next-release 200 s alt) (tap-hold-next-release 200 d ctl) (tap-hold-next-release 200 f sft)    g    h    (tap-hold-next-release 200 j sft) (tap-hold-next-release 200 k ctl) (tap-hold-next-release 200 l alt) (tap-hold-next-release 200 ; met)  '  ret                        kp4  kp5  kp6
  lsft z    x    c    v    b    n    m    ,    .    /    rsft                 up         kp1  kp2  kp3  kprt
  lctl lmet lalt           spc            ralt rmet cmp  rctl            left down rght  kp0  kp.
)
1 个赞

这个确实是长久的解决之道!