From 8f54d197122c496d444b21b96788fd7034b7357c Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Tue, 25 Jul 2023 18:25:51 +0800 Subject: [PATCH] lf: update and reformat config --- lf/lfrc | 101 ++++---------------------------------------------------- 1 file changed, 6 insertions(+), 95 deletions(-) diff --git a/lf/lfrc b/lf/lfrc index 30460c9..1577ae4 100755 --- a/lf/lfrc +++ b/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 '-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 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" - -# create the borders around the panels set drawbox true - -# toggle hidden files set hidden set color256 set timefmt "2006-01-02 15:04:05" set dircounts - -# leave some space at the top and the bottom of the screen set scrolloff 10 +set wrapscroll true - - -############ -# 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 +# interactive delete command with a prompt since it is easy to delete them cmd delete ${{ set -f printf "$fx\n" @@ -71,20 +20,6 @@ cmd delete ${{ [ $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 cmd tar ${{ set -f @@ -103,36 +38,12 @@ cmd zip ${{ rm -rf $1 }} - - - -############ -# MAPPINGS # -############ - -# file operations map D delete -map delete - -# use enter for shell commands +map T tar map shell - -# go to usual directories -map gr cd /run/media -map g/ cd / - -# execute current file (must be executable) +map gr cd / map x $$f map X !$f -# dedicated keys for usual application suite -# feel free to replace this accordingly to your needs -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" - +cmap cmd-menu-complete +cmap cmd-menu-complete-back