Sublime or Sub-prime?

Because I’m endlessly evading responsibility^W^W looking for more efficient ways to work at nothin’ all day^A^K look, I play with new editors.

Ugly themes, right away, install Package Control, and then the theme Dracula, and it looks like something I can stand. Not as good as Hackerman for Atom.

It’s still ludicrously using stacks of JSON files for settings; 700+ lines in the default, OS overrides that, then your user prefs override that. Read lines, figure out if the default is useful, copy & modify in your own.

It does have the advantage it works reasonably fast, and runs on multiple platforms. It has a Lisp syntax highlighter that doesn’t completely suck on Scheme.

But it has this terrible minimap, and no setting for it! You have to disable it from the menu every time you make a new window. OR, you can hack on it. Prefs, Browse Packages, make a Python file User/minimap.py (found on StackOverflow, ugh):

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sublime
import sublime_plugin

class MinimapSetting(sublime_plugin.EventListener):
    def on_activated(self, view):
        show_minimap = view.settings().get("show_minimap")
        view.window().set_minimap_visible(show_minimap)

Then add "show_minimap": false, to the prefs file, and the stupid minimap never shows back up.

Problem 2, I wanted to insert timestamps in my headers. No datetime function or snippet or whatever.

Make a folder Datetime next to User, file Datetime/Datetime.py:

import sublime
import sublime_plugin
import datetime

class DatetimeCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.insert(edit, self.view.sel()[0].b, datetime.datetime.now().isoformat())

Note all the name cases matter. See that horrible self.view.sel()[0].b? That’s how you get the current cursor position. WTF!

Next to it, make Default (OSX).sublime-keymap:

[
    { "keys": ["shift+ctrl+t"], "command": "datetime" }
]

And now Sh-^T will insert a chunky ISO8601 datetime. Good enough. (originally I did Sh-Cmd-D, but turns out that’s duplicate line which I use sometimes)

So, I’m giving Sublime 4 a ★★☆☆☆ out of the box, the API is ugly as hell and they no longer have example code up so ★★★☆☆, but it’s pretty hackable if you don’t mind getting your hands covered in code guts, so maybe ★★★★☆

I’ll give it another week and see if it’s worth using longer term. BBEdit’s infinitely better for giant text files, but I do have needs other than that.


Man, that Bachman & Turner concert… they’re super old, and that was 2012. But Paul Schaeffer, minus the World’s Most Dangerous Band, jamming out on the keyboard! The audience are too old to dance. But they still rock out pretty good for guys who are even older than me.

7 thoughts on “Sublime or Sub-prime?”

  1. @mdhughes I think part of the speed difference are language servers and autocomplete stuff, and that ST4 would most likely slow down to the others if you could re-create the features and behaviors of the IDE’s with plugins.

    I use IDE’s most of the time and BBEdit or nova when auto complete doesn’t matter

  2. @hjertnes But I can’t outtype ST4, or BBEdit, or console Vim (MacVim/GVim is nearly as slow as VSCode). Big files make that even more clear, the JS editors are a league behind. So some effort may be worth putting in for a faster system.

  3. @pimoore @wearsmanyhats The scripting in Python’s a lot nicer (that horrible cursor API aside) than giant masses of JS to do anything. ST4’s faster than anything else I’ve seen short of BBEdit, VSCode & Atom aren’t even close, I often outtype them.

  4. @mdhughes I’ve had a brief look at Sublime Text 4, as someone who used to use ST3 for a long while. Sadly, the Package Control system remains as inscrutable as ever, and the thought of wading into editing JSON files to get it customised to my liking has me running for the exit. Sadly, I can’t see them winning many converts from VS Code.

Comments are closed.