Repository navigation
Open with
Skiff opens files in the apps you choose and shows diff command output in a read-only peek. Set the commands in Settings › Open with. This page lists standalone apps that work in each row, on Linux and macOS.
- Each row holds one command. Leave a row empty to use the default.
- In the file rows,
{path}becomes the file. If the command has no{path}, Skiff adds the file at the end. - In the Diffs row,
{target}becomes what to compare. If the command has no{target}, Skiff adds it at the end. - Skiff saves the rows under
[open]inprojects.toml. The default path is~/.config/skiff/projects.tomlon Linux and~/Library/Application Support/skiff/projects.tomlon macOS. On Linux,XDG_CONFIG_HOMEchanges the config folder.SKIFF_CONFIGoverrides the file path on either platform:
[open]
diff = "git diff --color=always"
text = "gnome-text-editor {path}"
markdown = "typora {path}"
html = "firefox {path}"On macOS, use open -a "App Name" {path} for apps. It finds the app by name, so it works without a command-line helper.
-
.mdand.markdownfiles use Markdown. -
.htmland.htmfiles use HTML. - Other text files use Text files. A file is text if its first 8 KB contain no NUL byte. Git uses the same test.
- Other files, and files whose row is empty, open in the system's default app.
Select a file in Files to preview it. A terminal tool opens in the peek at once. An app with its own window waits: press Enter or the Open in button. Double-click a file, or press Shift+Enter on a change in Changes, to open it.
Select a file in Changes to see its diff in the peek, over the terminals. Select the Changes row to see all changes. Press Enter to give the keys to the diff. Quit the diff command, or press any key after it ends, to close the peek. The command must print the diff to standard output. Apps that open their own window do not work in this row.
Tracked files compare against HEAD, including staged and unstaged changes. An untracked file compares against an empty file. The whole-worktree diff leaves untracked files out.
Linux
| Tool | Command | Install | Price |
|---|---|---|---|
| Git (default) | git diff --color=always |
Comes with git | Free |
| difftastic | git -c diff.external=difft diff --ext-diff |
apt install difftastic |
Free |
| delta | git diff --color=always {target} | delta --width=$COLUMNS |
apt install git-delta |
Free |
macOS
| Tool | Command | Install | Price |
|---|---|---|---|
| Git (default) | git diff --color=always |
Comes with git | Free |
| difftastic | git -c diff.external=/opt/homebrew/bin/difft diff --ext-diff |
brew install difftastic |
Free |
| delta | git diff --color=always {target} | /opt/homebrew/bin/delta --width=$COLUMNS |
brew install git-delta |
Free |
Skiff started from Finder does not see Homebrew's folder, so give Homebrew tools their full path, as shown above.
Terminal editors open in the peek, over the terminals. The peek closes when you quit the editor.
Linux
| App | Command | Price |
|---|---|---|
| GNOME Text Editor | gnome-text-editor {path} |
Free |
| Kate | kate {path} |
Free |
| gedit | gedit {path} |
Free |
| Sublime Text | subl {path} |
Paid (free to evaluate) |
| micro (terminal) | micro {path} |
Free |
| Neovim (terminal) | nvim {path} |
Free |
macOS
| App | Command | Price |
|---|---|---|
| BBEdit | open -a BBEdit {path} |
Free, paid upgrade |
| CotEditor | open -a CotEditor {path} |
Free |
| Sublime Text | open -a "Sublime Text" {path} |
Paid (free to evaluate) |
| TextEdit (built in) | open -a TextEdit {path} |
Built in |
| micro (terminal) | /opt/homebrew/bin/micro {path} |
Free |
| Neovim (terminal) | /opt/homebrew/bin/nvim {path} |
Free |
Install micro and Neovim with brew install micro neovim. Give them their full Homebrew path, as in Diffs.
Linux
| App | Command | Price |
|---|---|---|
| Typora | typora {path} |
Paid (trial) |
| MarkText | marktext {path} |
Free |
| Apostrophe | apostrophe {path} |
Free |
| Ghostwriter | ghostwriter {path} |
Free |
macOS
| App | Command | Price |
|---|---|---|
| Typora | open -a Typora {path} |
Paid (trial) |
| MarkText | open -a MarkText {path} |
Free |
| iA Writer | open -a "iA Writer" {path} |
Paid (trial) |
| Marked 2 (viewer) | open -a "Marked 2" {path} |
Paid (trial) |
Leave the row empty to use the system's default browser.
Linux
| Browser | Command | Price |
|---|---|---|
| Firefox |
firefox {path} (on Debian: firefox-esr {path}) |
Free |
| Chrome | google-chrome {path} |
Free |
| Vivaldi | vivaldi {path} |
Free |
macOS
| Browser | Command | Price |
|---|---|---|
| Firefox | open -a Firefox {path} |
Free |
| Chrome | open -a "Google Chrome" {path} |
Free |
| Vivaldi | open -a Vivaldi {path} |
Free |
| Safari (built in) | open -a Safari {path} |
Built in |
If the app does not start, Skiff shows the error when you open the file. The usual cause is a misspelled command. For Diffs, the peek closes and Skiff shows the error.