This page has been robot translated, sorry for typos if any. Original content here.

Sublime Text 2 FAQ

Par sujet:


Sublime Text 2 FAQSublime Text 2 FAQ

Il y a quelques mois, je suis tombé par hasard sur beaucoup de commentaires positifs à propos de l'éditeur de texte Sublime Text 2.

Essayez-le dans le cas, je n'ai pas été déçu. Maintenant c'est mon principal outil de travail.

Sublime Text 2 est un éditeur de texte payant écrit en C ++ qui:

  • Fonctionne sous Linux, OS X et Windows
  • A une vitesse décente de travail
  • Interface agréable (incluant toutes sortes d'animations)
  • Configuration flexible (mais pas dans l'interface graphique, mais dans json-configs)
  • Il a beaucoup de plugins, dont le nombre augmente à pas de géant
  • Supporte le mode VIM
  • Utilise la recherche floue

Activation et interdiction des mises à jour

Tout ce qui est nécessaire est d'aller dans Préférences -> Paramètres - Utilisateur et d'ajouter la ligne suivante:

"update_check": false

En outre, vous pouvez bloquer le site de mise à jour via le fichier hosts , ajoutez simplement le texte suivant:

## STOP SUBLIMETEXT UPDATES
127.0.0.1 sublimetext.com
127.0.0.1 www.sublimetext.com

Prix:

L'éditeur est libre de toute condition ou "conditionnellement payé" :) Il en coûte 59 $ pour une licence (si vous en prenez beaucoup, il y a un rabais), mais vous pouvez l'utiliser gratuitement. En mode gratuit, une boîte de dialogue apparaît en quelques heures, offrant l'éditeur à acheter, et UNPGISTERED est également écrit dans l'en-tête de la fenêtre. Pour autant que je sache, il n'y a pas d'autres différences.

Interface

Sublime Text 2 FAQSublime Text 2 FAQ

Une des premières impressions du programme - elle est belle sortie de la boîte. Polices correctement sélectionnées, schéma de couleurs, animations lisses (il y en a plus que dans la plupart des éditeurs de texte et IDE). Tout cela a du sens, car à la fin, cela fait plaisir à l'œil et ne détourne pas l'attention. Jusqu'à ce que l'éditeur soit surchargé de plug-ins, il a une réponse très rapide, ce que j'ai réussi à éviter en utilisant NetBeans.

La première chose qui attire votre attention est l'absence de toute barre d'outils. En outre, je n'ai pas encore rencontré une seule boîte de dialogue, sauf les fenêtres standard pour enregistrer / ouvrir un fichier. Au lieu de boîtes de dialogue, des "couches" sont utilisées. Les caractères espace et tabulation sont affichés uniquement lorsque le texte est sélectionné, mais les paramètres peuvent toujours être définis sur "toujours".

Sur la droite, il y a une carte de code sur le tableau. Une sorte de page de défilement analogique sous la forme d'une carte pixel, qui est compressée jusqu'à ~ 100px horizontalement le code du fichier en cours (y compris la coloration syntaxique). Aide à l'orientation du fichier, et simplifie également le défilement de la page, car agit de manière similaire à la barre de défilement. Il est difficile de dire pour certain "killer-feature" ceci ou un autre "sifflet", mais pendant tout le temps d'utilisation je n'ai jamais eu le désir de l'enlever.

Sur le côté gauche, il peut y avoir un panneau de projet et des fichiers ouverts (Affichage -> Barre latérale -> Afficher la barre latérale). Le panneau de projet est l'arborescence des répertoires connectés au projet avec les capacités simplifiées du gestionnaire de fichiers (par exemple, il est possible de créer de nouveaux fichiers / dossiers, renommer et supprimer, mais il n'y a aucun moyen de déplacer #UPD par renommage). Le panel de fichiers ouverts ne me semblait ni superflu ni dupliquant inutilement la fonctionnalité des onglets. Les onglets sont plus familiers, mais quand ils sont trop nombreux - trouvez le requis par le nom dans ce panneau.

Le mode plein écran (F11) et le mode " Distraction Free " (Shift + F11) sont disponibles. Avec le premier, je pense, tout est clair, mais le second était nouveau pour moi. Ce mode est un mode plein écran avec ses propres paramètres. La première fois que vous y accédez, seul l'éditeur de code est à votre disposition, oui la barre de menu. Dans ce (dans -> Voir), vous pouvez activer / désactiver tout le nécessaire / inutile. Mode pratique pour une immersion profonde dans le travail.

Le mode de sélection verticale est l'une des fonctions les plus importantes pour les éditeurs de texte avancés. Et sublime ne fait pas exception. Dans la version Linux, il est activé par le bouton droit de la souris lorsque le chiffrement est serré. Il est très pratique pour les modifications rapides de divers types de listes, de balisages et pas seulement. Il est à noter que ST2 peut rechercher et remplacer par des expressions régulières, sans lesquelles il serait difficile de l'envisager sérieusement.

A noter également le défilement horizontal . Si votre souris ne l'a pas, utilisez Maj + défilement vertical. Comme il s'est avéré - très pratique. Dans la barre d'état, en plus des erreurs et de la position actuelle du curseur, les options de la syntaxe du fichier et de la taille de l'onglet sont disponibles.

Les icônes-boutons pour étendre / réduire les régions de code (fonctions, blocs, étiquettes, etc.) ne sont pas évidents. Le fait est que, bien qu'ils se trouvent, comme ils le devraient, à la gauche de la ligne de code, mais, par défaut, ils sont affichés uniquement en survolant la souris (ceci est configurable). Disponible pour une variété de structures, en particulier, très heureux avec la possibilité de "plier" sélecteurs SCSS.

Sublime offre de nombreuses possibilités de sélection et d'édition multiples . Ie. vous pouvez placer le curseur à plusieurs endroits et éditer le code de manière synchrone (macros, saisie semi-automatique, extraits, presse-papiers, etc.). Je l'ai vraiment manqué dans Netbeans. Vous pouvez définir la nouvelle position du curseur dans ctrl + left_mouse_click. Ou ctrl + left_double / _triple cliquez sur (sélectionnez le mot / paragraphe entier). Ces combinaisons de touches et d'autres souris sont flexibles et personnalisables.

Recherche floue

Sublime Text 2 FAQSublime Text 2 FAQ

L'une des fonctions les plus annoncées de l'éditeur est une recherche floue. Il vous permet de trouver "modules / gallery / view / gallery / page.jade" en cliquant uniquement sur "gapaja". Dire que cela fait gagner du temps revient à ne rien dire. Dans 99% des cas, j'ouvre les fichiers ou je trouve la fonction dont j'ai besoin ici, des bribes qui rappellent un dialecte est-asiatique :) Hors de la boîte sont disponibles:

  • Ctrl + P - recherche par fichiers de projet
  • Ctrl + R - recherche par fonctions (pour les modèles dans XSLT, les sélecteurs dans CSS / SCSS, etc.)
  • Ctrl + Maj + P - recherche dans le menu (et là, y compris les nouvelles fonctions des plugins, c'est-à-dire, il n'est pas nécessaire de mémoriser les raccourcis clavier pour les fonctionnalités rarement utilisées)
  • Ctrl +; - Recherche par mots. Par exemple, en pilotant dbr, vous pouvez trouver où vous avez oublié de supprimer le débogueur de service dans le fichier js
  • Ctrl + G - numéro de ligne (pas de recherche floue, mais, je pense, ici c'est l'endroit)

Après avoir joué avec ces combinaisons, vous pouvez faire attention au fait que ces modes peuvent être combinés. Par exemple, en conduisant un gapaja @ gallery_list, nous n'allons pas au début du fichier, mais immédiatement à mixin-at gallery_list.

Cette liste peut être étendue par des plugins. A propos de quelques-uns d'entre eux, je vais parler juste ci-dessous.

Configuration

Tous les paramètres sont effectués via l'édition json-config. Les modifications prennent effet immédiatement après l'enregistrement du fichier. La plupart des paramètres que vous pouvez obtenir (que ce soit l'éditeur lui-même ou ses plug-ins) sont divisés en deux parties: par défaut et utilisateur. Ie. l'utilisateur final doit modifier les config-user, qui par défaut sont généralement vides.

Les paramètres de base de l'éditeur que vous pouvez voir dans le menu Préférences -> Paramètres - Par défaut. Je vais parcourir le plus important:

  • word_separators est une expression pour séparer les mots. Par exemple, pour double-cliquer sur une variable PHP, elle est allouée avec $, cette option peut être ajustée comme ceci: "./ \\ () \" '-:,;; <> ~! @ #% ^ & * | + = [] {} `~?"
  • fade_fold_buttons - affiche les icônes de pli ( développez / cachez les régions de code) uniquement lorsque vous passez la souris
  • tab_size, translate_tabs_to_spaces - la taille de l'onglet et la possibilité d'utiliser des espaces à la place des onglets
  • folder_exclude_patterns - un tableau de masques pour les fichiers / répertoires qui seront ignorés lorsque vous travaillez sur des projets
  • trim_trailing_white_space_on_save - Ajuste les espaces principaux lors de la sauvegarde
  • show_tab_close_buttons - affiche "croix" sur les onglets
  • draw_white_space - affiche les caractères et les tabulations de l' espace toujours ou seulement lors de la sélection du texte
  • save_on_focus_lost - enregistré automatiquement lorsqu'un autre fichier est sélectionné ou que le focus est perdu depuis l'éditeur
  • default_encoding - l'encodage par défaut est "UTF-8"
  • fallback_encoding - l'encodage en cas de détection automatique a échoué
  • auto_complete - on / off "saisie semi-automatique". Parce que ST2 n'est pas un IDE, puis la saisie semi-automatique de la boîte fonctionne par le principe - "voici tous les mots sur la page, choisissez ce que vous voulez." Beaucoup n'aiment pas ça
  • hot_exit - par défaut, l'éditeur se ferme sans confirmation de sauvegarder / ne pas sauvegarder les fichiers modifiés. Il se souvient simplement de leur condition et ouvre comme s'il ne fermait pas du tout. Le même comportement lors de la commutation de projets. Cette option vous permet de définir le mode standard
  • close_windows_when_empty - ferme le programme lorsque tous les fichiers sont fermés
  • preview_on_click : par défaut, lorsque vous sélectionnez un fichier dans l'arborescence du projet, il ne crée pas d'onglet distinct, mais l'affiche simplement au-dessus du fichier en cours. Vous pouvez faire quelques changements et enregistrer. Si vous voulez ouvrir le fichier "entièrement", vous devez double-cliquer. Pour ce comportement, cette option répond également.

Ce ne sont pas tous les paramètres, mais seulement ceux que j'ai rencontrés ou qui m'ont semblé les plus importants pour les débutants. Les options telles que preview_on_click, hot_exit peuvent "effrayer", mais je vous recommande de les essayer dans le cas.

Hotkeys

Sublime Text 2 FAQSublime Text 2 FAQ
Une carte détaillée des raccourcis clavier Sublime Text 2 FAQ

Les raccourcis clavier changent de la même manière que tous les autres paramètres, et ils entrent en vigueur immédiatement après l'enregistrement de la configuration. En cas d'erreur, comme une combinaison de touches incorrecte, vous pouvez trouver les détails dans la console (Ctrl + `). En général, on peut trouver beaucoup de données utiles.

Je pense que c'est très significatif d'aller au fond des réglages. ils sont intuitifs. Par exemple, le "groupe" suivant:

  {"keys": ["ctrl + e"], "commande": "run_macro_file", "args": {"fichier": "Paquets / Par défaut / Supprimer Line.sublime-macro"}} 

Exécute la macro Supprimer ligne lorsque vous appuyez sur Ctrl + E. Et ceci:

 {
  "keys": ["ctrl + shift + o"],
  "command": "fuzzy_file_nav",
  "args":
  {
  "start": "/ www",
  "regex_exclude": [". * \\. (DS_Store | svn | git) $"]
  }
 }

Exécute la commande fuzzy_file_nav (plugin supplémentaire), avec des arguments. Peut-être que vous pouvez aider ma config. La souris peut également être personnalisée - pour cela il y a .mousemap. Malheureusement, je n'ai pas pu trouver au moins une documentation détaillée sur ces fichiers.

Travailler avec des projets

Si vous utilisez l'éditeur au lieu de l'IDE, il est assez difficile de faire sans projets. Au départ, vous travaillez sur le projet "default", et pour en créer un nouveau vous devez sélectionner dans le menu "Projet -> Enregistrer le projet sous". Il vous sera demandé de spécifier le chemin d'accès au fichier de configuration du projet. Après avoir créé le projet, vous devez y attacher des répertoires de travail (le plus souvent, il en est un, mais vous pouvez en spécifier quelques-uns). Pour ce faire, sélectionnez "Projet -> Ajouter un dossier au projet", après quoi il apparaîtra dans le panneau de gauche (à condition que vous l'ayez activé). A partir de maintenant, vous obtiendrez une recherche floue pour le projet (Ctrl + P).

Passons à sa configuration (Projet -> Modifier le projet). Vous y trouverez les répertoires liés. Pour exclure les inutiles, ajoutez folder_exclude_patterns : ["path_1", "path_2", ...] et file_exclude_patterns : ["* .md", ...]. Les modifications, comme d'habitude, prendront effet immédiatement après la sauvegarde. Maintenant, la recherche dans les fichiers et la recherche floue par noms de fichiers ignoreront le superflu, et l'arborescence de gauche sera plus mince. Dans le même fichier de configuration, les paramètres de certains plug-ins peuvent être définis. Par exemple - xdebug. Plus d'informations vous pouvez obtenir ici .

Passer d'un projet à l'autre est très rapide, ce qui m'a amené à me réjouir après NetBeans. La valeur par défaut est Ctrl + Alt + P. L'éditeur mémorise la liste des fichiers ouverts, l'onglet actif, la position du curseur et le défilement. Vous pouvez également ouvrir une nouvelle fenêtre (pas un onglet, Ctrl + Maj + N) de l'éditeur et y définir un autre projet.

Plugins

Aucun éditeur de texte de ce niveau ne peut se passer de plug-ins. Vous pouvez installer le plug-in simplement en le copiant dans le sous-répertoire User. Le moyen le plus simple de le trouver est Préférences -> Parcourir les paquets. Vous allez ouvrir le gestionnaire de fichiers dans le répertoire des plugins installés. Comme vous pouvez le voir il y en a beaucoup :) Cependant, il existe une méthode plus simple et plus correcte (pour la plupart des situations) - en utilisant PackageControl. A propos un peu plus bas.

La langue principale pour écrire des plugins est python. Probablement, c'est pourquoi il y en a tellement. Si vous êtes intéressé par ce sujet, vous pouvez avoir besoin de cet article .

PackageControl

Son installation n'est pas très évidente. D'abord, allez à la page du plug- in. Nous appuyons sur le bouton d'installation vert et accédons à la page avec les instructions d'installation détaillées. Au moment de la rédaction, il s'agit de copier un morceau de code python sur la console de l'éditeur (Ctrl + `) et d'appuyer sur la touche Entrée. Vous demandez - quel terrible chamanisme? Ne vous inquiétez pas, c'est la fin des surprises. Alors tout ira comme sur des roulettes (à condition que le PackageControl soit correctement installé). J'espère que les développeurs l'ajouteront à l'assemblage de base.

Sublime Text 2 FAQSublime Text 2 FAQ

Vous pouvez appeler la couche "Package" ControlControl à partir du menu Préférences -> Contrôle des paquets. Mais c'est plus simple ctrl + shift + p, puis composez la commande nécessaire. Par exemple, pour accéder au "Install Package" j'avais trois caractères - "ins" dans la recherche floue. Comment ai-je vécu sans lui auparavant? :) Le module lui-même est extrêmement évident, par conséquent, je pense que cela n'a aucun sens de le peindre en détail. Je note seulement que certains plugins ont leurs propres configs ou gor.klavishami. Dans ce cas, vous pouvez accéder rapidement à ces paramètres en utilisant le menu Préférences -> Paramètres des paquets ->% nom_fichier%.

Une petite sélection de plugins

Aligment - vous permet de formater les configs / arrays / quoi que ce soit afin que les valeurs soient alignées horizontalement. Pas une chose très pratique, mais mieux que rien. Tout d'abord, vous devez définir les curseurs avant chaque valeur, puis appuyez sur "Ctrl + Alt + A" (dans la version Linux).

FileDiffs - vous permet de comparer deux fichiers pour les différences. Ajoute les options "FileDiffs Menu" et "Diffs with tab" dans le menu de l'onglet, ainsi que quelques éléments dans le menu contextuel de l'éditeur lui-même. Le résultat s'ouvre dans un onglet distinct et, comme prévu, met en évidence les lignes en vert et en rouge. Si rien ne s'est ouvert, les fichiers sont identiques, comme indiqué par le message dans la barre d'état

FuzzyFileNav - Permet, en utilisant la recherche floue, d'ouvrir un fichier en dehors du projet, en passant par la structure du fichier. Pas aussi cool que dans Ctrl + P, mais, personnellement, c'est beaucoup plus pratique que dans la boîte de dialogue standard du système d'exploitation.

FileHistory - recherche floue pour les fichiers récemment ouverts / fermés. Je l'ai utilisé avant de trouver GotoOpenFile.

GotoOpenFile est une copie du mode Ctrl + P, mais s'applique uniquement aux fichiers ouverts.

JsMinifier - vous permet d'empaqueter le javascript sélectionné (ou tout le code du fichier courant). Le plugin utilise Google Closure Compiler et UglifyJS. Si rien ne s'est passé - regardez dans la barre d'état, le code javascript n'est probablement pas valide.

PhpDoc est une aide simple pour remplir PhpDoc. Pour l'utiliser: nous écrivons / ** [tab]. Déjà à l'intérieur - [chien] var [tab], [chien] retour [tab], etc. Déterminer automatiquement les types et les noms de variables et autres choses utiles ne peuvent pas, mais insère * lors de la traduction du chariot :)

