Skip to content

superfile config

You can edit your superfile config file with the following command:

Terminal window
$EDITOR config_path

Click here for instructions to edit the theme.

The editor your files will be opened with (Leave blank to use the EDITOR environment variable. If EDITOR environment variable is not set, it will default to nano for macOS/Linux, and notepad for Windows.

The editor your directories will be opened with (Leave blank to use defaults : vi - Linux, open - macOS, explorer - Windows).

true => Checks whether updates are needed when you exit superfile (only checks once a day).

false => No checks performed.

true => When you exit superfile, changes the terminal path to the last file panel you used.

false => When you exit superfile, the terminal path remains the same prior to superfile.

After setting to true, you need to update your shell config file. Sample changes :

Open the file:

Terminal window
$EDITOR ~/.bashrc

Copy the following code into the file:

cd_on_quit/cd_on_quit.sh
spf() {
os=$(uname -s)
# Linux
if [[ "$os" == "Linux" ]]; then
export SPF_LAST_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/superfile/lastdir"
fi
# macOS
if [[ "$os" == "Darwin" ]]; then
export SPF_LAST_DIR="$HOME/Library/Application Support/superfile/lastdir"
fi
command spf "$@"
[ ! -f "$SPF_LAST_DIR" ] || {
. "$SPF_LAST_DIR"
rm -f -- "$SPF_LAST_DIR" > /dev/null
}
}

Save, exit, and reload your .bashrc file:

Terminal window
source ~/.bashrc

Open the file:

Terminal window
$EDITOR ~/.config/fish/config.fish

If you suspect your config.fish file is located somewhere else, read the Fish shell documentation

Copy the following code into the file:

cd_on_quit/cd_on_quit.fish
function spf
set os $(uname -s)
if test "$os" = "Linux"
set spf_last_dir "$HOME/.local/state/superfile/lastdir"
end
if test "$os" = "Darwin"
set spf_last_dir "$HOME/Library/Application Support/superfile/lastdir"
end
command spf $argv
if test -f "$spf_last_dir"
source "$spf_last_dir"
rm -f -- "$spf_last_dir" >> /dev/null
end
end

Save, exit, and reload config.fish:

Terminal window
source ~/.config/fish/config.fish

Open the file:

Terminal window
notepad $PROFILE

Copy the following code into the file:

cd_on_quit/cd_on_quit.ps1
function spf() {
param (
[string[]]$Params
)
$spf_location = [Environment]::GetFolderPath("LocalApplicationData") + "\Programs\superfile\spf.exe"
$SPF_LAST_DIR_PATH = [Environment]::GetFolderPath("LocalApplicationData") + "\superfile\lastdir"
& $spf_location @Params
if (Test-Path $SPF_LAST_DIR_PATH) {
$SPF_LAST_DIR = Get-Content -Path $SPF_LAST_DIR_PATH
Invoke-Expression $SPF_LAST_DIR
Remove-Item -Force $SPF_LAST_DIR_PATH
}
}

Save, exit, and reload your profile.

Terminal window
. $PROFILE

true => Shows the file preview window when you run superfile.

false => Hides the file preview window when you run a superfile.

true => Shows the image preview in file preview panel when an image file is selected.

false => Does not show the image preview.

true => Shows additional footer info for file panel like panel mode and sort type.

false => Does not show additional footer info for file panel

true => Displays the file/directory sizes using powers of 1000 (kB, MB, GB).

false => Displays the file/directory sizes using powers of 1024 (KiB, MiB, GiB).

The default location every time superfile is opened. Supports ~ and .

File panel sorting type. Directories will always be displayed at the top.

0 => Name

1 => Size

2 => Date Modified

3 => Type

File panel sorting order.

false => Ascending (a-z)

true => Descending (z-a)

File panel sorting case sensitivity (if true, uppercase letters come before lowercase letters).

true => Case sensitive (“B” comes before “a”)

false => Case insensitive (“a” comes before “B”)

Whether to enable debug mode. (if true, more verbose logs are written in log file).

true => DEBUG, INFO, WARN, ERROR logs are written to log file

false => INFO, WARN, ERROR logs are written to log file

Controls whether warnings about missing fields in the config file are displayed.

true => No warnings will be shown when fields are missing from the config file

false => Warnings will be shown for any missing fields in the config file

Number of lines to scroll when using PgUp/PgDown keys.

0 => Full page scroll (default behavior)

n (where n > 0) => Scroll exactly n lines

'' => Use the builtin syntax highlighting for code files with chroma. 'bat' => Use syntax highlighting provided by the bat command line tool.

true => Use nerdfont for directories and file icons.

false => Dont use nerdfont. If you don’t have or don’t want Nerdfont installed you can turn this off

true => Show checkbox icons in select mode.

false => Don’t show checkbox icons in select mode.

true => The background color is not rendered (transparent). This is useful if your terminal background is transparent.

false => The background is rendered (with color) to maintain theme consistency.

This setting is an integer.

0 => The width of the file preview window is the same as the file panel.

X => The width of the file preview window is 1/X of the terminal width (minus the sidebar width). It is calculated as: (terminal width - sidebar width) / X

This setting is an integer.

0 => The sidebar will not display.

X => The width of the sidebar.

Here are a few suggested styles, of course you can change them to your own:

# ...
border_top = ""
border_bottom = ""
border_left = ""
border_right = ""
border_top_left = ""
border_top_right = ""
border_bottom_left = ""
border_bottom_right = ""
border_middle_left = ""
border_middle_right = ""
#...
# ...
border_top = ""
border_bottom = ""
border_left = ""
border_right = ""
border_top_left = ""
border_top_right = ""
border_bottom_left = ""
border_bottom_right = ""
border_middle_left = ""
border_middle_right = ""
#...

Allows users to map file extensions to commands used to open them. The file path will be appended as the last argument.

[open_with]
xopp = "xournalpp"
conf = "nvim"
src/superfile_config/config.toml
##############################################
# #
# Superfile Configuration #
# #
##############################################
# This contains the root config file for superfile! More details can be found at
# https://superfile.dev/configure/superfile-config/.
###############################################################################
# Defaults #
###############################################################################
#-- File Editor
# Default: $EDITOR
editor = ""
#-- Directory Editor
#
dir_editor = ""
#-- Auto check for update
auto_check_update = true
#-- cd on quit
# Should we cd the shell to the last directory open in superfile when the
# program exits?
cd_on_quit = false
#-- File Preview
# Should we open a file preview by default whenever selection-hovering over a
# file?
default_open_file_preview = true
#-- Image Preview
# Should we open an image preview by default whenever selection-hovering over an
# image?
show_image_preview = true
#-- File Info Footer
# Should we display a footer in the file panel that provides more file information?
show_panel_footer_info = true
#-- Default Directory
# The initial path that the file panel should navigate to when superfile is
# opened. This setting understands relative paths such as ".", "..", etc.
default_directory = "."
#-- File Size Units
# true: SI decimal units of 1000 (kB, MB, GB).
# false: IEC binary units of 1024 (KiB, MiB, GiB).
file_size_use_si = false
#-- Default File Sort Type
# (0: Name, 1: Size, 2: Date Modified, 3: Type).
default_sort_type = 0
#-- Sort Order Reversing
# true: Descending.
# false: Ascending.
sort_order_reversed = false
#-- Case-Sensitive Sorting (only for Name Sort)
# An uppercase "B" comes before a lowercase "a" if true.
case_sensitive_sort = false
#-- Exit Shell on Success
# Whether to exit the shell on successful command execution.
shell_close_on_success = false
#-- Page Scroll Size
# Number of lines to scroll for PgUp/PgDown keys (0: full page, default behavior).
page_scroll_size = 0
#-- Debug Mode
debug = false
#-- Ignore Missing Config Fields
# Whether to silence any warnings about missing config fields.
ignore_missing_fields = false
###############################################################################
# Styling #
###############################################################################
#-- Theme
# Put your theme's name here!
theme = "catppuccin-mocha"
#-- Code Previewer
# Whether to use the builtin syntax highlighting with chroma or use bat. Values: "" for builtin chroma, "bat" for bat
code_previewer = ""
#-- Nerd Fonts Support
# Whether to enable support for Nerd Fonts symbols.
# Requires: Font patched with the Nerd Fonts patch.
nerdfont = true
#-- Show checkbox icons in select mode
# Requires: nerdfont = true
show_select_icons = true
#-- Transparent Background Support
# Set to true to enable background transparency.
# Requires: terminal support for colour transparency
transparent_background = false
#-- File Preview Panel Width
# Width of the file preview panel will be 1/n of the total width.
# Values recommended to be in 2–10.
# Default (0): Use the same width as file picker panel.
file_preview_width = 0
#-- Sidebar Width
# If you don't want to display the sidebar, you can input 0 directly.
# Values recommended to be in 3–20.
sidebar_width = 20
#-- Border
# Make sure to add strings that are exactly one character wide!
# Use ' ' for borderless.
border_top = ''
border_bottom = ''
border_left = ''
border_right = ''
border_top_left = ''
border_top_right = ''
border_bottom_left = ''
border_bottom_right = ''
border_middle_left = ''
border_middle_right = ''
###############################################################################
# Plugins #
###############################################################################
# This section is for using plugins with superfile, external addons that extend
# the default capabilities of the program! More info can be found at
# https://superfile.dev/list/plugin-list/.
#-- Detailed Metadata
# Requires: exiftool
metadata = false
#-- MD5 Checksum Generation
# Requires: md5sum
enable_md5_checksum = false
#
#-- Zoxide Support - Smart directory navigation!
# Requires: zoxide
zoxide_support = false
#-- File opening rules
# Map file extensions to commands used to open them.
# The file path will be appended as the last argument.
# MUST BE IN THE VERY END OF THE FILE BECAUSE TOML CANNOT CLOSE TABLES
# Example:
# png = "feh"
# pdf = "zathura"
# conf = "nvim"
[open_with]