diff options
Diffstat (limited to 'lf/.config/lf/lfrc')
| -rw-r--r-- | lf/.config/lf/lfrc | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/lf/.config/lf/lfrc b/lf/.config/lf/lfrc new file mode 100644 index 0000000..d10983c --- /dev/null +++ b/lf/.config/lf/lfrc | |||
| @@ -0,0 +1,103 @@ | |||
| 1 | # interpreter for shell commands | ||
| 2 | set shell sh | ||
| 3 | |||
| 4 | # set '-eu' options for shell commands | ||
| 5 | # These options are used to have safer shell commands. Option '-e' is used to | ||
| 6 | # exit on error and option '-u' is used to give error for unset variables. | ||
| 7 | # Option '-f' disables pathname expansion which can be useful when $f, $fs, and | ||
| 8 | # $fx variables contain names with '*' or '?' characters. However, this option | ||
| 9 | # is used selectively within individual commands as it can be limiting at | ||
| 10 | # times. | ||
| 11 | set shellopts '-eu' | ||
| 12 | |||
| 13 | # set internal field separator (IFS) to "\n" for shell commands | ||
| 14 | # This is useful to automatically split file names in $fs and $fx properly | ||
| 15 | # since default file separator used in these variables (i.e. 'filesep' option) | ||
| 16 | # is newline. You need to consider the values of these options and create your | ||
| 17 | # commands accordingly. | ||
| 18 | set ifs "\n" | ||
| 19 | |||
| 20 | # leave some space at the top and the bottom of the screen | ||
| 21 | set scrolloff 10 | ||
| 22 | |||
| 23 | # use enter for shell commands | ||
| 24 | map <enter> shell | ||
| 25 | |||
| 26 | # show hidden files | ||
| 27 | map . set hidden! | ||
| 28 | |||
| 29 | # execute current file (must be executable) | ||
| 30 | map x $$f | ||
| 31 | map X !$f | ||
| 32 | |||
| 33 | # dedicated keys for file opener actions | ||
| 34 | map o &mimeopen $f | ||
| 35 | map O $mimeopen --ask $f | ||
| 36 | |||
| 37 | # define a custom 'open' command | ||
| 38 | # This command is called when current file is not a directory. You may want to | ||
| 39 | # use either file extensions and/or mime types here. Below uses an editor for | ||
| 40 | # text files and a file opener for the rest. | ||
| 41 | cmd open ${{ | ||
| 42 | test -L $f && f=$(readlink -f $f) | ||
| 43 | case $(file --mime-type $f -b) in | ||
| 44 | text/*) $EDITOR $fx;; | ||
| 45 | *) for f in $fx; do setsid $OPENER $f > /dev/null 2> /dev/null & done;; | ||
| 46 | esac | ||
| 47 | }} | ||
| 48 | |||
| 49 | # define a custom 'rename' command without prompt for overwrite | ||
| 50 | # cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1 | ||
| 51 | # map r push :rename<space> | ||
| 52 | |||
| 53 | # make sure trash folder exists | ||
| 54 | # %mkdir -p ~/.trash | ||
| 55 | |||
| 56 | # move current file or selected files to trash folder | ||
| 57 | # (also see 'man mv' for backup/overwrite options) | ||
| 58 | cmd trash %set -f; mv $fx ~/.trash | ||
| 59 | |||
| 60 | # define a custom 'delete' command | ||
| 61 | # cmd delete ${{ | ||
| 62 | # set -f | ||
| 63 | # printf "$fx\n" | ||
| 64 | # printf "delete?[y/n]" | ||
| 65 | # read ans | ||
| 66 | # [ "$ans" = "y" ] && rm -rf $fx | ||
| 67 | # }} | ||
| 68 | |||
| 69 | # use '<delete>' key for either 'trash' or 'delete' command | ||
| 70 | # map <delete> trash | ||
| 71 | # map <delete> delete | ||
| 72 | |||
| 73 | # extract the current file with the right command | ||
| 74 | # (xkcd link: https://xkcd.com/1168/) | ||
| 75 | cmd extract ${{ | ||
| 76 | set -f | ||
| 77 | case $f in | ||
| 78 | *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;; | ||
| 79 | *.tar.gz|*.tgz) tar xzvf $f;; | ||
| 80 | *.tar.xz|*.txz) tar xJvf $f;; | ||
| 81 | *.zip) unzip $f;; | ||
| 82 | *.rar) unrar x $f;; | ||
| 83 | *.7z) 7z x $f;; | ||
| 84 | esac | ||
| 85 | }} | ||
| 86 | |||
| 87 | # compress current file or selected files with tar and gunzip | ||
| 88 | cmd tar ${{ | ||
| 89 | set -f | ||
| 90 | mkdir $1 | ||
| 91 | cp -r $fx $1 | ||
| 92 | tar czf $1.tar.gz $1 | ||
| 93 | rm -rf $1 | ||
| 94 | }} | ||
| 95 | |||
| 96 | # compress current file or selected files with zip | ||
| 97 | cmd zip ${{ | ||
| 98 | set -f | ||
| 99 | mkdir $1 | ||
| 100 | cp -r $fx $1 | ||
| 101 | zip -r $1.zip $1 | ||
| 102 | rm -rf $1 | ||
| 103 | }} | ||
