# Sublime Text

A text editor for code, markup and prose with code-navigation features and a Python plugin API.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Opening Sublime Text from the command line

DevFeed: [Opening Sublime Text from the command line](<https://devfeed.tech/articles/opening-sublime-text-from-the-command-line-39471.md>)

Original publisher: [Read original article](<https://akrabat.com/opening-sublime-text-from-the-command-line/>)

Author: Rob

Published: 2026-06-30T10:00:00Z

Content type: tutorial

Language: en

Sources: [Rob Allen](<https://devfeed.tech/sources/rob-allen.md>)

Topics: [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [JSON](<https://devfeed.tech/topics/json.md>), [sessions](<https://devfeed.tech/topics/sessions.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [computing](<https://devfeed.tech/tags/computing.md>), [extension](<https://devfeed.tech/tags/extension.md>), [json](<https://devfeed.tech/tags/json.md>), [sessions](<https://devfeed.tech/tags/sessions.md>), [shell-scripting](<https://devfeed.tech/tags/shell-scripting.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

A tutorial on using a Bash function to open Sublime Text from the command line with different window behaviors for directories and files. It extends the function to create and manage a hidden .sublime-project JSON file so open files persist across sessions.

### Source excerpt

I nearly always open Sublime Text from the command line using subl and have specific requirements for when it should open a new window or re-use one. If I'm opening a directory, then I would like it to re-use the same window if I have previously opened that directory. However if I open a random file, I never want that file in the last directory window as it's unrelated. To do this I wrote a... continue reading.

## Почему JetBrains не напишет легковесную IDE

DevFeed: [Почему JetBrains не напишет легковесную IDE](<https://devfeed.tech/articles/jetbrains-ide-34267.md>)

Original publisher: [Read original article](<https://tonsky.livejournal.com/325451.html>)

Published: 2020-05-23T15:16:18Z

Content type: opinion

Language: ru

Sources: [Tonsky Стой под стрелой](<https://devfeed.tech/sources/tonsky.md>)

Topics: [ide](<https://devfeed.tech/topics/ide.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Vim](<https://devfeed.tech/topics/vim.md>), [vs-code](<https://devfeed.tech/topics/vs-code.md>), [Java](<https://devfeed.tech/topics/java.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>)

Tags: [android-studio](<https://devfeed.tech/tags/android-studio.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [java](<https://devfeed.tech/tags/java.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [livejournal](<https://devfeed.tech/tags/livejournal.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [tag-5e1c061eda96](<https://devfeed.tech/tags/tag-5e1c061eda96.md>), [tag-c40b78a8c8a6](<https://devfeed.tech/tags/tag-c40b78a8c8a6.md>), [tag-d16a2c26554f](<https://devfeed.tech/tags/tag-d16a2c26554f.md>), [tag-e3028c5e0ab2](<https://devfeed.tech/tags/tag-e3028c5e0ab2.md>), [vim](<https://devfeed.tech/tags/vim.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>)

### AI overview

The author argues that a lightweight IDE cannot exist because IDE features such as navigation, refactoring, debugging, and run configurations must understand the entire project. Build systems, frameworks, and integrations make that project-wide understanding inherently complex. The discussion draws on the author's experience with JetBrains IDEs, Java tooling, and Android Studio, while noting a personal preference for lightweight editors.

### Source excerpt

Еще в 2011 я публично отказался от ИДЕ и так с тех пор и живу: TextMate, Vim, Sublime, LightTable, VS Code, снова Sublime. И вот год назад я устроился в JetBrains. Нет, мое отношение не поменялось: я все еще считаю, что в ИДЕ программировать не надо. У меня на столе усердно копится папочка Annoying IDE(A), а Джаву и Котлин я все так же пишу в Sublime Text. Поменялось вот что. Раньше я думал, что IDE это такие цитадели зла, что их специально делают сложными и неудобными, ну или не специально, а просто сил не хватает сделать аккуратными и легковесными. Могли бы, да не смогли. Сейчас, посмотрев на Idea, и на Java-тулинг, и на Android Studio, я понимаю, что это принципиальное противоречие: в самой идее IDE заложена сложность, кривость и неудобство. Легковесная IDE не может существовать, потому что мир вокруг сложен. Давайте подумаем, что ИДЕ нам дает. Syntax highlighting, Go to definition, Find usages, Show hierarchy, Structural rename, и допустим Run configurations, то есть возможность все это как-то запускать (в том числе и под дебаггером). Все это сами по себе вполне легковесные функции, так-то. Легко представить их чисто интерфейсно в, скажем, в Vim или VS Code, ничего принципиально сложного или развесистого они в себе не несут. Так в чем же проблема? Проблема в том, что чтобы они работали, нужно вот прям все-все знать о проекте в целом. Язык программирования, допустим, маленький и фиксированный, с ним просто. Поэтому Syntax highlighting, для которого дальше одного файла смотреть не нужно, есть в самых легковесных редакторах. А вот как проект настроен и как билдится, вот тут-то адок и начинается. Миллионы билд-систем, некоторые из которых императивные и тюринг-полные, два миллионна фреймворков, миллион в квадрате интеграций, все это кривое, косое, уникальное, как блядь снежинка, общается друг с другом не пойми как, пишет файлы, теряет файлы, не видит очевидного, лезет куда не нужно, зависит друг от друга, ломается и занимается при этом довольно тривиальными вещами,

## GraphQL Schema Auto-Completion with PhpStorm

DevFeed: [GraphQL Schema Auto-Completion with PhpStorm](<https://devfeed.tech/articles/graphql-schema-auto-completion-with-phpstorm-31267.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/graphql-schema-auto-completion-with-phpstorm>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-09-18T20:26:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [phpstorm](<https://devfeed.tech/topics/phpstorm.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>)

Tags: [auto-completion](<https://devfeed.tech/tags/auto-completion.md>), [combined](<https://devfeed.tech/tags/combined.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [highlighting](<https://devfeed.tech/tags/highlighting.md>), [insights](<https://devfeed.tech/tags/insights.md>), [little](<https://devfeed.tech/tags/little.md>), [magic](<https://devfeed.tech/tags/magic.md>), [phpstorm](<https://devfeed.tech/tags/phpstorm.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [schema](<https://devfeed.tech/tags/schema.md>), [schemas](<https://devfeed.tech/tags/schemas.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

A tutorial on configuring the JS GraphQL plugin in PhpStorm to provide GraphQL schema auto-completion and syntax highlighting. It explains how to install the plugin, configure a .graphqlconfig file, and generate a schema dump by introspecting a GraphQL endpoint.

### Source excerpt

The JS GraphQL plugin combined with a little magic will give you full auto-completion and syntax highlighting of GraphQL schemas in PhpStorm

## One-off shell script execution in BBEdit

DevFeed: [One-off shell script execution in BBEdit](<https://devfeed.tech/articles/one-off-shell-script-execution-in-bbedit-35131.md>)

Original publisher: [Read original article](<http://www.practicallyefficient.com/2017/06/14/shell-scripts-in-bbedit.html>)

Author: Eddie Smith

Published: 2017-06-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Eddie Smith](<https://devfeed.tech/sources/eddie-smith.md>)

Topics: [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>), [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [file](<https://devfeed.tech/topics/file.md>), [LaTeX](<https://devfeed.tech/topics/latex.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [chmod](<https://devfeed.tech/tags/chmod.md>), [command](<https://devfeed.tech/tags/command.md>), [commands](<https://devfeed.tech/tags/commands.md>), [copy](<https://devfeed.tech/tags/copy.md>), [editor](<https://devfeed.tech/tags/editor.md>), [execution](<https://devfeed.tech/tags/execution.md>), [file](<https://devfeed.tech/tags/file.md>), [files](<https://devfeed.tech/tags/files.md>), [mac](<https://devfeed.tech/tags/mac.md>), [multiple](<https://devfeed.tech/tags/multiple.md>), [script](<https://devfeed.tech/tags/script.md>), [shell](<https://devfeed.tech/tags/shell.md>), [shell-script](<https://devfeed.tech/tags/shell-script.md>)

### AI overview

The article describes a workflow for creating one-off Bash scripts in Sublime Text to copy selected files, then running the unsaved commands immediately in BBEdit.

### Source excerpt

I've been meaning to talk more about my "Sublime Text and BBEdit" workflow, and this is a powerful (if mundane) example. I don't write a ton of scripts on my Mac and generally don't spend much time in Terminal. But when I need a script, I really need a script. My work is very file-heavy. I juggle large numbers of .tex (LaTeX) files across several large folder structures. Every so often I need to copy a subset of files within one folder to another folder so that I can do things to them. In most cases, I have a list of the files in a plain text .tex file, and I just need to do some file operations on them. Selecting them individually in Finder is tedious and error-prone, so the solution is usually a simple bash script with a bunch of cp commands. The main friction with bash scripting for folks like me that don't live in Terminal is that you have to create a .sh script and then web search for now to make it executable (because I can never remember the chmod command). Creating the shell commands is straightforward, especially in Sublime Text. After adding the necessary #!/bin/bash line with TextExpander and defining the "to" and "from" file paths as variables, the magic of Sublime Text's multiple cursors makes it easy to put cp commands and the folder path variables around each file to be copied. Sublime Text multiple cursors in action Since Sublime Text won't execute these commands in an unsaved file that hasn't been given proper execute permissions, I simply copy this text into an untitled, unsaved BBEdit window and hit ⌘R. BBEdit has the extremely useful ability to immediately recognize the syntax and execute it right there on the spot. I realize this post is a weird way to promote BBEdit, which is a powerful text editor that, in this case, I'm not even using as an editor. Hopefully I'll find some time to talk more about other ways I'm using it with Sublime Text.

## How to Traverse Foreign Ruby Code

DevFeed: [How to Traverse Foreign Ruby Code](<https://devfeed.tech/articles/how-to-traverse-foreign-ruby-code-21047.md>)

Original publisher: [Read original article](<https://jakeyesbeck.com/2015/10/25/how-to-traverse-foreign-ruby-code/>)

Published: 2015-10-25T12:00:00Z

Content type: tutorial

Language: en

Sources: [Jake Yesbeck](<https://devfeed.tech/sources/jake-yesbeck.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Code](<https://devfeed.tech/topics/code.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>)

Tags: [activerecord](<https://devfeed.tech/tags/activerecord.md>), [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [debug](<https://devfeed.tech/tags/debug.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [files](<https://devfeed.tech/tags/files.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [json](<https://devfeed.tech/tags/json.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [rails](<https://devfeed.tech/tags/rails.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [ruby-on-rails](<https://devfeed.tech/tags/ruby-on-rails.md>), [software](<https://devfeed.tech/tags/software.md>), [source](<https://devfeed.tech/tags/source.md>), [third-party](<https://devfeed.tech/tags/third-party.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

A tutorial on investigating unfamiliar Ruby code in a Ruby on Rails project. It recommends using a text editor, the pry runtime debugger, Ruby's source and source_location methods, a console, and direct inspection of gem source. The example traces ActiveRecord's store_accessor method and adds a breakpoint to observe its metaprogrammed behavior.

### Source excerpt

A Ruby on Rails project will most likely contain large amounts of third party software. Software written by other people can fluctuate greatly in terms of documentation. Even very well documented software might have pieces that are more shrouded than others. When these opaque pieces of code start to cause issue or incite curiosity, spelunking through these libraries is easier with simple patterns and the right tools. 0. Get the Right Tools An important piece of technology when reading code is a text editor. The right editor will make searching for methods fast and opening files painless. Another vital component when traversing Ruby code is a runtime debugger. For this, the pry gem is a personal favorite. Using pry is as simple as requiring it, then adding binding.pry at the desired stopping point. Alternatively, some people like to debug with output statements in code execution; but, this is 2015 and I like things that I can interact with. 1. Use source and source_location This example will use ActiveRecord's store_accessor method as the subject of investigation. The store_accessor method is useful for storing data with a volatile structure. If an application wants to prototype a feature or is unsure about how useful a certain data structure might be, using store_accessor is reasonable. In this case we can assume that the store_accessor column is the json type. Given a User class, with a column named settings, we can define two store_accessors: is_registered and contact_method. class User < ActiveRecord::Base store_accessor :settings, :is_registered, :contact_method end This model responds to contact_method= and serializes the result into the json column. If we wanted to see how this was defined, we need to start a console and look at where the contact_method= method exists. To see the definition of a method, method and source are helpful. user = User.new puts user.method(:contact_method=).source #=> define_method("#{key}=") do |value| # write_store_attribute(store_

## Sublime Tip: Enable spell checking when you write Markdown

DevFeed: [Sublime Tip: Enable spell checking when you write Markdown](<https://devfeed.tech/articles/sublime-tip-enable-spell-checking-when-you-write-markdown-21226.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2014/11/enable-spell-check-sublime-markdown/>)

Published: 2014-11-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [Jekyll](<https://devfeed.tech/topics/jekyll.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [developer](<https://devfeed.tech/tags/developer.md>), [github](<https://devfeed.tech/tags/github.md>), [github-pages](<https://devfeed.tech/tags/github-pages.md>), [i](<https://devfeed.tech/tags/i.md>), [jekyll](<https://devfeed.tech/tags/jekyll.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [packages](<https://devfeed.tech/tags/packages.md>), [plugin](<https://devfeed.tech/tags/plugin.md>)

### AI overview

A tutorial explaining how to enable spell checking for Markdown documents in Sublime Text, using the MarkdownEditing package and Sublime Text settings.

### Source excerpt

Lorem ipsum dolor sit amet

## Perfect Workflow in Sublime Text 2

DevFeed: [Perfect Workflow in Sublime Text 2](<https://devfeed.tech/articles/perfect-workflow-in-sublime-text-2-21194.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2013/05/perfect-workflow-in-sublime-text2/>)

Published: 2013-05-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [linter](<https://devfeed.tech/tags/linter.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [search](<https://devfeed.tech/tags/search.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

A short recommendation of a Tuts+ tutorial covering Sublime Text 2 features and workflow techniques, including multiple cursors, fuzzy search, the Command Palette, Package Control, code snippets, and plugins. The tutorial is available as individual sessions or as a single YouTube video.

### Source excerpt

Lorem ipsum dolor sit amet

## My Sublime Text Setup

DevFeed: [My Sublime Text Setup](<https://devfeed.tech/articles/my-sublime-text-setup-21192.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2013/04/my-sublimetext-setup/>)

Published: 2013-04-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [Shell](<https://devfeed.tech/topics/shell.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [installation](<https://devfeed.tech/tags/installation.md>), [packages](<https://devfeed.tech/tags/packages.md>)

### AI overview

A personal setup reference for Sublime Text covering user settings, keybindings, shell access, and package installation with Package Control.

### Source excerpt

Lorem ipsum dolor sit amet