{"id":6657,"date":"2017-10-07T13:57:00","date_gmt":"2017-10-07T17:57:00","guid":{"rendered":"http:\/\/irreal.org\/blog\/?p=6657"},"modified":"2017-10-07T14:00:59","modified_gmt":"2017-10-07T18:00:59","slug":"org-mode-completion","status":"publish","type":"post","link":"https:\/\/irreal.org\/blog\/?p=6657","title":{"rendered":"Org Mode Completion"},"content":{"rendered":"<p> By far the most useful weapon in my Emacs efficiency arsenal is abo-abo&rsquo;s Ivy library and associated utilities. Everything from simple string searches with <code>swiper<\/code> to finding files with <code>counsel-M-x<\/code> is easier and faster than before. Therefore, when abo-abo suggests a way of improving efficiency, I pay close attention. <\/p>\n<p> In a recent blog post, abo-abo writes about <a href=\"https:\/\/oremacs.com\/2017\/10\/04\/completion-at-point\/\">extending completion-at-point for Org mode<\/a>. It turns out that there is a general purpose command, <code>complete-symbol<\/code> (bound to <kbd>Ctrl<\/kbd>+<kbd>Meta<\/kbd>+<kbd>i<\/kbd> by default), that will complete the symbol at point depending on context. To do this you need a function that completes symbols in the current major mode. Some modes, like Elisp mode, have functions provided by default but, sadly, Org mode does not have any predefined. <\/p>\n<p> Abo-abo&rsquo;s post provides three functions that ease his workflow. The first completes ASCII marked-up symbols <code>like this<\/code>. The second takes care of completing file names and the third handles references. These functions are all pretty simple and offer excellent go-bys if you want to write one to optimize your work flow. <\/p>\n<p> This is a great post and definitely worth the 5 minutes of your time that it will take to read it. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>By far the most useful weapon in my Emacs efficiency arsenal is abo-abo&rsquo;s Ivy library and associated utilities. Everything from simple string searches with swiper to finding files with counsel-M-x is easier and faster than before. Therefore, when abo-abo suggests &hellip; <a href=\"https:\/\/irreal.org\/blog\/?p=6657\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[18,4],"class_list":["post-6657","post","type-post","status-publish","format-standard","hentry","category-general","tag-emacs","tag-org-mode"],"_links":{"self":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6657","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=6657"}],"version-history":[{"count":3,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6657\/revisions"}],"predecessor-version":[{"id":6660,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6657\/revisions\/6660"}],"wp:attachment":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6657"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6657"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6657"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}