【模式编辑】分享解决自己手疼的终级方案,求建议

大小写,我是用右 alt 键 toggle 光标前输入的字符的大小写 按第二次是把前面的单词首字母大写 进入 normal-mode 时,;+ 与插入模式的绑定也不同,为了方便输入 A,O,G 这样evil 中常用的大写键。

intellisense才是解决方案吧

用alt toggle的方式怎么样能输入比如normal下的C呢?不是按下c的时候就已经生效了吗?

normal-state 下,用分号+c 输入大写 C,分号+ 绑定插入模式和normal 模式不同,插入模式下是输入 {

这个嘛,手型还跟你桌面的高度,还有键盘摆放的位置,坐姿有关。我办公室的那张台就偏高了,所以怎么都觉得不顺手。 不过那么多年的习惯,都不是那么容易改。我最近都思考怎么改良一下自己打字的动作,让它合理一点。不过习惯有时蛮难改的。

这个看起来很棒,我加了个":把前一个字符在;:之间切换",以防自动判断失误。


除了调试键位,还有一个大的思路就是一个组合键输入多个符号,并用yas-expand-snippet在它们中间加入供输入的位置。比如:

  • ret这个snippet展开成return $0;(分号视行尾是否存在自动插入),如果后面已有字符就直接回到normal state。

  • 一键输入(yas-expand-snippet " ? $1 : $0")

我有很多使用电脑的场景,特别是笔记本,所以不一定有办法通过手型和桌子之类的解决问题。

Peek%202019-12-30%2017-38

Rust里面我处理了减号和分号; Lisp里面处理了分号; 全局都处理了单引号,连续两个单引号是双引号, 用tab能从字符串跳出去。

理想情况是所有语言的符号都可以自动的大小写。如果能实现,写个插件是很不错的。

这个是我这里用的样子,我也有好多的snippet,多用snippet也是一个减少手负担的很好的方案。

还有一个大的思路就是一个组合键输入多个符号

关于这个,我在insert模式下不用组合键(在任何地方都不用组合键)。如果是靠snippet倒是一个不错的点子。

写驼峰确实手指累,可以用key-chord把双击按键绑定到大写。比如:jjJ


我试了试,卡 :joy:

1 个赞

删除的时候我会直接用expandregion

没有 get 到,expandregion 可以根据大写字母选择?

根据什么选择的关键是看以什么做为word吧,expandregion第一下会选光标在的word。驼峰的话是可以分成一个一个word的。

你的意思是修改了 word 的定义吗?能说下怎么改吗 :joy:

这样是不行的,这样做如果你打个hello,就会变成heLo,要刻意控制输入的速度。 长按变大写好一些。因为长按时候有个两个时间,一个是第一下之后的延迟,一个是开始之后的重复间隔。比如说延迟是180ms,重复间隔50ms,感觉上就是按住等230ms就变大写了。当然在这之后的输入要阻止。 这方式非常容易掌控,有相当高的准确率,不会误操作。因为你可以把键盘重复的速度,设置到靠手连击按不出来的速度,对我来说40ms左右,这个速度也很舒服。

2 个赞

http://ergoemacs.org/emacs/emacs_subword-mode_superword-mode.html subword-mode

原来还有这东西,开眼界了,感谢感谢 :yum:

期待有更好的大写字母输入办法,因为shift被我全当快捷键用了,取代ctrl,大写字母输入感觉我都没能很好的处理这个问题

我掌压 Ctrl 键按多了手腕疼了。

shift

我觉得我这个已经一个比较好的方式了。要么就是需要引导键了。

可以设置两个快捷键,一个 upcase/downcase 光标前的字符,一个 cycle (各种 case 循环) 光标前的词。

不过要找到一个合理的、不增加左手压力、未被占用的快捷键很难。

我目前是先输完一段/句/词,然后回头批量处理。