Sam & Max: Python, Django, Git et du cul » sublime text http://sametmax.com Deux développeurs en vadrouille qui se sortent les doigts du code Wed, 05 Feb 2014 14:20:37 +0000 en hourly 1 http://wordpress.org/?v=3.3.1 WARNING: File not found. Did you forget to save? http://sametmax.com/warning-file-not-found-did-you-forget-to-save/ http://sametmax.com/warning-file-not-found-did-you-forget-to-save/#comments Sat, 26 Oct 2013 07:58:23 +0000 Sam http://sametmax.com/?p=7541 rapporter ce problème quand il utilisait la commande magique %edit dans IPython avec Sublime Text.]]> Un lecteur nous a rapporté ce problème quand il utilisait la commande magique %edit dans IPython avec Sublime Text.

Magie d’internet, un autre lecteur lui a répondu en comment, mais je me dis que donner un peu de visibilité à la réponse peut pas faire de mal, vu que je n’ai pas trouvé facilement la solution via Google DuckDuckGo.

L’idée est tout simplement d’utiliser l’option -w dans la ligne de commande pour appeler l’éditeur. En effet, sans cela l’appel à ST est non bloquant, et IPython perd la référence au processus sans avoir de valeur de retour.

Par exemple, dans votre ipython_config.py :

c.TerminalInteractiveShell.editor = "sublime_text -w"

flattr this!

]]>
http://sametmax.com/warning-file-not-found-did-you-forget-to-save/feed/ 1
Éviter que Sublime Text n’écrase les parenthèses fermantes http://sametmax.com/eviter-que-sublime-text-necrase-les-parentheses-fermantes/ http://sametmax.com/eviter-que-sublime-text-necrase-les-parentheses-fermantes/#comments Wed, 14 Aug 2013 18:41:04 +0000 Sam http://sametmax.com/?p=7103 ] voir }) juste à côté d'une AUTRE parenthèse fermante, le comportement de Sublime Text par défaut est de ne pas ajouter de parenthèse, mais d'avancer d'un caractère. Je déteste cette fonctionnalité. Heureusement, comme tout dans cet éditeur qu'il est merveilleux, c'est désactivable. ]]>
Quand on tape une parenthèse fermante (ou ] voire }) juste à côté d’une AUTRE parenthèse fermante, le comportement de Sublime Text par défaut est de ne pas ajouter de parenthèse, mais d’avancer d’un caractère.

La raison est que Sublime ferme automatiquement toute parenthèse ouverte, cette fonctionnalité est donc là pour vous éviter de taper une parenthèse fermante de trop.

Je déteste cette fonctionnalité.

Je suis assez grand pour savoir quand insérer ma parenthèse ou non, et je n’ai pas Parkinson.

Heureusement, comme tout dans cet éditeur qu’il est merveilleux, c’est désactivable. Ouvrez “Preferences > Key Bindings – User” et ajoutez ceci à la configuration :

    { "keys": ["\""], "command": "insert", "args": {"characters": "\""}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\"", "match_all": true }
        ]
    },
    { "keys": [")"], "command": "insert", "args": {"characters": ")"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true }
        ]
    },
    { "keys": ["'"], "command": "insert", "args": {"characters": "'"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }
        ]
    },
    { "keys": ["]"],"command": "insert", "args": {"characters": "]"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\]", "match_all": true }
        ]
    },
    { "keys": ["}"], "command": "insert", "args": {"characters": "}"}, "context":
        [
            { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
            { "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true }
        ]
    }

Abracadabra !

flattr this!

]]>
http://sametmax.com/eviter-que-sublime-text-necrase-les-parentheses-fermantes/feed/ 12
Liste des plugins sublime text que j’utilise http://sametmax.com/liste-des-plugins-sublime-text-que-jutilise/ http://sametmax.com/liste-des-plugins-sublime-text-que-jutilise/#comments Tue, 30 Apr 2013 06:34:56 +0000 Sam http://sametmax.com/?p=5927 Ils sont tous installable via Package Control.

Les paquets de syntaxe supplémentaires

