{"id":11405,"date":"2023-06-05T12:53:27","date_gmt":"2023-06-05T16:53:27","guid":{"rendered":"https:\/\/irreal.org\/blog\/?p=11405"},"modified":"2023-06-05T12:53:27","modified_gmt":"2023-06-05T16:53:27","slug":"simple-extensions-in-emacs","status":"publish","type":"post","link":"https:\/\/irreal.org\/blog\/?p=11405","title":{"rendered":"Simple Extensions in Emacs"},"content":{"rendered":"<p>Robert Johnson has a useful post on <a href=\"https:\/\/dev.to\/robertmjohnson\/everyday-editor-extensions-in-emacs-mmf\">Everyday editor extensions in Emacs<\/a>. Most Emacs n00bs and even many seasoned Emacers assume Elisp is too obscure and hard for \u201cnormal\u201d users so they avoid it. Of course, that\u2019s not true at all. As Johnson shows, it\u2019s pretty easy to get started making simple extensions without having to know much about Elisp.<\/p>\n<p>He demonstrates this by making a very simple Emacs function that simply opens the browser at some fixed site\u2014github\/spacemacs in his case. From there, he adds the ability to enter parameters, first by having the user enter them, then by using <code>thing-at-point<\/code>, and finally by using a prompt if <code>thing-at-point<\/code> fails.<\/p>\n<p>At that point Johnson has a useful function that anyone could customize for their own workflow. Next he considers calling a shell command rather than the browser and having the results put in an Emacs buffer. That\u2019s great, of course, because you can stay in Emacs and don\u2019t have to switch out to the browser.<\/p>\n<p>All of this uses only a minuscule fraction of the Elisp language, of course, but still manages to produce useful extensions. The important, unstated, advantage, though, is that once you get comfortable with this tiny portion of Elisp, it\u2019s much easier to move on to the rest of the language. Developing even a minimal working knowledge of Elisp will open up a whole new dimension of Emacs to you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Robert Johnson has a useful post on Everyday editor extensions in Emacs. Most Emacs n00bs and even many seasoned Emacers assume Elisp is too obscure and hard for \u201cnormal\u201d users so they avoid it. Of course, that\u2019s not true at &hellip; <a href=\"https:\/\/irreal.org\/blog\/?p=11405\">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-11405","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\/11405","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=11405"}],"version-history":[{"count":1,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/11405\/revisions"}],"predecessor-version":[{"id":11406,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/11405\/revisions\/11406"}],"wp:attachment":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}