2.5 KiB
parent, nav_order, description
| parent | nav_order | description |
|---|---|---|
| Configuration | 100 | How to configure a custom editor for dev's /editor command |
Editor configuration
Dev allows you to configure your preferred text editor for use with the /editor command. The editor must be capable of running in "blocking mode", meaning the command line will wait until you close the editor before proceeding.
Using --editor
You can specify the text editor with the --editor switch or using
editor: in dev's
yaml config file.
Environment variables
Dev checks the following environment variables in order to determine which editor to use:
DEV_EDITORVISUALEDITOR
Default behavior
If no editor is configured, dev will use these platform-specific defaults:
- Windows:
notepad - macOS:
vim - Linux/Unix:
vi
Using a custom editor
You can set your preferred editor in your shell's configuration file (e.g., .bashrc, .zshrc):
export DEV_EDITOR=vim
Popular Editors by Platform
macOS
-
vim
export DEV_EDITOR=vim -
Emacs
export DEV_EDITOR=emacs -
VSCode
export DEV_EDITOR="code --wait" -
Sublime Text
export DEV_EDITOR="subl --wait" -
BBEdit
export DEV_EDITOR="bbedit --wait"
Linux
-
vim
export DEV_EDITOR=vim -
Emacs
export DEV_EDITOR=emacs -
nano
export DEV_EDITOR=nano -
VSCode
export DEV_EDITOR="code --wait" -
Sublime Text
export DEV_EDITOR="subl --wait"
Windows
-
Notepad
set DEV_EDITOR=notepad -
VSCode
set DEV_EDITOR="code --wait" -
Notepad++
set DEV_EDITOR="notepad++ -multiInst -notabbar -nosession -noPlugin -waitForClose"
Editor command arguments
Some editors require specific command-line arguments to operate in blocking mode. The --wait flag (or equivalent) is commonly used to make the editor block until the file is closed.
Troubleshooting
If you encounter issues with your editor not blocking (returning to the prompt immediately), verify that:
- Your editor supports blocking mode
- You've included the necessary command-line arguments for blocking mode
- The editor command is properly quoted if it contains spaces or special characters, e.g.:
export DEV_EDITOR="code --wait"