D’abord, j’ai ajouté le support de syntaxe et de snippets pour des fichiers / langages qui ne sont pas pris en compte par défaut.

  • ApacheConf: coloration des fichiers de config apache.
  • CoffeeScript: coloration pour le langage coffeescript.
  • jQuery: coloration pour la lib jQuery.
  • jQuery Snippets pack: snippets pour jQuery.
  • HTML5: coloration et snippets pour HTML5.
  • LESS: coloration pour lesscss.
  • Djaneiro: coloration et snippet pour django, y compris les templates.
  • nginx: coloration pour les fichiers de confi nginx.
  • INI: coloration pour les fichiers INI.

Et en prime le pack de langue ‘Language – French’, pour corriger mon orthographe française.

En plus de ça, il y a…

Alignment

Permet de réaligner des lignes avec Ctrl + Alt + A.

Color Highlighter

Pour éviter de se demander à quelle couleur correspond ce code hexa dans le css.

ColorPicker

Changez les valeurs des couleurs en CSS depuis un picker graphique.

Le gif rend mal, en vrai la roue de couleurs est parfaite.

DuplicateSelections

S’interface directement sur le copier / coller. Si vous copiez plusieurs sélections et que vous collez vers plusieurs curseurs de même nombre, cela insère chaque sélection respectivement dans chaque curseur, au lieu d’insérer un vrac de toutes les sélections en même temps dans chacun des curseurs.

Edit History

Tellement utile que c’est intégré dans ST3 d’origine : cela permet de faire back et forward comme sur un navigateur Web. Chaque fois qu’on édite une ligne, ça rajoute une entrée dans l’historique, et on peut y revenir plus tard. Fantastique pour naviguer dans les gros fichiers

Expand Selection to Quotes

Je sais pas pour vous mais moi, sélectionner une chaîne à la main, ça me fait chieerrrrrrrrrrr. Cette sélection permet, avec une seconde combinaison de touches, de sélectionner les quotes.

Format SQL

Je l’utilise pas souvent, mais je suis feinéant.

GitGutter

Une nouvelle addition, un truc qui rassure. Ça affiche le diff des modifications faites au fichier par rapport à la dernière copie dans Git.

IncDecValue

Ajouter quelques points à une valeur ? Pas besoin de sélectionner la bonne partie et tout réécrire.

Oddly

Sélectionner une ligne sur deux ou sur 3.

SublimeLinter

Entour d’une bordure blanche les erreurs en Python (et JS) telles que imports inutilisés, variables non déclarées et syntaxe errors.

SublimeMRU

Annuler la fermeture d’un fichier fermé, comme un tab sur le navigateur Web.

SublimeOnSaveBuild

Lance la commande build configurée pour ce fichier au moment où on save.

ToggleQuotes

Transformer ‘”‘ en “‘” et inversement.

Wrap Plus

Je ne sais pas comment j’ai vécu avant ce plugin. Wrap les comments, les string (incluant les docstrings) pour se limiter à n caractères. Automatiquement. C’est beau.

flattr this!

]]>
http://sametmax.com/liste-des-plugins-sublime-text-que-jutilise/feed/ 35
Vi vs Emacs vs Sublime Text http://sametmax.com/vi-vs-emacs-vs-sublime-text/ http://sametmax.com/vi-vs-emacs-vs-sublime-text/#comments Fri, 28 Sep 2012 14:31:05 +0000 Sam http://sametmax.com/?p=2321 Sublime Text est mieux. Point final.

J’ai fermé les commentaires, ils ne servent à rien puisque j’ai raison.

flattr this!

]]>
http://sametmax.com/vi-vs-emacs-vs-sublime-text/feed/ 0
10 astuces pour Sublime Text 2 http://sametmax.com/10-astuces-pour-sublime-text-2/ http://sametmax.com/10-astuces-pour-sublime-text-2/#comments Sat, 26 May 2012 00:31:45 +0000 Sam http://sametmax.com/?p=744 J’ai essayé Komodo, (Py)Eclipse, Ullipad, Jedit, Gedit, Vi, Emacs, Notepad++, Scite, NetBean, Kate, PSPad, Leafpad, et bien d’autres. Aucun n’arrivent à la cheville de Sublime-Text 2, sorte de TextMate multiplateforme boosté aux steroïdes et léger comme une plume.

Voici 10 trucs qui vous inciterons à payer la licence de ce merveilleux joujou.

