TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Improving Emacs Isearch Usability with Transient

156 点作者 kickingvegas超过 1 年前

10 条评论

bloopernova超过 1 年前
Oh this is actually very cool. I didn&#x27;t know about Transient or that I can create a custom workflow menu. Will be really nice for, just like the article, those commands I don&#x27;t remember or that have vast numbers of options.<p>Thank you for sharing, I found the article very useful.
s0l1dsnak3123超过 1 年前
I&#x27;ve been using Transient in a similar way, but for operations on specific filetypes I use vigorously. For example, I have a ruby transient which provides a single UI for my favourite refactoring functions across the LSP server and various Emacs packages I use. I find using transient this way allows me to streamline the more complex tasks I perform by giving me an easy to conceive UI which hides the detail when I&#x27;m knee deep in bugs - but all the power of Emacs is still there under the hood when I need it. I suspect many people would get further with Emacs if they learned use-package and transient instead of picking up Doom Emacs or Space Emacs (which was how I started; they are great projects in their own right but can be limiting due to their own DSL which is a departure from vanilla Emacs).
chewxy超过 1 年前
emacs&#x27; discoverability has been quite terrible. A couple years back I wrote half of a package to do ascii art before I discovered artist-mode. And I had been using emacs for close to a decade by then. This year I discovered ace-window had hidden keybindings (C-x o then instead of choosing the window you want, type &#x27;?&#x27; to get the dispatch menu). Again, I&#x27;ve been using ace-window for about a decade. Adding a transient dispatch menu to Isearch would be great. I&#x27;d also suggest a more global keybinding for hidden dispatch menu (I suggest M-? for dispatch menus when using the minibuffer and ? for other modes).<p>Also this blog post makes me want to make me transform my embark to using transient
评论 #38717231 未加载
评论 #38717036 未加载
评论 #38717899 未加载
评论 #38721084 未加载
评论 #38720021 未加载
评论 #38717225 未加载
User23超过 1 年前
Transient is, if I recall, a big part of magit’s special sauce. It’s a great library for interactive chording.
评论 #38716814 未加载
eviks超过 1 年前
Modality or contextual keymaps is indeed a very powerful concept and it seems like the only way to have usable complicated keybinding schemes, so nice that this stacked&#x2F;transient override was added
kickingvegas超过 1 年前
Hi folks! Great to see all the interest in my post. Feel free to ask me questions&#x2F;post observations related to it.
neilv超过 1 年前
&gt; <i>The default keybindings for said commands are cursed. (Seriously, C-M-@ to call isearch-query-replace-regexp ?)</i><p>BTW, this isn&#x27;t only a problem with `isearch`. I suspect that other multiple-simultaneous-keypresses tend to be hard on most people&#x27;s hands. Which can be bad for your typing-oriented career, and for other humans uses of hands.<p>Some alternatives in Emacs:<p>* Try to press the modifier key(s) with one hand, and the non-modifier key with the other.<p>* If the modifier(s) require contorting in uncomfortable ways, consider whether moving from home row is easier.<p>* When an Emacs key sequence includes the &quot;Meta&quot; modifier (`M-`), consider whether pressing and releasing the Esc key first, and then doing the remaining key&#x2F;combo, is easier.<p>* Make a better key binding. Examples:<p><pre><code> (global-set-key [f5] &#x27;call-last-kbd-macro) (global-set-key [f12] &#x27;undo) (global-set-key [XF86Back] &#x27;(lambda () (interactive) (other-window -1))) </code></pre> * Learn fancier Emacs features which might mean not having to type this or not as often (keyboard macros is just one).<p>* Use or write a function or package that automates the higher-level task. For writing your own, you can learn from one of these two manuals, and just start experimenting in your running Emacs: <a href="https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;emacs&#x2F;manual&#x2F;html_node&#x2F;eintr&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;emacs&#x2F;manual&#x2F;html_node&#x2F;eintr&#x2F;</a> <a href="https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;emacs&#x2F;manual&#x2F;html_node&#x2F;elisp&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;emacs&#x2F;manual&#x2F;html_node&#x2F;elisp&#x2F;</a>
评论 #38717206 未加载
评论 #38718030 未加载
评论 #38717032 未加载
评论 #38716909 未加载
评论 #38716933 未加载
评论 #38717350 未加载
d0mine超过 1 年前
Related: to create submenu with sticky keys, there is Hydra: <a href="https:&#x2F;&#x2F;github.com&#x2F;abo-abo&#x2F;hydra">https:&#x2F;&#x2F;github.com&#x2F;abo-abo&#x2F;hydra</a>
eviks超过 1 年前
&gt; The default keybindings for said commands are cursed. (Seriously, C-M-@ to call isearch-query-replace-regexp ?)<p>If only software allowed to be shipped with a different set of defaults or more convenient alternatives...
thomastjeffery超过 1 年前
&gt; The default keybindings for said commands are cursed.<p>Default keybindings are a curse.<p>Software in general would be so much better if keybindings were always explicitly part of the user&#x27;s configuration. Despite that being <i>technically</i> the case in Emacs, the reality just isn&#x27;t as practical as it should be.<p>Every default keybinding brings an <i>assumption</i> into UI&#x2F;UX. That assumption can never be removed: it can only be moved.
评论 #38716346 未加载
评论 #38717860 未加载
评论 #38716611 未加载
评论 #38717068 未加载
评论 #38719219 未加载