mirror of
https://github.com/foo-dogsquared/dotfiles.git
synced 2025-01-31 04:57:57 +00:00
lf: update and reformat config
This commit is contained in:
parent
ffc6ce501d
commit
8f54d19712
101
lf/lfrc
101
lf/lfrc
@ -1,68 +1,17 @@
|
|||||||
# Configuration for lf (https://github.com/gokcehan/lf).
|
|
||||||
# Based on the given example configuration at https://github.com/gokcehan/lf/blob/master/etc/lfrc.example.
|
|
||||||
# https://godoc.org/github.com/gokcehan/lf for documentation.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
####################
|
|
||||||
# BEHAVIOR TOGGLES #
|
|
||||||
####################
|
|
||||||
|
|
||||||
# interpreter for shell commands (needs to be POSIX compatible)
|
|
||||||
set shell sh
|
set shell sh
|
||||||
|
|
||||||
# set '-eu' options for shell commands
|
|
||||||
# These options are used to have safer shell commands. Option '-e' is used to
|
|
||||||
# exit on error and option '-u' is used to give error for unset variables.
|
|
||||||
# Option '-f' disables pathname expansion which can be useful when $f, $fs, and
|
|
||||||
# $fx variables contain names with '*' or '?' characters. However, this option
|
|
||||||
# is used selectively within individual commands as it can be limiting at
|
|
||||||
# times.
|
|
||||||
set shellopts '-eu'
|
set shellopts '-eu'
|
||||||
|
|
||||||
# set internal field separator (IFS) to "\n" for shell commands
|
|
||||||
# This is useful to automatically split file names in $fs and $fx properly
|
|
||||||
# since default file separator used in these variables (i.e. 'filesep' option)
|
|
||||||
# is newline. You need to consider the values of these options and create your
|
|
||||||
# commands accordingly.
|
|
||||||
set ifs "\n"
|
set ifs "\n"
|
||||||
|
|
||||||
# create the borders around the panels
|
|
||||||
set drawbox true
|
set drawbox true
|
||||||
|
|
||||||
# toggle hidden files
|
|
||||||
set hidden
|
set hidden
|
||||||
|
|
||||||
set color256
|
set color256
|
||||||
set timefmt "2006-01-02 15:04:05"
|
set timefmt "2006-01-02 15:04:05"
|
||||||
set dircounts
|
set dircounts
|
||||||
|
|
||||||
# leave some space at the top and the bottom of the screen
|
|
||||||
set scrolloff 10
|
set scrolloff 10
|
||||||
|
|
||||||
|
set wrapscroll true
|
||||||
|
|
||||||
|
# interactive delete command with a prompt since it is easy to delete them
|
||||||
|
|
||||||
############
|
|
||||||
# COMMANDS #
|
|
||||||
############
|
|
||||||
|
|
||||||
# define a custom 'open' command
|
|
||||||
# This command is called when current file is not a directory. You may want to
|
|
||||||
# use either file extensions and/or mime types here. Below uses an editor for
|
|
||||||
# text files and a file opener for the rest.
|
|
||||||
cmd open ${{
|
|
||||||
case $(file --mime-type $f -b) in
|
|
||||||
image/svg+xml) inkscape $fx;;
|
|
||||||
image/*) sxiv $fx;;
|
|
||||||
text/*) $EDITOR $fx;;
|
|
||||||
video/*|audio/*) mpv $fx;;
|
|
||||||
*) for f in $fx; do setsid $OPENER $f > /dev/null 2> /dev/null & done;;
|
|
||||||
esac
|
|
||||||
}}
|
|
||||||
|
|
||||||
# define a custom 'delete' command
|
|
||||||
cmd delete ${{
|
cmd delete ${{
|
||||||
set -f
|
set -f
|
||||||
printf "$fx\n"
|
printf "$fx\n"
|
||||||
@ -71,20 +20,6 @@ cmd delete ${{
|
|||||||
[ $ans = "y" ] && rm -rf $fx
|
[ $ans = "y" ] && rm -rf $fx
|
||||||
}}
|
}}
|
||||||
|
|
||||||
# extract the current file with the right command
|
|
||||||
# (xkcd link: https://xkcd.com/1168/)
|
|
||||||
cmd extract ${{
|
|
||||||
set -f
|
|
||||||
case $f in
|
|
||||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
|
||||||
*.tar.gz|*.tgz) tar xzvf $f;;
|
|
||||||
*.tar.xz|*.txz) tar xJvf $f;;
|
|
||||||
*.zip) unzip $f;;
|
|
||||||
*.rar) unrar x $f;;
|
|
||||||
*.7z) 7z x $f;;
|
|
||||||
esac
|
|
||||||
}}
|
|
||||||
|
|
||||||
# compress current file or selected files with tar and gunzip
|
# compress current file or selected files with tar and gunzip
|
||||||
cmd tar ${{
|
cmd tar ${{
|
||||||
set -f
|
set -f
|
||||||
@ -103,36 +38,12 @@ cmd zip ${{
|
|||||||
rm -rf $1
|
rm -rf $1
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
############
|
|
||||||
# MAPPINGS #
|
|
||||||
############
|
|
||||||
|
|
||||||
# file operations
|
|
||||||
map D delete
|
map D delete
|
||||||
map <delete> delete
|
map T tar
|
||||||
|
|
||||||
# use enter for shell commands
|
|
||||||
map <enter> shell
|
map <enter> shell
|
||||||
|
map gr cd /
|
||||||
# go to usual directories
|
|
||||||
map gr cd /run/media
|
|
||||||
map g/ cd /
|
|
||||||
|
|
||||||
# execute current file (must be executable)
|
|
||||||
map x $$f
|
map x $$f
|
||||||
map X !$f
|
map X !$f
|
||||||
|
|
||||||
# dedicated keys for usual application suite
|
cmap <tab> cmd-menu-complete
|
||||||
# feel free to replace this accordingly to your needs
|
cmap <backtab> cmd-menu-complete-back
|
||||||
map ob !blender "$f"
|
|
||||||
map oc !inkscape "$f"
|
|
||||||
map oe !emacs "$f"
|
|
||||||
map of !$BROWSER "$f"
|
|
||||||
map ol !lazygit "$f"
|
|
||||||
map om !mpv "$f"
|
|
||||||
map ov !krita "$f"
|
|
||||||
map oz !nvim "$f"
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user