{"id":356,"date":"2021-04-14T11:25:10","date_gmt":"2021-04-14T18:25:10","guid":{"rendered":"https:\/\/icanthascheezburger.com\/wordpress\/?p=356"},"modified":"2021-04-11T22:05:37","modified_gmt":"2021-04-12T05:05:37","slug":"my-sweet-setup-textmate-2","status":"publish","type":"post","link":"https:\/\/icanthascheezburger.com\/wordpress\/2021\/04\/my-sweet-setup-textmate-2\/","title":{"rendered":"My Sweet Setup: TextMate 2"},"content":{"rendered":"<p>One of the most striking things about TextMate for me is just how long it&#8217;s been a part of my life. I&#8217;ve been using TextMate for almost 15 years now. TextMate has been with me through most of college, when as a poor college student I got it as part of the first MacHeist bundle. It&#8217;s been with me through my entire post-college life. I&#8217;ve used it to implement software and APIs for companies that have gone on to have billion-dollar valuations. I only just paid for an upgrade for it last fall when TextMate 2 was released out of beta. It&#8217;s even become open-source since I started using it.<\/p>\n<p>If you know the editors out there you know TextMate is kind of a has-been. It pioneered a lot of new things, but I&#8217;m pretty sure we hit peak TextMate some time around 2010. Other editors have since then come along, and although TextMate 2 was released as a beta in 2011, users seemed to feel TextMate&#8217;s best days were behind it and they all moved onto other editors.<\/p>\n<p>You might assume I&#8217;m still using TextMate out of stubbornnees or inertia, or maybe I didn&#8217;t even give other editors a fair shake. I have, in fact, tried to move full-time to other editors, but I keep coming back to TextMate. Not just because it&#8217;s familiar, but because it&#8217;s genuinely a great editor.<\/p>\n<p>TextMate&#8217;s a native Mac app, which gives it a lot of points in my book. It somehow beautifully is able to feel at home both as a Mac app and as a hard core editor like emacs, supporting emacs bindings natively. Its UI feels very familiar as a Mac app, too. Whereas VS Code and Atom both stubbornly work as single-window apps thanks to the fact that they&#8217;re Electron apps, TextMate happily uses windows for everything. I don&#8217;t need split panes to see multiple files at once; I can just put a tab in its own window and I can put that new window wherever I damn well please!<\/p>\n<p>And TextMate&#8217;s search\/replace panel is quite simply the best. If I&#8217;m in a file and quickly need to find something, I can simply \u00e2\u0152\u0192S and a little text field will pop up at the bottom of the window allowing me to search. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/icanthascheezburger.com\/wordpress\/wp-content\/uploads\/2021\/04\/tm_ctrl_s.gif\" alt=\"an animation of me using TextMate's incremental search\" title=\"tm_ctrl_s.gif\" border=\"0\" width=\"229\" height=\"300\" \/><\/p>\n<p>But when I am ready to bring out the big guns, I use the powerful find\/replace panel, which I have yet to find matched in another editor. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/icanthascheezburger.com\/wordpress\/wp-content\/uploads\/2021\/04\/tm_find_replace.png\" alt=\"textmate's find\/replace panel\" title=\"tm_find_replace.png\" border=\"0\" width=\"299\" height=\"259\" \/><\/p>\n<p>It&#8217;s full of delightful details in a way that all good Mac apps are. If I&#8217;m currently searching for something with a regular expression, but I change the search field to something in my search history, and I wasn&#8217;t using regex for that item, it will automatically un-check &#8220;Regular Expression&#8221; for me.<\/p>\n<p>When I want to tear through searching every file in a big project I can narrow down by folder and use a pattern match to just search specific file types or names.<\/p>\n<p>TextMate has this deceptively simple, no-frills looking interface, but it packs an incredible amount of power, and that power never gets in your face until you need it.<\/p>\n<p>I admit, TextMate&#8217;s glory days are probably long behind it, but TextMate&#8217;s never been about the spotlight. It&#8217;s just there for me, still fully supported and getting updates after all these years from MacroMates. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most striking things about TextMate for me is just how long it&#8217;s been a part of my life. I&#8217;ve been using TextMate for almost 15 years now. TextMate has been with me through most of college, when as a poor college student I got it as part of the first MacHeist bundle. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[],"tags":[],"class_list":["post-356","post","type-post","status-publish","format-standard","hentry"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts\/356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/comments?post=356"}],"version-history":[{"count":0,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/posts\/356\/revisions"}],"wp:attachment":[{"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/media?parent=356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/categories?post=356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icanthascheezburger.com\/wordpress\/wp-json\/wp\/v2\/tags?post=356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}