GotoTab - vous permet de changer d'onglet en appuyant sur Ctrl + [chiffres]. Chose plutôt pratique.

SublimeLinter - vérifier la syntaxe à la volée (ou comme configuré). Peut cuisiner - CoffeeScript, CSS, Java, JavaScript, Objective-J, Perl, PHP, Python, Ruby. Utilise des outils déjà finis. Par exemple, pour JavaScript, il offre un choix entre JsLint, jsHint et gjslint. jsHint, qui est par défaut, ne teste pas simplement la syntaxe, j'impose mon vrai style de codage, que vous pouvez partiellement configurer dans la config. Je n'avais pas ça, parce que la bibliothèque n'était pas aussi flexible qu'on le voudrait, donc j'ai dû utiliser des méthodes chirurgicales :) A noter également que SublimeLinter est capable de bloquer votre éditeur. Dans ce cas - creuser dans les paramètres, il est assez flexible pour configurer.

Tag est une bibliothèque qui fournit des outils pratiques pour travailler avec XML. Je l'utilise pour amener XML à une forme lisible. Bien sûr, cela ne se limite pas à ses possibilités. Par exemple, en tapant "div" et en appuyant sur ctrl + shift + "," je reçois <div> </ div> avec le curseur à l'intérieur.

XDebug est le débogueur xdebug. Pas très confortable. Le débogage dans NetBeans est beaucoup plus pratique. Cependant, pour des tâches simples, cela peut s'avérer utile. Les utilisateurs * buntu doivent absolument lire la section "Dépannage" de la page du plug-in.

