{"id":6,"date":"2003-03-27T00:09:42","date_gmt":"2003-03-27T05:09:42","guid":{"rendered":"http:\/\/jthurber.com\/blog\/?p=6"},"modified":"2003-03-27T00:09:42","modified_gmt":"2003-03-27T05:09:42","slug":"emacs","status":"publish","type":"post","link":"https:\/\/jthurber.com\/blog\/?p=6","title":{"rendered":"emacs"},"content":{"rendered":"<p>I&#8217;ve started using <a href=\"http:\/\/www.gnu.org\/software\/emacs\/emacs.html\">emacs<\/a> as my main XML\/XSLT editor\/browser.  It&#8217;s awesome!  After spending a few days inadvertently mangling files (rather like when I started using vi) I&#8217;ve gotten the hang of it and am _much_ more productive.  I&#8217;ve found that with a lot of &#8220;power user&#8221; targeted products (e.g. all the *nix editors) that there&#8217;s some inverse relationship between the amount of pain they cause you while you&#8217;re learning them, and the amount of value and pleasure they provide\/energy you spend evangelizing them once you&#8217;ve invested a little time learning them.  <\/p>\n<p>If you spend most of your working day manipulating plain text files in any form (be they html, xml or code in some form) (and if you aren&#8217;t already proficient in vi) I heartily recommend spending a day or so with emacs.  <\/p>\n<p>The three major timesavers I&#8217;ve found so far &#8211; <br \/>\n1) Ctrl + Space marks the beginning of a section, then Ctrl + w cuts that section into the buffer.  If you&#8217;re a fan of the &#8220;new&#8221; windows multi-clipboard interface (which, I think, started in Office 2000) then you&#8217;ll really love &#8220;yanking&#8221; from the emacs &#8220;kill buffer&#8221;.<br \/>\n2) Ctrl + h followed by &#8220;a&#8221; puts you in &#8220;apropos&#8221; help mode.  If you enter a portion of a command then emacs help will perform a regexp search and find commands containing that text.  Useful if you want to learn a little about a topic without reading thru the manual (which is available under the help menu if you&#8217;re interested).<br \/>\n3) Recording keyboard macros that contain other keyboard macros.  This is totally cool!<\/p>\n<p>Thanks to <a href=\"http:\/\/www.dotnot.org\/blog\">Scott<\/a> for encouraging me to spend the time to learn the emacs basics.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve started using emacs as my main XML\/XSLT editor\/browser. It&#8217;s awesome! After spending a few days inadvertently mangling files (rather like when I started using vi) I&#8217;ve gotten the hang of it and am _much_ more productive. I&#8217;ve found that with a lot of &#8220;power user&#8221; targeted products (e.g. all the *nix editors) that there&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6"}],"version-history":[{"count":0,"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6\/revisions"}],"wp:attachment":[{"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jthurber.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}