nix-dotfiles/snippets/clifm/clifmrc

532 lines
19 KiB
Plaintext
Raw Normal View History

###########################################
# CLIFM #
# The command line file manager #
###########################################
# This is Clifm's main configuration file.
# Lines starting with either '#' or ';' are commented (ignored).
# Options starting with a ';' hold the default value, but are commented.
# To override a default value, uncomment the corresponding option.
#=====================================#
# 1. INTERFACE #
#=====================================#
# Show hidden files (i.e. files starting with a dot).
;ShowHiddenFiles=false
# Files listed in a '.hidden' file in the current directory will be hidden
# whenever hidden files are not shown (i.e. ShowHiddenFiles is set to false).
# Both plain file names and wildcards are supported.
;ReadDotHidden=false
# Use a regular expression to filter files from the files list.
# Example: "!.*~$" to exclude backup files (ending with ~), or "^\." to
# list only hidden files. File type filters are also supported. Example:
# "=d" to list directories only, or "!=l" to exclude symlinks.
# Run 'help file-filters' for more information.
;Filter=""
# List directories first.
;ListDirsFirst=true
# The amount of files contained by a directory is informed next
# to the directory name. However, this feature might slow things down
# when, for example, listing files on a remote server. The files counter
# can be disabled here, via the --no-files-counter option, or using the
# 'fc' command while in the program itself.
# Note: Classify (see below) must be set to true.
;FilesCounter=true
# If running with colors, append directory indicator to directories. If
# running without colors (via the --no-color option), append file type
# indicator at the end of file names:
# '/' for directories
# '@' for symbolic links
# '=' for sockets
# '|' for FIFO/pipes
# '*' for for executable files
# '+' for block special files
# '-' for character special files
# '?' for unknown file types
# Bear in mind that when running in light mode the check for executable
# files won't be performed, and thereby no indicator will be added to
# executable files.
# Note: Setting this option to false disables the files counter.
;Classify=true
# Symbolic links are colored as the target file name. An indicator character
# (by default '@') is placed at the beginning of the name to mark it as a
# symbolic link.
# The color of this indicator can be customized via the 'lc' code in the
# color scheme file (InterfaceColors field).
;ColorLinksAsTarget=false
# Mas, the files list pager. Possible values are:
# 0/false: Disable the pager.
# 1/true: Run the pager whenever the list of files does not fit on the screen.
# >1: Run the pager whenever the amount of files in the current directory is
# greater than or equal to this value (say, 1000).
;Pager=0
# How to list files in the pager. Possible values:
# auto: use the current listing mode
# long: list files in long view
# short: list files in short view
;PagerView=auto
# How to list files: 0 = vertically (like ls(1) would), 1 = horizontally.
;ListingMode=0
# How to sort listed files.
# Available options: none, name, version, extension, type, blocks, size,
# links, atime, btime, ctime, mtime, inode, owner, and group.
;Sort=version
# By default, files are sorted from less to more (ex: from 'a' to 'z' if
# using the "name" method). To invert this ordering, set SortReverse to
# true (you can also use the --sort-reverse option or the 'st rev' command).
;SortReverse=false
# Display extended file metadata next to file names (long listing format).
;LongViewMode=false
LongViewMode=true
# Properties fields to be displayed for each file name in long view mode:
# f = files counter (for directories)
# B = file allocated blocks
# d = inode number
# l = number of hard links
# p|n = permissions: either symbolic (p) or numeric/octal (n)
# i|I = user/group IDs: either as number (i) or name (I)
# G = if i|I is set, don't print groups
# a|b|m|c = last (a)ccess, (b)irth, (m)odification, or status (c)hange time
# s|S = size (either human readable (s) or bytes (S))
# x = extended attributes/capabilities/ACLs (marked as '@') (requires p|n)
# A single dash ("-") disables all fields
#
# Note that, exception made of 'x' and 'G', fields will be displayed in the
# order specified here.
#
# Example: display only permissions (numeric) and size (human readable):
#PropFields="ns"
# or, to display file permissions, modification time, and size (in bytes):
#PropFields="pmS"
;PropFields="xfpIsm"
# Number of spaces between fields in long view. Possible values: 1-2.
;PropFieldsGap=1
# Style used to print timestamps in long view mode.
# Available styles: default, relative, iso, long-iso, full-iso, +FORMAT
# FORMAT is interpreted like in strftime(3).
# Defaults to "+%b %e %H:%M" for recent files (< 6 months) and "+%b %e %Y"
# for older files.
# Examples:
;TimeStyle="full-iso"
;TimeStyle="relative"
;TimeStyle="+%F %T"
# If sorting files by time, use the same time files are sorted by for the time
# field in long view (disregarding the value set in PropFields).
;TimeFollowsSort=true
# Append an 'a', 'b', 'c', or 'm' to the timestamp (long view only) to indicate
# the kind of timestamp, i.e, access, birth, status change, or modification
# time respectively. In case of relative times, uppercase characters are used
# instead for better visibility.
;TimestampMark=false
# Same as TimeStyle, but for the 'p/pp' command.
# Available styles: default, iso, long-iso, full-iso, full-iso-nano, +FORMAT
# Nano-second precision is available via the %N modifier.
;PTimeStyle="+%Y-%m-%d %H:%M:%S.%N %z"
# If running in long view, print directories full size (i.e. recursively).
;FullDirSize=false
# Print files apparent size instead of actual device usage.
;ApparentSize=true
# In light mode, extra file type checks (except those provided by
# the d_type field of the dirent structure (see readdir(3))
# are disabled to speed up the listing process. stat(3) and access(3)
# are not executed at all, so that we cannot know in advance if a file
# is readable by the current user, if it is executable, SUID, SGID, if a
# symlink is broken, and so on. The file extension check is ignored as
# well, so that the color per extension feature is disabled.
;LightMode=false
# Clear the screen before listing files.
# Possible values: 'true', 'false', 'internal' (restrict this behavior to
# internal commands only: shell commands won't clear the screen).
# Note: if set to 'internal', the current list of files won't be refreshed
# even if an external command creates, removes, or renames a file in the
# current directory.
2025-05-22 17:06:56 -04:00
;ClearScreen=internal
# Maximum file name length for listed files. If TrimNames is set to true,
# names larger than MaxFilenameLen will be truncated at MaxFilenameLen
# using a tilde (~).
# Set it to -1 (or empty) to remove this limit.
# If running in long mode, this setting is overriden by MinFilenameTrim
# whenever MaxFilenameLen is smaller than MinFilenameTrim.
;MaxFilenameLen=20
MaxFilenameLen=-1
# Trim file names longer than MaxFilenameLen.
;TrimNames=true
# Minimum length at which a file name can be trimmed in long view mode.
# When running in long mode, this setting overrides MaxFilenameLen
# whenever MaxFilenameLen is smaller than MinFilenameTrim.
;MinFilenameTrim=20
# A comma separated list of workspace names in the form NUM=NAME.
# Example: "1=MAIN,2=EXTRA,3=GIT" or "1=α,2=β,3=γ"
;WorkspaceNames=""
# If set to true, settings changed in the current workspace (only via
# the command line or keyboard shortcuts) are kept private to that
# workspace and made persistent (for the current session only), even
# when switching workspaces.
;PrivateWorkspaceSettings=false
# Print the disk usage of the file system the current directory belongs to
# in the form "FREE/TOTAL (FREE_PERCENTAGE) FS_TYPE DEV_NAME".
;DiskUsage=false
# Print a map of the current position in the directory history list,
# showing previous, current, and next entries.
;DirhistMap=false
# Print the list of selected files after the files list. Since this
# list could become quite extensive, you can limit the number of printed
# entries using the MaxPrintSelfiles option below.
;PrintSelfiles=false
PrintSelfiles=true
# Maximum amount of selected files to be printed if PrinSelFiles is set
# to true. Possible values: -1 = no limit, 0 = auto (never print more
# than half terminal height), or any positive value.
;MaxPrintSelfiles=0
# Color schemes (or just themes) are stored in the colors directory
# ($XDG_DATA_DIRS/clifm/colors, usually /usr/local/share/clifm/colors
# or /usr/share/clifm/colors). You can place your custom themes in
# $HOME/.config/clifm/colors.
#
# Use the 'cs' command or the '--color-scheme' command line option to set
# a theme.
#
# Run 'cs edit' to edit the current theme.
#
# Each theme includes color definitions, just as definitions for the
# prompt, the warning prompt, the dividing line, and the FZF window.
#
# Use TAB to list available themes: 'cs TAB'.
#
# Visit https://github.com/leo-arch/clifm-colors to get a few extra themes.
#
# Defaults to 'default-256', or 'default' (16 colors) if 256 colors support
# is not detected.
;ColorScheme=default-256
ColorScheme=aqua
# Enable/disable icons.
# By default, emojis (widely available today) are used as icons.
# Nerd-fonts and icons-in-terminal are supported as well, though Clifm
# needs to be recompiled in order to enable support. Consult our Wiki
# (https://github.com/leo-arch/clifm/wiki) for more information.
;Icons=false
Icons=true
#=====================================#
# 2. COMMAND LINE #
#=====================================#
# Set quoting style used to expand ELN's (regular files only).
# Quoting styles: 'backslash' (default), 'single', or 'double' quotes.
# Useful when using shells not supporting backslashes as quoting
# mechanisms (ex: nushell or xonsh).
;QuotingStyle=backslash
# Enable fuzzy matching for filename/path completions and suggestions.
;FuzzyMatching=false
# Fuzzy algorithm. Available options are:
# 1 = faster, not Unicode aware
# 2 = slower, Unicode aware (note that this second algorithm will
# nonetheless fallback to the first one whenever the query string
# does not contain unicode characters, minimizing thus the performance
# penalty).
;FuzzyAlgorithm=2
# TAB completion mode: 'standard', 'fzf', 'fnf' or 'smenu'. Defaults
# to 'fzf' if the binary is found in PATH. Othwerwise, the standard
# mode is used.
;TabCompletionMode=
# File previews for TAB completion (fzf mode only). Possible values:
# 'true', 'false', 'hidden' (enabled, but hidden; toggle with Alt-p).
;FzfPreview=true
# Enable auto-suggestions
;AutoSuggestions=true
# The following suggestion checks will be performed in the order
# specified by SuggestionStrategy. Available checks are:
# a = Aliases names
# c = Path completion
# e = ELN's
# f = File names in current directory
# h = Commands history
# j = Jump database
# Use a single dash (-) to skip all these checks.
;SuggestionStrategy=ehfjac
# Suggest file names using the corresponding file type color (set
# via the color scheme file).
;SuggestFiletypeColor=false
# Suggest a brief description for internal commands.
;SuggestCmdDesc=true
# Enable syntax highlighting.
;SyntaxHighlighting=true
# Allow external, shell commands.
;ExternalCommands=true
#=====================================#
# 3. COMMANDS #
#=====================================#
# List files automatically after changing the current directory.
;AutoLs=true
# If set to true, a command name that is the name of a directory or a
# file, is executed as if it were the argument to the the 'cd' or the
# 'open' commands respectively: 'DIR' is equivalent 'cd DIR' and
# 'FILE' to 'open FILE'.
;Autocd=true
;AutoOpen=true
# Run autocommand files (.cfm.in and .cfm.out) found in the current
# directory. For more information consult the manpage.
;ReadAutocmdFiles=false
# Run in read-only mode (internal commands able to modify the file
# system are disabled). Consult the manpage for the list of affected
# commands.
;Readonly=false
# Make the 'r' command trash files instead of removing them.
;TrashAsRm=false
TrashAsRm=true
# If set to true, do not ask for confirmation before trashing files.
;TrashForce=true
# If set to true, do not ask for confirmation before removing files
# with the 'r' command.
# Note: use the '-f' parameter to turn this option on for a single
# command. Example: 'r -f FILE'.
;rmForce=false
# Set the default copy command. Available options are:
# 0 = 'cp -iRp', 1 = 'cp -Rp', 2 = 'advcp -giRp', 3 = 'advcp -gRp',
# 4 = 'wcp', and 5 = 'rsync -avP'
# 2-5 include a progress bar.
# Only 0 and 2 will prompt before overwrite.
;cpCmd=0
# Set the default move command. Available options are:
# 0 = 'mv -i', 1 = 'mv', 2 = 'advmv -gi', and 3 = 'advmv -g'
# 2 and 3 include a progress bar.
# Only 0 and 2 will prompt before overwrite.
;mvCmd=0
# How should the 'l' command create symbolic links. Possible values:
# absolute = Make the target an absolute path
# relative = Make the target relative to the link location (like 'ln -rs')
# literal = Do not resolve the target at all (like 'ln -s')
;LinkCreationMode=literal
# Choose the resource opener to open files with their default associated
# application (e.g. Ranger's rifle or xdg-open). If not set, 'lira',
# Clifm's built-in opener, is used instead.
;Opener=
# Only used when opening a directory via a new Clifm instance (with the
# 'x' command), this option specifies the command to be used to launch a
# terminal emulator to run Clifm on it.
TerminalCmd="$TERM -e"
# Set the file mode creation mask. Defaults to the value inherited from
# the shell (though 077 is recommended).
# This option is ignored in secure mode (umask is forcefully set to 077).
;Umask=077
# We have three search strategies: 0 = glob-only, 1 = regex-only,
# and 2 = glob-regex. Used by the quick search function.
;SearchStrategy=2
# When a directory rank in the jump database falls below MinJumpRank, it
# will be removed. If set to 0, directories are kept indefinitely.
;MinJumpRank=10
# When the sum of all ranks in the jump database reaches MaxJumpTotalRank,
# all ranks will be reduced using a dynamic factor so that the total sum falls
# below MaxJumpTotalRank again. Those entries falling below MinJumpRank will
# be deleted.
;MaxJumpTotalRank=100000
# Automatically purge the jump database from non-existing directories at
# startup. Note that this will remove paths pointing to unmounted removable
# devices and remote file systems.
;PurgeJumpDB=false
# Print the list of commands executed in the current directory (the list is
# cleared after changing the directory).
;PrintDirCmds=false
#=====================================#
# 4. LOGS AND HISTORY #
#=====================================#
# Send errors, warnings, and notices to the notification daemon.
;DesktopNotifications=true
# Log errors and warnings.
;LogMsgs=false
# Log commands entered in the command line.
;LogCmds=false
# Keep only the last N lines of the log file.
;MaxLog=1000
# A regular expression to prevent command lines from being added to the
# history list. Set this line to the empty string to disable history filters.
;HistIgnore="^[q,Q]$|^quit$|^exit$|^ .*|^#.*|^[0-9]+$|^\.+$"
# Limit the size of the commands history file to MaxHistory entries.
;MaxHistory=1000
# Same as HistIgnore, but for the directory history list.
;DirhistIgnore=""
# Limit the size of the directory history file to MaxDirhist entries.
;MaxDirhist=100
#=====================================#
# 5. MISC #
#=====================================#
# Enable case sensitive listing for files in the current directory.
;CaseSensitiveList=false
# Enable case sensitive lookup for the directory jumper function (via
# the 'j' command).
;CaseSensitiveDirJump=false
# Enable case sensitive completion for file names.
;CaseSensitivePathComp=false
# Enable case sensitive search.
;CaseSensitiveSearch=false
# When sorting files (either by 'version' or 'name'), skip
# non-alphanumeric characters. Ex: '__file' is sorted as 'file'.
# This also applies to hidden files: if set to false, '.hidden' will
# be listed before 'afile', otherwise, after 'gfile'.
;SkipNonAlnumPrefix=false
# Set a custom starting path. If not specified, it defaults to the current
# working directory. If set, it overrides RestoreLastPath.
;StartingPath=
# Start Clifm in the last visited directory (and in the last used
# workspace). This option is overriden by StartingPath (if set).
;RestoreLastPath=true
RestoreLastPath=false
# Set readline editing mode: 0 for vi and 1 for emacs (default).
;RlEditMode=1
# Write the last visited directory to $XDG_CONFIG_HOME/clifm/.last to be
# later accessed by the corresponding shell function at program exit.
# To enable this feature consult the manpage.
;CdOnQuit=false
# Share the Selection Box among different profiles.
;ShareSelbox=false
# Print a usage tip at startup.
;Tips=true
# Just a kind welcome message at startup.
;WelcomeMessage=true
# Set a custom welcome message.
# Colors are available via escape codes. E.g.: "\e[34mWelcome!\e[0m".
# An ending new line character will be appended automatically.
;WelcomeMessageStr=""
# Print Clifm's logo screen at startup.
;SplashScreen=false
#=====================================#
# 6. ALIASES #
#=====================================#
# Bind '?' to the interactive help plugin. Run 'actions' to print the
# list of available plugins.
#alias ?='ih'
# Bind 'b' to the directory history navigation plugin.
#alias b='dh'
# Replace the standard deselect command (ds) by the fzfdesel plugin.
#alias ds='**'
# You can use this alias to quickly change to the current virtual directory.
#alias vtd='cd $CLIFM_VIRTUAL_DIR'
# Replace the built-in bulk rename function (br) by vidir(1).
#br='vidir'
#=====================================#
# 7. PROMPT COMMANDS #
#=====================================#
# Write below the commands you want to be executed before each prompt. Ex:
#promptcmd /usr/local/share/clifm/plugins/git_status.sh
#promptcmd date | awk '{print $1", "$2,$3", "$4}'
#=====================================#
# 8. AUTOCOMMANDS #
#=====================================#
# Control Clifm's settings on a per directory basis. For more information
# consult the manpage.
# Remote file systems are slow: let's speed this up by enabling the light
# mode and disabling the files counter.
#autocmd /media/remotes/** lm=1,fc=0
# Just a friendly reminder.
#autocmd ~/important !printf "Keep your fingers outta here!\n" && read -n1
# Plenty of images and vids? Launch the files previewer plugin.
#autocmd ~/Downloads !/usr/local/share/clifm/plugins/fzfnav.sh
# Use the nord color scheme and disable hidden files in the ~/Documents
# directory.
#autocmd ~/Documents/** cs=nord,hf=0
# I want files in the third workspace to be listed in long view.
#autocmd @ws3 lv=1