LastEdit est un analogue bogué de ctrl + q dans Netbeans. Déplace le curseur à l'endroit des changements récents. Chose très pratique, mais, malheureusement, ne fonctionne souvent pas. Si vous êtes intéressé par cette fonction, vous devriez peut-être aussi essayer ce plugin .

Une liste plus complète est disponible ici . Mais pas tous les plugins que j'ai rencontrés - c'est là.

La coloration syntaxique de la boîte est assez étendue. Cependant, pour les configs nginx et apache2, SCSS et Jade, j'avais besoin d'installer des plugins. Si pour une langue que vous utilisez un tel plug-in n'a pas été trouvé, essayez de transférer le rétroéclairage à partir de TextMate, car de nombreux éléments sont pris en charge en tant que natif.

Extraits

Les extraits sont des morceaux de code pré-emballés, avec des ancrages disposés en eux. Ie. au lieu d'écrire <xsl: when test = "some"> du code </ xsl: when> vous pouvez écrire un extrait. Je vais donner un exemple simple:

	 <extrait>
	  <content> <! [CDATA [pour (var $ {1: nom} dans $ {2: source}) if ($ {2: source} .hasOwnProperty ($ {1: nom}))
	 {
	  var $ {3: itérateur} = $ {2: source} [$ {1: nom}];
	  $ {0: // code}
	 }]]> </ content>
	  <tabTrigger> forin </ tabTrigger>
	  <scope> source.js </ scope>
	  <description> pour (var nom dans la source </ description>
	 </ extrait>	

tabTrigger est une chaîne que vous devez taper et appuyer sur tab (il n'est pas nécessaire de taper complètement, car les snippets arrivent en saisie semi-automatique). Après l'activation, le curseur se déplace à $ 1 et met en évidence "nom", l'onglet suivant mettra en surbrillance la source, qui changera immédiatement à 3 endroits. À la fin de l'extrait, vous obtiendrez 0 $. Pour arrêter son travail tôt - vous devez appuyer sur Echap . Contrairement à Netbeans, j'ai pu demander tous les Snippets dont j'avais besoin sans problème avec le "saut" du curseur au début du fichier, le hachage d'indentation et autre comportement incompréhensible (si le lecteur veut m'appeler "krivorukim", je peux donner un exemple :) ). Étendue - détermine le type de fichiers dans lequel l'extrait sera utilisé et la description que vous verrez dans la saisie semi-automatique.

Plus d'informations peuvent être trouvées ici . Peut-être que vous pouvez aider une sélection d'extraits .

Macros

Les macros et en Afrique sont des macros. Vous pouvez commencer à enregistrer via Outils -> Enregistrer la macro, arrêter - là. Lorsque vous avez terminé, enregistrez-le (Outils -> Enregistrer la macro) dans le répertoire Packages / User. Après l'ouverture du fichier final, vous verrez un tableau json avec une liste des actions effectuées. Vous pouvez affecter un raccourci clavier à la macro en utilisant la syntaxe suivante: {"keys": ["alt + 1"], "command": "run_macro_file", "args": {"file": "Packages / Utilisateur /% your_macros% .sublime- macro "}}.

Layouts

Le fait qu'il y ait des couches dans ST2, j'ai appris assez récemment, après avoir vu une capture d'écran sur lor-e . Les calques vous permettent de diviser la fenêtre de l'éditeur en plusieurs parties (2, 3, grille, etc.). C'est très pratique lorsque vous écrivez quelque chose dans un fichier, en vous appuyant sur le contenu du second. Mais avec mon moniteur 19 "" carré, cette fonctionnalité ne semble pas très attrayante, malheureusement, vous ne pouvez pas ouvrir différents projets dans différentes couches.Il est également intéressant de noter que le panneau des fichiers ouverts (à gauche), après avoir allumé plusieurs couches, est divisé en plusieurs groupes .

Conclusion

Sublime Text 2 - un excellent choix pour un programmeur ou un administrateur. Pour un utilisateur ordinaire, à mon avis, l'éditeur serait plus adapté sans json-configs et avec une interface graphique plus évidente.

Il est important de comprendre ST2 - un éditeur de texte, pas un IDE, bien qu'en utilisant des plug-ins tiers, il peut être légèrement plus proche de ce statut. Certes, je n'ai jamais réussi à obtenir une saisie semi-automatique intelligente .

Было много критики в сторону NetBeans, но я бы хотел отметить, что эта IDE мне нравится, и я до сих пор ей пользуюсь, хотя и крайне редко (к примеру, для отладки nodeJS или PHP-xDebug). Мне очень не хватает в ST2 столь же удобного средства для «патчинга» файлов, просмотра предыдущих версий, документации и разного рода вкусных штук, присущих IDE, вроде перехода к определению функции при нажатии ctrl + left_click, даже если файл находится чёрт знает где. Однако ST2 дал мне куда большую лёгкость и удобство при решении рядовых задач.