We generally prefer running formatters and linters via pre-commit, etc. for which there is CI tooling, rather than using editor/IDE plugins or features to do formatting and linting. If any integrate with pre-commit, use those.
A first decision is between a source-code editor or an integrated development environment (IDE).
- An IDE contains a source-code editor, in addition to tighter integration and UI elements for tools related to version control (e.g. bespoke panes for git log and diff), test, build, debug (breakpoints, inspection), diagnostics (squiggly lines), autocomplete, refactor, etc. If using a source-code editor, these other activities are often done in a separate shell.
- A source-code editor has minimal distractions. There are no popups with definitions, diagnostics, type hints, available methods, autocomplete suggestions, commit history, etc. Some feel that this adds more information for them to process and distracts from their task (e.g. causing them to think about other tasks, like formatting).
Sublime Text
Plugins
Essential
Syntax
- ApacheConf
- Babel (still relevant in June 2025)
- Django Syntax
- INI
- fish
- Jinja2
- nginx
- rainbow_csv (better highlighting than Advanced CSV)
- Saltstack-related syntax highlighting and snippets
- Sass
- TOML
- Vue
Note: Most of these do not have an LSP available.
Editing
- Advanced CSV
- Pretty JSON (faster than JSON Reindent)
- NeoVintageous (unused)
- Revert All Files
Tools
To change the default shell to fish, Settings… > Package Settings > Terminus > Settings:
{
"default_config": {
"osx": "fish"
},
"shell_configs": [
{
"name": "fish",
"cmd": ["/opt/homebrew/bin/fish", "-l"],
"env": {},
"enable": true,
"platforms": ["osx"]
}
]
}
AI (unused)
UI
- Dracula Color Scheme
- A File Icon (unused, distracting)
IDE-like (unused)
Language-specific:
- Anaconda
- Jedi - Python autocompletion
- Rust Enhanced
- SQLTools
Tips
Zed
Interesting features:
Configuration
~/.config/zed/settings.json
"buffer_font_size": 12,
"buffer_font_family": "Menlo",
"git": {
"inline_blame": {
"enabled": false
}
}
More ways to disable features at https://gerotakke.de/public/my-zed-settings.json:
"enable_copilot_integration": false,
"show_completions_on_input": false,
"features": {
"inline_completion_provider": "none",
"copilot": false
},
"hover_popover_enabled": false,
"use_autoclose": false,
"format_on_save": "off",
"remove_trailing_whitespace_on_save": false,
Issues
Testing
- Check if it reloads unsaved files after close/force quit, like Sublime Text
- Test its performance with a heavy search/replace request, e.g.
{ in a large JSON file
Cursor (likely applies to VS Code)
Plugins
Languages
- Even Better TOML
- markdownlint
- Pylance
- Python
- Python Debugger
- Rainbow CSV
- reStructuredText, which requires:
- Esbonio
- reStructuredText Syntax highlighting
- Ruff
- rust-analyzer
Editing
Tools
- GitLens, e.g. for
git blame
UI
Configuration
- To edit keybindings.json go to Cursor > Settings... > Keyboard Shortcuts. Can also click the "Open Keyboard Shortcuts (JSON)" icon) to edit the JSON directly.
- Settings > Extensions > GitLens > Inline Blame > Uncheck "GitLens > Current Line"
settings.json:
"editor.inlayHints.enabled": "off",
Preferences: Open Keyboard Shortcuts (JSON)
{
"key": "shift+cmd+f",
"command": "search.action.openEditor"
}
Tips
- When opening the symbols listing, type
: to immediately filter to only function, methods, classes, etc.
We generally prefer running formatters and linters via pre-commit, etc. for which there is CI tooling, rather than using editor/IDE plugins or features to do formatting and linting. If any integrate with pre-commit, use those.
A first decision is between a source-code editor or an integrated development environment (IDE).
Sublime Text
Plugins
Essential
Syntax
Note: Most of these do not have an LSP available.
Editing
Tools
To change the default shell to fish, Settings… > Package Settings > Terminus > Settings:
{ "default_config": { "osx": "fish" }, "shell_configs": [ { "name": "fish", "cmd": ["/opt/homebrew/bin/fish", "-l"], "env": {}, "enable": true, "platforms": ["osx"] } ] }AI (unused)
UI
IDE-like (unused)
Language-specific:
Tips
Zed
Interesting features:
Configuration
~/.config/zed/settings.jsonMore ways to disable features at https://gerotakke.de/public/my-zed-settings.json:
Issues
Testing
{in a large JSON fileCursor (likely applies to VS Code)
Plugins
Languages
Editing
Tools
git blameUI
Configuration
settings.json:
Preferences: Open Keyboard Shortcuts (JSON)
{ "key": "shift+cmd+f", "command": "search.action.openEditor" }Tips
:to immediately filter to only function, methods, classes, etc.