{"id":10414,"date":"2022-03-24T17:35:21","date_gmt":"2022-03-24T21:35:21","guid":{"rendered":"https:\/\/irreal.org\/blog\/?p=10414"},"modified":"2022-03-24T17:35:21","modified_gmt":"2022-03-24T21:35:21","slug":"steve-yegge-on-emergency-emacs","status":"publish","type":"post","link":"https:\/\/irreal.org\/blog\/?p=10414","title":{"rendered":"Steve Yegge on Emergency Emacs"},"content":{"rendered":"<p>If you\u2019re an Emacs user you\u2019re probably familiar with Steve Yegge\u2019s famous <a href=\"https:\/\/sites.google.com\/site\/steveyegge2\/effective-emacs\">Effective Emacs<\/a> post. If you\u2019re not, you should go read it right now. It\u2019s full of suggestions to make you more efficient at using Emacs. It really increased my Emacs efficiency when I read it several years ago.<\/p>\n<p>A couple of weeks ago, I <a href=\"https:\/\/irreal.org\/blog\/?p=10387\">wrote about Yegge\u2019s Guided Tour of Emacs video<\/a>. That turned out to be one of his most popular videos so he\u2019s back with a sequel: <a href=\"https:\/\/www.youtube.com\/watch?v=6ZWp05OW1c0\">Emergency Emacs<\/a>. The video is very reminiscent of his Effective Emacs post. He demonstrates some of the ways makes his Emacs use as efficient as possible.<\/p>\n<p>He starts out explaining the Emacs undo operation and how you can use it in unexpected ways. For example, he shows how you can use undo to return to the last change and even use it as a second mark in some cases. He also mentions and demonstrates undoing in a region that I <a href=\"http:\/\/irreal.org\/blog\/?p=8614\">wrote about previously<\/a>.<\/p>\n<p>The bulk of the video involves Yegge\u2019s custom keybindings. That doesn\u2019t sound very interesting. After all, who cares if someone is grumpy about the default bindings and make their own? But that\u2019s not the point. It\u2019s all about having efficient bindings for the things he does the most. For example, Yegge doesn\u2019t like the using the meta key because no matter what you map it to, it\u2019s hard to reach without moving a hand. His solution centers around strategies like mapping <code>execute-extended-command<\/code>, that\u2019s usually mapped to <kbd>Meta<\/kbd>+<kbd>x<\/kbd> to <kbd>Ctrl<\/kbd>+<kbd>x<\/kbd> <kbd>m<\/kbd>. He also maps it to <kbd>Ctrl<\/kbd>+<kbd>c<\/kbd> <kbd>m<\/kbd> in case he fat fingers the <kbd>Ctrl<\/kbd>+<kbd>x<\/kbd>.<\/p>\n<p>Another example is mapping <code>end-of-buffer<\/code> and <code>beginning-of-buffer<\/code> to <kbd>Ctrl<\/kbd>+<kbd>x<\/kbd> <kbd>e<\/kbd> and <kbd>Ctrl<\/kbd>+<kbd>x<\/kbd> <kbd>t<\/kbd> because he moves to the beginning and end of buffer a lot and the default bindings of <kbd>Meta<\/kbd>+<kbd>&lt;<\/kbd> and <kbd>Meta<\/kbd>+<kbd>&gt;<\/kbd> are clumsy to type.<\/p>\n<p>There are other suggestions as well so you should certainly spend the time to watch the video. It\u2019s a couple of seconds short of 54 minutes so you\u2019ll definitely have put some time aside but it\u2019s definitely worth the investment.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you\u2019re an Emacs user you\u2019re probably familiar with Steve Yegge\u2019s famous Effective Emacs post. If you\u2019re not, you should go read it right now. It\u2019s full of suggestions to make you more efficient at using Emacs. It really increased &hellip; <a href=\"https:\/\/irreal.org\/blog\/?p=10414\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[18],"class_list":["post-10414","post","type-post","status-publish","format-standard","hentry","category-general","tag-emacs"],"_links":{"self":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/10414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10414"}],"version-history":[{"count":1,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/10414\/revisions"}],"predecessor-version":[{"id":10415,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/10414\/revisions\/10415"}],"wp:attachment":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}