rss
twitter
  • Showcase
  • Carrières
  • Support
  • GitLab
  • Espace client
  • Contact

Quelques trucs pratiques pour TextMate

0

Cet article est enrichi régulièrement.
Dernière MàJ : 02/04/2012

INDEX

Regex pour remplacer les underscores par des tirets dans les image-path d’une feuille de styles

Find:

(url)(.*)(_)(.*)(png|gif|jpg*)

Replace:

$1$2-$4$5

img1

Remarque : dans le cas d’un nom de fichier comportant plusieurs underscores, il faut appuyer autant de fois sur Replace.

Ajouter un snippet pour console.log dans le bundle jQuery

console.log('$1 : ' + $2);

img2

Mon thème préféré ?

Monokai !!!!!
img3

Les extensions (bundles) indispensables

– Zen HTML / Zen CSS / Zen coding
– jQuery
– WordPress
– PHP

img4
img4b

Fermer un tag ouvert

contenu…

cmd+alt+.

…insère

Une regex pour cibler un attribut dans une balise

attribut="(.*?\")

<img90|center>

Une regex pour créer un ID reprenant en partie la valeur d’un HREF

Find:

href="#ref-(\h+)"

Replace:

href="#ref-$1" id="cite_ref-$1"

Variante

Find:

id="ref-(\h+)">

Replace:

id="ref-$1"><a href="#cite_ref-$1">↑</a>

Variante qui cherche un un attribut src dans une balise img ou un path d’image dans une feuille CSS

Find:

(src="|url\()(.*).(jpg|gif|png)

Configurer le bundle Git

Vérifier la présence du bundle
Il est normalement inclus avec TextMate, mais si ce n’est le cas, ou si vous avez crashé votre installation :D, vous pouvez le récupérer ici :
https://github.com/jcf/git-tmbundle

Ajouter la variable d’environnement TM_GIT dans les Préférences

img6

Pour localiser Git sur votre système

Germain-:~ germain$ which git
/usr/local/git/bin/git

Raccourci clavier par défaut : Cmd+Shift+G

Ajouter l’ID de révision Git dans un fichier

Ce n’est pas à proprement parler une astuce TextMate puisque cette fonction est liée à Git, mais comme c’est dans mon environnement de travail (et que j’ai la flemme de créer une autre page) ça sera très bien ici.

Ajouter un pointeur $Id$ de version dans votre fichier
Par exemple, dans un bloc PhpDoc :

* @version $Id$

Configurer .gitattributes
Il faut indiquer à Git quels sont les fichiers à parser dans votre repository. Ça se fait dans le fichier .gitattributes qu’il faut placer à la racine de votre projet, comme .gitignore.

* text=auto
*.js text ident
*.css text ident
*.php text ident

Au passage, en parlant de .gitignore, voilà le mien… il n’intéressera que les gens sous Mac (en même temps, si vous lisez un article sur TextMate, c’est que vous en êtes…)

.DS_Store

==> Cela évitera de committer les fichiers [Desktop Service Store->https://fr.wikipedia.org/wiki/.DS_Store] d’OS X

Faites un commit, et…

Ça marche pas !

En fait, $Id$ est remplacé à la demande (pull ou clone par exemple)

Clonez :

Germain-:~ germain$ cd /Volumes/Data/germain/Sites/dimelo/test
Germain-:test germain$ ls
Germain-:test germain$ git init
Initialized empty Git repository in /Volumes/Data/germain/Sites/dimelo/test/.git/
Germain-:test germain$ git clone ../2011\ 09\ Qobuz/qobuz-dev/
Cloning into qobuz-dev...
done.

Et là, c’est le mimi, c’est le rara, c’est le miracle :

img7

Bon maintenant, si quelqu’un sait comment tweaker le truc pour afficher le n° de révision et non le hash du commit du fichier, ça serait quand même plus lisible…

Les regex du bundle Todo

Le module Todo permet de générer des todo lists à partir de l’analyse des commentaires respectant une certaine nomenclature.
On trouve normalement 3 keywords permettant de « todolister » : FIXED, TODO, CHANGED.
J’ai décidé d’ajouter le keyword NEW pour mes projets.
De plus j’ai légèrement modifié la nomenclature sur ce dernier : je veux que « NEW » soit suivi d’un numéro de version, par exemple :
NEW 2.1.1 Récupération de la dernière entrée "Autopromo"

Les marqueurs :

/*
NEW n[.nn[.nnn]]
*/
/*
CHANGED
*/
/*
FIXED
*/
/*
TODO
*/

Les regex :
img8

/FIX ?ED[\s,:]+(\S.*)$/i
/TODO[\s,:]+(\S.*)$/i
/CHANGED[\s,:]+(\S.*)$/
/NEW ([0-9]*\.?[0-9]*\.?[0-9]+\S.*)$/i

Génération d’une todo (cmd+shift+T) :
img9

Pretty cool, hu?

Pour naviguer à travers les fichiers sans passer par l’arborescence : cmd+T

Un bon dessin valant mieux qu’un long discours… :
img10

DATE 05 Oct 2011
by : Germain
Author / Auteur

Social Share / Partager

    Leave a Reply / Répondre Annuler la réponse

    *
    *

    More in Desktop : OS X

    • Autoriser le chargement de contenus mixtes non-https dans Chrome (Mac)
    • Quel php.ini (MAMP ou Linux), quelle valeur de phpinfo() ?
    • Ouvrir un dossier (ex : Corbeille) depuis la ligne de commande
    • LaCie 2big NAS / 5big NAS : SSH + rsync
    • Git avec SourceTree : ouvrir dans TextMate / ouvrir dans Sublime Text 2

    Search the blog

    Blog categories

    • Workflow (1)
    • Front-end : HTML, CSS (13)
    • Front-end : javascript, jQuery (33)
    • Back-end : PHP, CMS (42)
    • Back-end : SQL, MySQL (20)
    • Sysadmin : Linux, Apache, GIT (75)
    • Designers : tools, advice (2)
    • Desktop : OS X (37)
    • Desktop : Microsoft (12)
    • Uncategorized (8)

    ITALIC™ Resources

    • Paramètres de connexion au serveur mail
    • Graphistes : séduire un développeur web
    • Dév front : nos bonnes pratiques
    • Mailing : nos (bonnes ?) pratiques
    • Environnement de travail Mac

    Recent posts

    • Autoriser le chargement de contenus mixtes non-https dans Chrome (Mac)
    • Afficher les logs MySQL
    • Recevoir un mail lors de la connexion root à un serveur
    • Changer l’interclassement de plusieurs tables MySQL à la fois (ou presque
    • Maildev : tester l’envoi de mails durant ses développements
    © 2008-2017 ITALIC™ • 8 bis rue Abel • 75012 PARIS • Tel +33 (0)1 48 44 46 35 • RCS PARIS 508 228 772 • Powered by WordPress & GoodLayers
    Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web.
    Cookie settingsACCEPTER
    Manage consent

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
    Necessary
    Toujours activé
    Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
    Non-necessary
    Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
    Enregistrer & appliquer