(les raccourcis clavier sont à adapter selon votre OS, vu que je suis sous nunux)

Ctrl + Shift + L

Selectionnez plusieures lignes, et entrez Ctrl + Shift + L. La selection multiple s’active, et vous vous retrouvez avec un curseur au début de chaque ligne, tous synchronisés ! Hyper pratique pour créer un tuple, reindenter une liste, etc

Split et Clone

Dans le menu View > Layout, on peut diviser l’écran en plusieurs parties et bouger des onglets de l’une à l’autre par glissé/déposé. Idéal pour travailler sur le HTML et le CSS en même parallèle.

Cette fonction est combinable avec File > New view into file qui ouvre un second onglet sur le même fichier. Du coup, vous pouvez éditer plusieurs parties du même fichier sans scroller dans tous les sens.

Ctrl + Shift + P

Et entrez n’importe quel item d’un des menus. La commande s’éxécute.

Par exemple entrer Ctrl + Shift + P puis taper swap fait apparaitre l’entrée du menu Edit > Convert Case > Swap case. Une manière très intuitive de retrouve une feature dont on a oublié la position dans un des sous-sous-sous menus.

Package Controle

Un plugin qui permet d’installer des centaines d’autres plugins en une commande, comme un gestionnaire de paquet.

Installation en 30 secondes.

Tous les autres plugins présentés ici sont intallables avec celui-ci.

Sublime Linter

Plugin qui surligne les erreurs dans le code Python, comme les imports inutilisés ou les variables non déclarées. Fait économiser pas mal de cycles de save/run.

Edit History

Un fichier de 500 lignes. Vous éditez les ligne 153. Vous allez à la ligne 266. Vous voulez retourner à la dernière zone d’édition ? Au lieu de scroller ou de mettre un bookmark, installez ce plugin, il permet de naviguer dans l’historique des éditions comme avec un navigateur Web.

Aller à la ligne

En parlant de ligne, Ctrl + P + : (deux points) permet d’aller à la ligne où on veut sans bouger les mains du clavier.

Barre de status

La barre de status est cliquable en bas à droite. On peut rapidement changer l’indentation et le type de fichier, et même convertir les tabs en espaces et inversement

F7

F7 lance le builder par défaut pour l’extension de fichier en court. Pour un fichier python, ça lance python votre_script.py et affiche le résultat. On peut créer ses propres builders et les ramapper sur F7 dans Tools > Build System.

Ne sauvegardez pas votre fichier

Et fermez Sublime-Text. Rouvrez-le: votre travail n’est pas perdu. Sublime-Text sauvegarde automatiquement vos modifications, sans pour autant alterer le fichier en cours d’édition si vous n’avez pas sauvegardé. Il garde même l’historique d’édition pour permettre Ctrl + Z.

?

Mais comment l’unique dev de sublime text fait-il pour rendre son éditeur si rapide tout en incluant cette orgie de features ?

En tout cas le mecs à tout compris: un produit de qualité, une période d’essai illimitée et sans bridage. Et j’ai payé. Et je l’ai montré à tous mes collègues. Et 3 ont payé. Chapeau

flattr this!

]]>
http://sametmax.com/10-astuces-pour-sublime-text-2/feed/ 29
Retour à la ligne sur Sublime Text 2 (word wrap) http://sametmax.com/retour-a-la-ligne-sur-sublime-text-2-word-wrap/ http://sametmax.com/retour-a-la-ligne-sur-sublime-text-2-word-wrap/#comments Tue, 17 Apr 2012 16:13:20 +0000 Max http://sametmax.com/?p=407 Des fois lorsqu’on a des lignes trop longues on se retrouve avec une barre de scrolling horizontale sur Sublime.
Pas toujours pratique à lire ni à éditer. On peut dire à Sublime de retourner à la ligne lorsque cette dernière est plus longue que la largeur de votre espace de travail.

Pour ce faire on utilise word wrap

Allez dans les préférences > Settings User et rajoutez cette ligne:

Par exemple:

{
	"font_size": 11.0
}

donnera:

{
	"font_size": 11.0,
	"word_wrap": true
}

Relancez Sublime pour que les changements soient pris en compte.

flattr this!

]]>
http://sametmax.com/retour-a-la-ligne-sur-sublime-text-2-word-wrap/feed/ 8