说说我使用emacs的方式

下面说说我在windows下使用emacs的方式。 首先是快捷键。我觉得emacs当初设置m-x和esc-x大多数是同样的功能是一个伟大的设计哈哈。我在vim使用的时候很喜欢esc键,可以说如果当初emacs没有esc-x这个功能,我可能都不会用emacs太久,因为最开始使用emacs时候还是很怀念vim的,感觉emacs还是不如vim快捷键快捷。但是esc-x这个方式让我觉得很熟悉,记不住快捷键就使用esc-x。多用几次就熟悉了

1 个赞

新手装一个ivy或者consult就可以上路了。 用evil加evil-collection就行,按键这块,windows跟linux没什么区别吧。 其实也可以试试meow, 刚开始用鼠标点点也行。

然后是ctrl键的绑定的问题

ctrl键最开始是不在意的,难按就难按,也不是不能按。但是使用了几个月以后,发现还真是一个问题,因为小拇指会变痛,一搜,好家伙,emacs听说还会得什么炎。差点就放弃了emacs,毕竟小命要紧。那时候看了很多方案,说space emacs很好,不过听说在windows下也有问题,所以放弃。听说hhkb很好,使用了一下,其实交换cpas和ctrl也不是我想要的,我这时候想要的不是从一个小拇指位置换到另外一个小拇指位置,而是想要类似vim或者space eamcs的按键方式。最后想到改键,还好现在操作系统其实改键也还不复杂,使用特定键盘的话甚至还不需要在操作系统层面更改,这是一个可行的路。那么改键怎么改呢?常用的键基本已被使用,这时候我发现了emacs29推出了一个新命令repeat,这又是一个让我留在emacs的关键的的函数,结合repeat和改键能让我得到不再用小拇指按ctrl的方式。

方法如下: 在系统层面开启粘滞键, 将ctrl键和j键互换, 使用repeat模式并绑定到特定的快捷键

将以上三步做完以后,基本就得到一个不再需要同时按下各种组合键同时对文件操作相对友好的操作方式。我想在世界上现在还没有和我一样的用法吧哈哈

然后再说说编程

编程的话,一是搜索,这个使用ripgrep和fd,这两者可以用来搜文件和字符串

二是精确点的搜搜,使用ctag,结合使用citre,这个citre作者我觉得很棒,提供了很简单的直接使用ctag命令的方式来创建搜索

三是,更精确的搜索,使用eglot结合lsp。其实我看论坛里面cat好像是说猫大的lsp我很喜欢,不过在windows下使用的话很奇怪的c/c++的lsp直接不能使用,倒是浏览器功能正常能用

另外再说一下,citre和eglot可以结合使用,再搭配clangd的配置的话,其实对c/c++有了广泛的支持

再说说其它的

关于各种补全的问题,我其实不想记太多的东西,安装过ivy的三件套,结果那些结果总是弹出来在minibuffer里面,让我很不爽,所有就没有使用了。另外emacs好像是自带的fido我也用过,也是总动弹出,也不使用了。所以我怎么使用这种minibuffer呢,一个是命令直接调用,一个是直接在minibuffer里面直接用m-v的方式手动弹出

关于文件管理器,结合使用 neotree, dired, treemacs。三者各有用处

关于版本控制,vc我看了一点,magit听说过,但是我还是喜欢命令行操作

关于buffer跳转,用ace-window,c-x 加方向键,再加winner-undo其实足够应付很多情况了,其它的命令行敲命令

我发这个帖子是想给那些和我一样以前根本不用emacs的网友分享点经验,因为从这个论坛里面我也找到了一些帮助,希望能帮到点在windows下用emacs的网友

1 个赞

"我想在世界上现在还没有和我一样的用法吧哈哈" , 在改键上我也是这个情况,目前唯一发现按键用法和我比较接近的在论坛上只见到一位 @rrredeyee240拳皇按键(邪教) - #14,来自 wsug

你们的思路也是不错的。我这个方式的思路是用的最多的键应该使用最容易按的位置。其实空格键是最好的ctrl键的位置,可是空格键使用频率太高了,并不好改。

vim的分裂让我很不爽。同时使用emacs以后我更喜欢emacs直观的快捷键了。所以现在基本不会考虑vim类的操作了。

不太明白,这个交换,怎么使用。打 j 岂不是很别扭?

可以把几楼的内容编辑到一个楼层,方便阅读一些

可以试试 corne 分体键盘,大拇指按 ctrl 是我觉得最舒服的方式了。

最直观的方式是鼠标点点点。

如果常用git的话必须尝试使用magit。我也是从vim变成vim+emacs,最初使用emacs最大的动力是orgmode,让讨厌写文档的我至少愿意写文档。后来用上magit后,默认会专为magit开启一个emacs tab, 感觉版本管理从此不再是负担,已经几乎忘记命令行的各种git命令

我把右边的 alt 键改成了 ctrl,这样就可以右手大拇指来按,用大拇指按还是比较舒服的。 :grinning:

我觉得楼主可以试下home row modifier A guide to home row mods , 很多ergonomic键盘默认就是home row mod。

此方法我也用过,后面是觉得手指不够舒展。最后才换成了我的交换ctrl和j的方式

你的那个方式是一种方法。不过我想要的不是短按长按或者组合按下多个键。 我的方法的特点一是可以跨平台,在windows和linux上都可以用;二是可以用单键的序列的方式来操作,不再需要按住ctrl键盘,再按其它键这种方式,而是可以一个一个的按键,先按ctrl,松开以后再按其它键;三是键盘就不再需要特定了,可以使用一般的键盘,当然特定也可以;四是改动也不大,一般人来说,说交换了ctrl键和j键也不算大的改动,也不需要增加多少记忆负担,因为j键的位置其实不需要记忆

我在开始使用emacs的时候真正想用的是dired,这个文件管理器非常好用。至于版本管理这个,我要用估计也会只用vc,因为vc比较符合我的看法,那就是基本的功能有,但是更多的功能自己敲命令。vim的话,不知道你的看法如何,我看neovim的配置夹杂vim的语法就觉得很不优雅,不想用。新的helix倒是不错的选择,不过还没有特定的插件系统。而且其功能没有dired这种的,当然也没有org,所以还是等它再成熟点再说吧。

是的。打j键没有那么方便了。不过打j键的话不再需要用手指了,直接用手掌按压就行。