{"id":13741,"date":"2013-01-10T23:27:38","date_gmt":"2013-01-10T22:27:38","guid":{"rendered":"http:\/\/davidbosman.fr\/blog\/?p=13741"},"modified":"2013-01-13T15:56:28","modified_gmt":"2013-01-13T14:56:28","slug":"quelques-astuces-pour-textmate-2","status":"publish","type":"post","link":"https:\/\/www.davidbosman.fr\/blog\/2013\/01\/10\/quelques-astuces-pour-textmate-2\/","title":{"rendered":"Quelques astuces pour TextMate 2"},"content":{"rendered":"<p>Voici quelques astuces en vrac (je vous laisse faire le tri), pour rendre TextMate <strong>2<\/strong> encore un peu plus sympa qu&#8217;il ne l&#8217;est d\u00e9j\u00e0, si vous l&#8217;utilisez pour \u00e9crire et pas pour programmer.<\/p>\n\n<p>Certaines de ces astuces sont valables pour la version 1 de TextMate, sans suppl\u00e9ment de prix \u2014 je suis comme \u00e7a, trop g\u00e9n\u00e9reux.<\/p>\n\n<!--more-->\n\n<p>Contrairement \u00e0 certains \u2014 je ne suis pas dot\u00e9 de la science infuse et je ne suis pas directement connect\u00e9 \u00e0 Dieu tout puissant \u2014 je ne sais pas tout et je n&#8217;ai pas suc\u00e9 ces astuces de mon pouce. Si je suis bien tomb\u00e9 sur certaines en exp\u00e9rimentant de mon c\u00f4t\u00e9, j&#8217;en ai trouv\u00e9 pas mal sur d&#8217;autres sites. Par exemple, sur le tr\u00e8s bien nomm\u00e9 <a href=\"http:\/\/tm2tips.tumblr.com\">TextMate 2 Tips<\/a>, ou dans les fils de discussion des utilisateurs de TM2.<\/p>\n\n<h3>Pensez \u00e0 activer le format Markdown<\/h3>\n\n<p>Si vous n&#8217;utilisez pas une extension courante pour vos fichiers Markdown, pensez \u00e0 indiquer \u00e0 TextMate que vous utilisez Markdown. Ca se passe en bas de la fen\u00eatre de l&#8217;\u00e9diteur :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_025.png\" alt=\"Snapz 025\" \/><\/p>\n\n<p>Ici, je bosse sur un billet au format &#8220;blog Markdown&#8221; \u2014 entre autres choses, cela permet \u00e0 TextMate de savoir que lorsque je d\u00e9pose une image sur sa fen\u00eatre il doit la t\u00e9l\u00e9charger sur le serveur du blog et me renvoyer un lien correctement format\u00e9 \u2014 mais il y a aussi un format Markdown classique, &#8220;non blog&#8221;, qui ne t\u00e9l\u00e9charge rien nulle part \ud83d\ude09<\/p>\n\n<h3>Largeur de ligne<\/h3>\n\n<p>Il n&#8217;y a rien de plus moche, pour un texte, que de s&#8217;afficher en lignes trop longues ou, pire encore, des lignes qui d\u00e9bordent de la fen\u00eatre de l&#8217;\u00e9cran \u2014 <em>beurk<\/em> :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_020.png\" alt=\"Snapz 020\" \/><\/p>\n\n<p>Utilisez le <em>Soft Wrap<\/em> pour &#8220;plier&#8221; ces lignes \u00e0 la largeur d\u00e9sir\u00e9e : <strong>View -> Soft Wrap<\/strong> (<strong>&#x2325;+&#x2318;+W<\/strong>).<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_022.png\" alt=\"Snapz 022\" \/><\/p>\n\n<p>Pour changer la largeur, utilisez une des valeurs propos\u00e9es, ou d\u00e9finissez-la dans <strong>Other&#8230;<\/strong><\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_023.png\" alt=\"Snapz 023\" \/><\/p>\n\n<h3>Inverser deux caract\u00e8res<\/h3>\n\n<p>Je suis dyslexique, j&#8217;inverse tout le temps des lettres. <strong>Ctrl+T<\/strong> inverse les deux caract\u00e8res \u00e0 gauche et \u00e0 droite du curseur.<\/p>\n\n<h3>Modifier la police<\/h3>\n\n<p>Allez dans <strong>View -> Font -> Show fonts<\/strong> pour choisir la police et sa taille.<\/p>\n\n<p><a href=\"http:\/\/davidbosman.fr\/blog\/2011\/03\/23\/cachez-ce-zero-que-je-ne-saurai-voir\/\">J&#8217;utilise Meslo<\/a>, avec beaucoup de plaisir.<\/p>\n\n<h3>Ajouter un th\u00e8me<\/h3>\n\n<p>Pour choisir parmi les th\u00e8mes install\u00e9s, allez dans <strong>View -> Theme<\/strong> :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_008.png\" alt=\"Snapz 008\" \/><\/p>\n\n<p><a href=\"http:\/\/ethanschoonover.com\/solarized\">Solarized light<\/a>, le th\u00e8me que j&#8217;utilise. Il n&#8217;est pas install\u00e9 par d\u00e9faut. Pour en ajouter un, faites  glisser le fichier <em>tmTheme<\/em> que vous avez t\u00e9l\u00e9charg\u00e9 sur <s>la fen\u00eatre de TextMate<\/s><em>l&#8217;ic\u00f4ne de TextMate 2 dans le Dock<\/em>, qui l&#8217;installera et l&#8217;activera :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_007.png\" alt=\"Snapz 007\" \/><\/p>\n\n<h3>Afficher ou masquer tous les titres<\/h3>\n\n<p>Il est \u00e0 pr\u00e9sent possible d&#8217;utiliser le <em>code folding<\/em> \u2014 un bidule qui permet aux programmeurs de masquer des blocs de code \u2014 pour n&#8217;afficher que les titres d&#8217;un document r\u00e9dig\u00e9 en Markdown. G\u00e9nial !<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_016.png\" alt=\"Snapz 016\" \/><\/p>\n\n<p>Allez dans <strong>View Toggle Folding at Level<\/strong> et choisissez le niveau des titres que vous souhaitez replier (masquer). Notez la premi\u00e8re entr\u00e9e et son raccourci clavier (c&#8217;est <strong>&#x21E7;+ &#x2318; + &#x2325;+ 0<\/strong>, si vous n&#8217;avez pas de pav\u00e9 num\u00e9rique sur le clavier), pour tout masquer d&#8217;un coup. Une fa\u00e7on simple de ne voir que votre sommaire :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_019.png\" alt=\"Snapz 019\" \/><\/p>\n\n<h3>Afficher ou masquer un titre<\/h3>\n\n<p>Utilisez les petits triangles \u00e0 gauche du texte pour masquer ou afficher le contenu d&#8217;un titre sp\u00e9cifique.<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_017.png\" alt=\"Snapz 017\" \/><\/p>\n\n<h3>Gestionnaire de projet<\/h3>\n\n<p>Par certains aspects, le nouveau gestionnaire de projets est une grosse r\u00e9gression par rapport au pr\u00e9c\u00e9dent : il perd les dossiers virtuels et la possibilit\u00e9 d&#8217;y organiser nos fichiers <em>dans l&#8217;ordre que l&#8217;on veut<\/em> \u2014 tr\u00e8s pratique pour (r\u00e9)organiser librement le plan d&#8217;un livre, un peu comme on le ferait dans Scrivener.<\/p>\n\n<h4>Cr\u00e9er un nouveau fichier dans le gestionnaire de projet<\/h4>\n\n<p>\u00c0 la diff\u00e9rence de la version 1, il n&#8217;est plus possible de cr\u00e9er un fichier directement dans le gestionnaire de projet. <em>C&#8217;est mal.<\/em> Mais il existe une solution assez simple :<\/p>\n\n<ol>\n<li>Dans le gestionnaire, ouvrez le dossier ou cr\u00e9ez le nouveau fichier.<\/li>\n<li>Cr\u00e9ez un nouveau fichier dans un onglet (<strong>&#x2325;+&#x2318;+N<\/strong>)<\/li>\n<li>Appuyez sur <strong>&#x2318;+S<\/strong> pour l&#8217;enregistrer directement&#8230; dans le dossier ouvert du projet.<\/li>\n<\/ol>\n\n<h4>Favoris<\/h4>\n\n<p>Le nouveau gestionnaire de projet s&#8217;est vraiment rapproch\u00e9 du Finder. Il n&#8217;y a pus de projet au sens strict, mais un acc\u00e8s aux dossiers du Finder. Pour retrouver rapidement les projets actifs, ajoutez-les aux favoris du gestionnaire :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_026.png\" alt=\"Snapz 026\" \/><\/p>\n\n<h4>Etiquettes<\/h4>\n\n<p>C&#8217;est une des choses qui m&#8217;a fait plaisir avec le nouveau gestionnaire de projet : il supporte enfin les \u00e9tiquettes color\u00e9es du Finder. Je les utilise pour marquer l&#8217;\u00e9tat d&#8217;avancement de mon travail :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_028.png\" alt=\"Snapz 028\" \/><br \/>\n<em>Vert, c&#8217;est bon. Orange, c&#8217;est en chantier. Rouge, c&#8217;est archi-mega \u00e0 la bourre.<\/em><\/p>\n\n<h4>Ouvrir d&#8217;un simple clic<\/h4>\n\n<p>Cliquez directement sur l&#8217;ic\u00f4ne au lieu du nom du fichier \u2014 <em>ouais<\/em>, vous venez de diviser par deux le temps et le nombre de clics n\u00e9cessaires pour ouvrir un fichier, ou un dossier, dans le gestionnaire de projet.<\/p>\n\n<h4>Int\u00e9gration de Mercurial<\/h4>\n\n<p>Je sais pas qui \u00e7a int\u00e9ressera \u00e0 part moi, sachez que <a href=\"http:\/\/mercurial.selenic.com\">Mercurial<\/a> est support\u00e9 par d\u00e9faut.<\/p>\n\n<p>On affiche son menu contextuel via <strong>&#x2318; + Y<\/strong> (\u00e7a, c&#8217;est pas nouveau):<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_029.png\" alt=\"Snapz 029\" \/><\/p>\n\n<h3>Modifier l&#8217;emplacement de l&#8217;aper\u00e7u<\/h3>\n\n<p>L&#8217;aper\u00e7u de TextMate a \u00e9t\u00e9 mis \u00e0 jour. S&#8217;il est toujours possible de l&#8217;afficher dans une fen\u00eatre flottante, par d\u00e9faut il s&#8217;affichera <em>en bas<\/em> de la fen\u00eatre de l&#8217;\u00e9diteur \u2014 ce qui est tr\u00e8s con, vu que nos \u00e9crans sont plus larges que haut. Bref, on peut changer \u00e7a dans les pr\u00e9f\u00e9rences de TextMate :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_021.png\" alt=\"Snapz 021\" \/><\/p>\n\n<p>Le raccourci pour afficher l&#8217;aper\u00e7u n&#8217;a pas chang\u00e9 (<strong>&#x2318;+&#x2325;+P<\/strong>) :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_0241.png\" alt=\"Snapz 024\" \/><\/p>\n\n<p>Je pr\u00e9f\u00e8re quand m\u00eame toujours passer par <a href=\"http:\/\/markedapp.com\">Marked<\/a> pour l&#8217;aper\u00e7u (et pour les exportations vers HTML ou autres).<\/p>\n\n<h3>Un sommaire facilement accessible<\/h3>\n\n<p>J&#8217;en ai d\u00e9j\u00e0 parl\u00e9 : TextMate (1 et 2) affiche en permanence un sommaire en bas \u00e0 droite de se fen\u00eatre, sous la forme d&#8217;une liste d\u00e9roulante :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_015.png\" alt=\"Snapz 015\" \/><\/p>\n\n<p>Il est possible d&#8217;afficher le sommaire dans une fen\u00eatre flottante (\u00e7a marche aussi dans TextMate 1), en appuyant sur <strong>&#x21E7;+&#x2318;+T<\/strong> :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_014.png\" alt=\"Snapz 014\" \/><\/p>\n\n<h3>Glisser d\u00e9poser de fichiers TXT<\/h3>\n\n<ul>\n<li>Glisser un ficher dans la fen\u00eatre TexMate y copie le contenu du fichier.<\/li>\n<li>Glisser en pressant la touche <strong>&#x2325;<\/strong> y colle le chemin d&#8217;acc\u00e8s dudit fichier.<\/li>\n<\/ul>\n\n<p>C&#8217;est valable pour TextMate 1 et 2.<\/p>\n\n<h3>Activer le bundle de blogging<\/h3>\n\n<p>Je blogue depuis TextMate \u2014 <a href=\"http:\/\/davidbosman.fr\/blog\/2010\/05\/08\/utiliser-markdown-pour-blogger-depuis-textmate\/\">vous ne le saviez pas ?<\/a><\/p>\n\n<p>Si le module de blog n&#8217;est pas affich\u00e9 ou s&#8217;il ne fonctionne pas, c&#8217;est qu&#8217;il n&#8217;est pas activ\u00e9. Allez dans les <strong>Pr\u00e9f\u00e9rences -> onglet Bundle<\/strong> et, s&#8217;il ne l&#8217;est pas d\u00e9j\u00e0, cochez <strong>Blogging<\/strong>.<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2013\/01\/snapz_027.png\" alt=\"Snapz 027\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voici quelques astuces en vrac (je vous laisse faire le tri), pour rendre TextMate 2 encore un peu plus sympa qu&#8217;il ne l&#8217;est d\u00e9j\u00e0, si vous l&#8217;utilisez pour \u00e9crire et pas pour programmer. Certaines de ces astuces sont valables pour &hellip; <a href=\"https:\/\/www.davidbosman.fr\/blog\/2013\/01\/10\/quelques-astuces-pour-textmate-2\/\">Read more &rarr;<\/a><\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[47,51],"class_list":["post-13741","post","type-post","status-publish","format-standard","hentry","category-mac","tag-textmate","tag-txt"],"_links":{"self":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/13741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/comments?post=13741"}],"version-history":[{"count":3,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/13741\/revisions"}],"predecessor-version":[{"id":13751,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/13741\/revisions\/13751"}],"wp:attachment":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/media?parent=13741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/categories?post=13741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/tags?post=13741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}