exec $CMD %s
+ t t
-@ Do something on the tagged files one by one
+@ Do something on the selected files one by one
CMD=%{Enter command}
- for f in %t; do
+ for f in %s; do
$CMD "$f"
done
-+ t r
++ t lr
p View the file in a pager
exec ${PAGER:-more} %f
-+ t r
++ t lr
+g Edit the file in gvim
+ gvim %f &
+
++ t lr
b View the file in a browser
- exec webbrowser file://%d/%f
+ exec webbrowser-encode-url -e utf-8 file://%d/%f
-+ t r
++ t lr
+= f \.(htm(l?)|txt)$
w View the file in a new browser window
- exec webbrowser -n file://%d/%f
+ exec webbrowser-encode-url -e utf-8 -n file://%d/%f
-+ t r
-= f \.(htm(l?)|txt)$
++ t lr
t View the file in a new browser tab
- exec webbrowser -t file://%d/%f
+ exec webbrowser-encode-url -e utf-8 -t file://%d/%f
-+= f \.fb2(\.bz2|\.gz|\.zip)?$ | f \.(chm|epub|htm(l?)|txt|rtf)$ & t r
++= f \.fb2(\.bz2|\.gz|\.zip)?$ | f \.(chm|epub|htm(l?)|txt|rtf)$ & t lr
f View fb2/chm/epub with fbreader
fbreader %f &
-+ t r & f \.fb2(\.bz2|\.gz|\.zip)$
++ t lr & f \.fb2(\.bz2|\.gz|\.zip)$
H fb2html
case %f in
*.fb2.bz2) A="bunzip2 -c" ;;
esac
$A %f | xsltproc /usr/local/src/FictionBook/FB2_2_html_ru.xsl - | webstdin -t
-+ t r & f \.fb2(\.bz2|\.gz|\.zip)$
++ t lr & f \.fb2(\.bz2|\.gz|\.zip)$
T fb2txt
case %f in
*.fb2.bz2) A="bunzip2 -c" ;;
esac
$A %f | xsltproc /usr/local/src/FictionBook/FB2_2_txt_ru.xsl - | webstdin -e txt -t
-+= t r & f \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
-o View OpenDoc with odt2txt
- odt2txt %f | ${PAGER:-more}
++ t lr & f \.(pdf|PDF)$
+v View pdf
+ pdftotext -layout -q %f - | iconv.py -f utf-8 | ${PAGER:-more}
-+ t r & f \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
-e Edit OpenDoc with libreoffice
++ t lr & f \.(pdf|PDF)$
+e View pdf with evince
+ evince %f &
+
++= t lr & f \.(pdf|PDF)$
+e View pdf with qpdfview
+ if [ "%d/%f" = "`echo %d/%f | iconv -t utf-8`" ]; then qpdfview %f & else src=%d/%f; dest="$HOME/tmp/`echo $src | iconv -t koi8-r | koi2lat | sed 's!/!%!g'`"; ln -s "$src" "$dest" && qpdfview "$dest" & (sleep 3; exec rm -f "$dest") & fi
+
++= t lr & f \.djvu(\.bz2|\.gz)?$
+e View djvu
+ djview %f &
+
++ t lr & f \.((pdf|PDF|ps|PS)(\.bz2|\.gz)?|odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg|doc|DOC|rtf|docx|DOCX|xls|XLS|xlsx|XLSX)$
+e Edit (Open)Docs with libreoffice
libreoffice %f &
-+= t r & f \.(pdf|PDF|ps|PS|djvu)(\.bz2|\.gz)?$
-e View pdf/ps/djvu with evince
- evince %f &
++ t lr & f \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg|doc|DOC|rtf|docx|DOCX|xls|XLS|xlsx|XLSX)$
+v View (Open)Docs with libreoffice
+ #libreoffice --headless --convert-to "txt:Text (encoded):UTF8" %f
+ libreoffice --cat %f | ${PAGER:-more}
-+= t r & f \.(doc|DOC|rtf)$
++= t lr & f \.(doc|DOC|rtf)$
d View doc with catdoc
catdoc %f | ${PAGER:-more}
-+ t r & f \.(doc|DOC|rtf)$
-e Edit doc with libreoffice
- libreoffice %f &
++= t lr & f \.(odt|ott|sxw|stw|ods|ots|sxc|stc|odp|otp|sxi|sti|odg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
+o View OpenDoc with odt2txt
+ odt2txt %f | ${PAGER:-more}
-+= t r & f \.(docx|DOCX)$
++= t lr & f \.(docx|DOCX)$
d View docx with docx2txt
docx2txt %f - | iconv.py -f utf-8 | ${PAGER:-more}
-+ t r & f \.(docx|DOCX)$
-e Edit docx with libreoffice
- libreoffice %f &
++= t lr & f \.(xls|XLS|xlsx|XLSX)$
+o View OpenXlsx with xlsx2csv
+ xlsx2csv %f | iconv.py -f utf-8 | ${PAGER:-more}
-+= t r & f \.(xls|XLS)$
++= t lr & f \.(xls|XLS)$
x View xls with xls2csv
xls2csv %f | ${PAGER:-more}
-+ t r & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$ | t t
-= t r & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$
++ t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm|ico|jp2|tif|TIF|tiff|TIFF|webp)$ | t t
+e Edit image(s)
+ gimp %s &
+
++ t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$ | t t
+= t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$
i View image(s) scaled
xli -title "`echo %s | sed 's/ /_/g'`" -zoom auto %s &
-+ t r & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$ | t t
++ t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$ | t t
I View image(s) full size
xli -title "`echo %s | sed 's/ /_/g'`" %s &
-+ t r & f \.(ico|jp2|tif|TIF|tiff|TIFF)$ | t t
-= t r & f \.(ico|jp2|tif|TIF|tiff|TIFF)$
-I View icon, JPEG-2000 or TIFF image
++ t lr & f \.(bmp|BMP|gif|GIF|jpg|JPG|jpeg|JPEG|pbm|PBM|ppm|PPM|png|PNG|xbm|xpm)$
+I Identify image
+ xli -identify %f
+
++ t lr & f \.(ico|jp2|tif|TIF|tiff|TIFF|webp)$ | t t
+= t lr & f \.(ico|jp2|tif|TIF|tiff|TIFF|webp)$
+I View icon, JPEG-2000, TIFF, WebP image
display %s &
-+ t r & f \.(aac|ac3|ape|cue|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
++ t lr & f \.(ico|jp2|tif|TIF|tiff|TIFF|webp)$
+I Identify image
+ identify %f
+
++ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
a Add the audiofile(s) or playlist(s)
- #if [ "`audtool --get-volume`" -eq 0 ]; then cgmem_nice 500 audacious & sleep 3; fi
+ #if [ "`audtool --get-volume`" -eq 0 ]; then audacious & sleep 3; fi
#for f in %s; do
- # audtool --playlist-addurl "$f"
+ # case "$f" in
+ # *.m3u8?) while read song; do
+ # audtool --playlist-addurl "$song"
+ # done < "$f" ;;
+ # *) audtool --playlist-addurl "$f" ;;
+ # esac
#done
- #smplayer -add-to-playlist %s &
deadbeef --queue %s &
-+ t r & f \.(aac|ac3|ape|cue|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
-= t r & f \.(aac|ac3|ape|cue|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$
++ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
+= t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$
p Load the audiofile(s) or playlist(s)
- #if [ "`audtool --get-volume`" -eq 0 ]; then cgmem_nice 500 audacious & sleep 3; fi
+ #if [ "`audtool --get-volume`" -eq 0 ]; then audacious & sleep 3; fi
#audtool --playlist-clear
#for f in %s; do
- # audtool --playlist-addurl "$f"
+ # case "$f" in
+ # *.m3u8?) while read song; do
+ # audtool --playlist-addurl "$song"
+ # done < "$f" ;;
+ # *) audtool --playlist-addurl "$f" ;;
+ # esac
#done
- #smplayer -send-action pl_remove_all
- #smplayer -add-to-playlist %s &
deadbeef --queue %s &
-+ t r & f \.(aac|ac3|ape|cue|flac|m3u|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
++ t lr & f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mka|mp3|MP3|ogg|OGG|pls|WAV|wav|wv)$ | t t
P Play the audiofile(s) or playlist(s)
- #if [ "`audtool --get-volume`" -eq 0 ]; then cgmem_nice 500 audacious & sleep 3; fi
+ #if [ "`audtool --get-volume`" -eq 0 ]; then audacious & sleep 3; fi
#audtool --playlist-clear
#for f in %s; do
- # audtool --playlist-addurl "$f"
+ # case "$f" in
+ # *.m3u8?) while read song; do
+ # audtool --playlist-addurl "$song"
+ # done < "$f" ;;
+ # *) audtool --playlist-addurl "$f" ;;
+ # esac
#done
#exec audtool --playback-play
- #mplayer -playlist %f &
- #smplayer %s &
deadbeef %s &
- #exec mediaplayer_open %f
+ #mplayer -playlist %f &
-+ t r & f \.m3u
++ t lr & f \.m3u8?
R Play the playlist in random order
- "$HOME"/admin/prog/audio-cdr-video/audio/shuffle-playlist.py %f random-playlist-tmp.m3u
- #if [ "`audtool --get-volume`" -eq 0 ]; then cgmem_nice 500 audacious & sleep 3; fi
+ "$HOME"/prog/audio-cdr-video/audio/shuffle-playlist.py %f /tmp/random-playlist-tmp.m3u
+ #if [ "`audtool --get-volume`" -eq 0 ]; then audacious & sleep 3; fi
#audtool --playlist-clear
- #audtool --playlist-addurl random-playlist-tmp.m3u
+ #while read song; do
+ # audtool --playlist-addurl "$song"
+ #done < /tmp/random-playlist-tmp.m3u
#audtool --playback-play
- #mplayer -playlist random-playlist-tmp.m3u &
- #smplayer random-playlist-tmp.m3u &
- #smplayer -actions pl_shuffle %f &
- deadbeef --queue random-playlist-tmp.m3u & deadbeef --play
- #mediaplayer_open random-playlist-tmp.m3u
- (sleep 5; exec rm random-playlist-tmp.m3u) &
-
-+ f \.(aac|ac3|ape|cue|flac|m3u|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
-= t r & f \.(aac|ac3|ape|cue|flac|m3u|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$
-s Play audio/video file(s) or directory with smplayer
- smplayer %s &
+ deadbeef --queue /tmp/random-playlist-tmp.m3u & deadbeef --play
+ #mplayer -playlist /tmp/random-playlist-tmp.m3u &
+ (sleep 5; exec rm /tmp/random-playlist-tmp.m3u) &
-+= t d & f (video_ts|VIDEO_TS)$
-c Play the current directory with smplayer
- smplayer . &
-
-+ t r & f \.(m3u|mp3|MP3|cue|aac|ac3|ape|flac|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t t
++ t lr & f \.(m3u8?|mp3|MP3|cue|aac|ac3|ape|dts|flac|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$
i Audio/video info
- exec mplayer -msglevel identify=6 -frames 0 %s
+ exec "$HOME"/.config/mpv/mpv_identify.sh %f
+ t d & f (video_ts|VIDEO_TS)$
i DVD info
- exec mplayer -dvd-device . dvd:// -msglevel identify=6 -frames 0
+ exec "$HOME"/.config/mpv/mpv_identify.sh .
+
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
+m Play video file(s) with mpv (quiet)
+ AUDIO_VOLUME=80
+ export AUDIO_VOLUME
+ mplayer %s &
+
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
+m Play video file(s) with mpv (normal)
+ mplayer %s &
-+ f \.(avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t t
-m Play video file(s) with mplayer
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
+= f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$
+m Play video file(s) with mpv (loud)
+ AUDIO_VOLUME=120
+ export AUDIO_VOLUME
mplayer %s &
-+ f \.(m3u|mp3|MP3|cue|aac|ac3|ape|flac|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t t
-M Play audio/video with gmplayer
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
+m Play video file(s) with mpv (louder)
+ AUDIO_VOLUME=150
+ export AUDIO_VOLUME
+ mplayer %s &
+
++ f \.(aac|ac3|ape|cue|dts|flac|m3u8?|mp3|MP3|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|iso|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t d | t t
+m Play video file(s) with mpv (ask for volume)
+ AUDIO_VOLUME=%{Enter volume}
+ export AUDIO_VOLUME
+ mplayer %s &
+
++ f \.(m3u8?|mp3|MP3|cue|aac|ac3|ape|dts|flac|ogg|OGG|pls|WAV|wav|wv|avi|AVI|flv|m2ts|m4v|mka|mkv|MKV|mov|MOV|mp4|MP4|mpg|MPG|vob|VOB|wma|wmv)$ | t t
+M Play audio/video with mpv GUI
gmplayer %s &
-+ t d & f (video_ts|VIDEO_TS)$
-d Play DVD directory with mplayer
++= t d & f (video_ts|VIDEO_TS)$
+d Play DVD directory with mpv
mplayer -dvd-device . dvd:// &
+ t d & f (video_ts|VIDEO_TS)$
-D Play DVD directory with gmplayer
+D Play DVD directory with mpv GUI
gmplayer -dvd-device . dvd:// &
+ t d & f (video_ts|VIDEO_TS)$
-t Play DVD title with mplayer
+t Play DVD title with mpv
title=%{Enter title}
mplayer -dvd-device . dvd://"$title" &
+ t d & f (video_ts|VIDEO_TS)$
-T Play DVD title with gmplayer
+T Play DVD title with mpv GUI
title=%{Enter title}
gmplayer -dvd-device . dvd://"$title" &
+ t d
-p Play directory with mplayer
+p Play directory with mpv
mplayer %f/* &
+ t d
-P Play directory with gmplayer
+P Play directory with mpv GUI
gmplayer %f/* &
+ t d & f ^\.\.$
cd .. && tar cvf - "$Pwd" | gzip -f9 > "$tar".tar.gz &&
echo ../"$tar".tar.gz created.
++ t d & f ^\.\.$
+l Compress the current subdirectory to tar.lzma
+ Pwd="`basename %d /`"
+ echo -n "Name of the distribution file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && tar cvf - "$Pwd" | lzma -f9 > "$tar".tar.lzma &&
+ echo ../"$tar".tar.lzma created.
+
++ t d & f ^\.\.$
+x Compress the current subdirectory to tar.xz
+ Pwd="`basename %d /`"
+ echo -n "Name of the distribution file (without extension) [$Pwd]: "
+ read tar
+ if [ "$tar"x = x ]; then tar="$Pwd"; fi
+ cd .. && tar cvf - "$Pwd" | xz -f9 > "$tar".tar.xz &&
+ echo ../"$tar".tar.xz created.
+
+ t d & f ^\.\.$
t Compress the current subdirectory to tar
Pwd="`basename %d /`"
echo ../"$zip".zip created.
+ t d & f ^\.\.$
-y Compress the current subdirectory to zip with recoded filenames
+y Compress the current subdirectory to zip recoding filenames
Pwd="`basename %d /`"
echo -n "Name of the distribution file (without extension) [$Pwd]: "
read zip
cd .. && zip.py "$zip".zip "$Pwd" &&
echo ../"$zip".zip created.
-+ ! f \.(\.|zip|ZIP)$
++ t d & f ^\.\.$
+7 Compress the current subdirectory to 7z
+ Pwd="`basename %d /`"
+ echo -n "Name of the distribution file (without extension) [$Pwd]: "
+ read ar
+ if [ "$ar"x = x ]; then ar="$Pwd"; fi
+ cd .. && 7zr a "$ar".7z "$Pwd" &&
+ echo ../"$ar".7z created.
+
++ ! f \.(bz2|gz|lz|lzma|7z|xz|zip|ZIP)$ & t lr
+z bzip2 the file
+ exec bzip2 -9 %f
+
++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr
+z gzip the file
+ exec gzip -9 %f
+
++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr
+z lzip the file
+ exec lzip -9 %f
+
++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr
+z lzma the file
+ exec lzma -9 %f
+
++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr
+z 7z the file/directory
+ exec 7zr a %f.7z %f
+
++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr
+z xz the file
+ exec xz -9 %f
+
++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr
z zip the file/directory
exec zip -r9 %f.zip %f
-+ ! f \.(\.|zip|ZIP)$
-y zip the file/directory with recoded filename(s)
++ ! f \.(z|Z|bz2|gz|lz|lzma)|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr
+y zip the file/directory recoding filename(s)
exec zip.py %f.zip %f
+ t t
-Z zip these files/directories
+Z zip selected files/directories
ZIP=%{Enter zip name}
exec zip -r9 "$ZIP" %s
+ t t
-Y zip these files/directories with recoded filenames
+Y zip selected files/directories recoding filenames
ZIP=%{Enter zip name}
exec zip.py "$ZIP" %s
-+ t r & f \.tar\.bz2$
-u Extract from tar-bzip2
- exec bzip2 -cd %f | tar xpvf -
-
-+ f \.tar\.gz$ | f \.tgz$ & t r
-u Extract from tar-gzip
- exec gzip -cd %f | tar xpvf -
-
-+ t r & f \.tar$
-u Extract from tar
- exec tar xpvf %f
-
-+ t r & f \.(zip|ZIP)$
-u Extract from zip
- exec unzip %f
-
-+ t r & f \.(zip|ZIP)$
-y Extract from zip with recoded filenames
- exec unzip.py %f
-
-+ t r & f \.7z$
-u Extract from 7zip
- exec 7zr x %f
-
-+ t r & f \.(rar|RAR)$
-u Extract from rar
- exec unrar x -y %f
-
-+ t r & f \.tar\.xz$
-u Extract from tar-xz
- exec xz -cd %f | tar xpvf -
-
-+ T r & F \.tar\.bz2$
-U Extract from the other tar-bzip2
- exec bzip2 -cd %D/%F | tar xpvf -
-
-+ F \.tar\.gz$ | F \.tgz$ & T r
-U Extract from the other tar-gzip
- exec gzip -cd %D/%F | tar xpvf -
-
-+ T r & F \.tar$
-U Extract from the other tar
- exec tar xpvf %D/%F
-
-+ T r & F \.(zip|ZIP)$
-U Extract from the other zip
- exec unzip %D/%F
-
-+ T r & F \.(zip|ZIP)$
-Y Extract from the other zip with recoded filenames
- exec unzip.py %D/%F
++ f \.(tar\.(z|Z|bz2|gz|lz|lzma))|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & t lr
+n Create a directory for this archive
+ case %f in
+ *.tar.Z) D="`basename %f .tar.Z`";;
+ *.tar.bz2) D="`basename %f .tar.bz2`";;
+ *.tar.gz) D="`basename %f .tar.gz`";;
+ *.tbz2) D="`basename %f .tbz2`";;
+ *.tgz) D="`basename %f .tgz`";;
+ *.tz) D="`basename %f .tz`";;
+ *.tar.lz) D="`basename %f .tar.lz`";;
+ *.tar.lzma) D="`basename %f .tar.lzma`";;
+ *.tar.7z) D="`basename %f .tar.7z`";;
+ *.zip) D="`basename %f .zip`";;
+ *.ZIP) D="`basename %f .ZIP`";;
+ *.rar) D="`basename %f .rar`";;
+ *.RAR) D="`basename %f .RAR`";;
+ *.xz) D="`basename %f .xz`";;
+ *.7z) D="`basename %f .7z`";;
+ esac
+ exec mkdir "$D"
-+ T r & F \.(rar|RAR)$
-U Extract from the other rar
- exec unrar x -y %D/%F
++ F \.(tar\.(z|Z|bz2|gz|lz|lzma))|(tbz2|tgz|tz|zip|ZIP|rar|RAR|xz|7z)$ & T r
+N Create a directory for the other archive
+ case %D/%F in
+ *.tar.Z) D="`basename %F .tar.Z`";;
+ *.tar.bz2) D="`basename %F .tar.bz2`";;
+ *.tar.gz) D="`basename %F .tar.gz`";;
+ *.tbz2) D="`basename %F .tbz2`";;
+ *.tgz) D="`basename %F .tgz`";;
+ *.tz) D="`basename %F .tz`";;
+ *.tar.lz) D="`basename %F .tar.lz`";;
+ *.tar.lzma) D="`basename %F .tar.lzma`";;
+ *.tar.7z) D="`basename %F .tar.7z`";;
+ *.zip) D="`basename %F .zip`";;
+ *.ZIP) D="`basename %F .ZIP`";;
+ *.rar) D="`basename %F .rar`";;
+ *.RAR) D="`basename %F .RAR`";;
+ *.xz) D="`basename %F .xz`";;
+ *.7z) D="`basename %F .7z`";;
+ esac
+ exec mkdir "$D"
-+ T r & F \.7z$
-U Extract from 7zip
- exec 7zr x %D/%F
++ f \.(tar\.(z|Z|bz2|gz|lz|lzma|7z|xz))|(tbz2|tgz|tz)$ & t lr
+x Extract the contents of a compressed tar file
+ unset PRG
+ case %f in
+ *.tar.bz2|*.tbz2)
+ PRG="bunzip2 -c"
+ ;;
+ *.tar.gz|*.tar.z|*.tgz|*.tz|*.tar.Z)
+ PRG="gzip -dc"
+ ;;
+ *.tar.lz)
+ PRG="lzip -dc"
+ ;;
+ *.tar.lzma)
+ PRG="lzma -dc"
+ ;;
+ *.tar.7z)
+ PRG="7zr e -so"
+ ;;
+ *.tar.xz)
+ PRG="xz -dc"
+ ;;
+ *)
+ exit 1
+ ;;
+ esac
+ $PRG %f | tar xvpf -
-+ T r & F \.tar\.xz$
-U Extract from tar-xz
- exec xz -cd %D/%F | tar xpvf -
++ F \.(tar\.(z|Z|bz2|gz|lz|lzma|7z|xz))|(tbz2|tgz|tz)$ & T r
+X Extract the contents of an other compressed tar file
+ unset PRG
+ case %F in
+ *.tar.bz2|*.tbz2)
+ PRG="bunzip2 -c"
+ ;;
+ *.tar.gz|*.tar.z|*.tgz|*.tz|*.tar.Z)
+ PRG="gzip -dc"
+ ;;
+ *.tar.lz)
+ PRG="lzip -dc"
+ ;;
+ *.tar.lzma)
+ PRG="lzma -dc"
+ ;;
+ *.tar.7z)
+ PRG="7zr e -so"
+ ;;
+ *.tar.xz)
+ PRG="xz -dc"
+ ;;
+ *)
+ exit 1
+ ;;
+ esac
+ $PRG %D/%F | tar xvpf -
-+ f \.tar\.bz2$ | f \.tar\.gz$ | f \.tgz$ | f \.(zip|ZIP)$ | f \.(rar|RAR)$ | f \.7z$ & t r
-n Create a directory for this archive
++ f \.(bz2|egg|gz|lz|lzma|7z|xz|tar|whl|zip|ZIP|rar|RAR)$ & t lr
+x Extract a compressed file
case %f in
- *.tar.bz2) D="`basename %f .tar.bz2`";;
- *.tar.gz) D="`basename %f .tar.gz`";;
- *.tgz) D="`basename %f .tgz`";;
- *.zip) D="`basename %f .zip`";;
- *.ZIP) D="`basename %f .ZIP`";;
- *.rar) D="`basename %f .rar`";;
- *.RAR) D="`basename %f .RAR`";;
- *.7z) D="`basename %f .7z`";;
+ *.bz2) P="bzip2 -d";;
+ *.gz) P="gzip -d";;
+ *.lz) P="lzip -d";;
+ *.lzma) P="lzma -d";;
+ *.7z) P="7zr x";;
+ *.xz) P="xz -d";;
+ *.tar) P="tar xvpf";;
+ *.egg|*.whl|*.zip|*.ZIP) P="unzip";;
+ *.rar|*.RAR) P="unrar x -y";;
esac
- exec mkdir "$D"
+ exec $P %f
-+ F \.tar\.bz2$ | F \.tar\.gz$ | F \.tgz$ | F \.(zip|ZIP)$ | F \.(rar|RAR)$ | F \.7z$ & T r
-N Create a directory for this archive
++ F \.(bz2|egg|gz|lz|lzma|7z|xz|tar|whl|zip|ZIP|rar|RAR)$ & T r
+X Extract another compressed file
case %F in
- *.tar.bz2) D="`basename %F .tar.bz2`";;
- *.tar.gz) D="`basename %F .tar.gz`";;
- *.tgz) D="`basename %F .tgz`";;
- *.zip) D="`basename %F .zip`";;
- *.ZIP) D="`basename %F .ZIP`";;
- *.rar) D="`basename %F .rar`";;
- *.RAR) D="`basename %F .RAR`";;
- *.7z) D="`basename %F .7z`";;
+ *.bz2) P="bzip2 -d";;
+ *.gz) P="gzip -d";;
+ *.lz) P="lzip -d";;
+ *.lzma) P="lzma -d";;
+ *.7z) P="7zr x";;
+ *.xz) P="xz -d";;
+ *.tar) P="tar xvpf";;
+ *.egg|*.whl|*.zip|*.ZIP) P="unzip";;
+ *.rar|*.RAR) P="unrar x -y";;
esac
- exec mkdir "$D"
+ exec $P %D/%F
-+ t r
++ t lr & f \.(zip|ZIP)$
+y Extract from zip recoding filenames
+ exec unzip.py %f
+
++ T r & F \.(zip|ZIP)$
+Y Extract from other zip recoding filenames
+ exec unzip.py %D/%F
+
++ t lr
v View via mailcap
exec see %f
-+ t r
++ t lr
c Compare the file
exec cmp %D/%f %f
-+ t r & T r
++ t lr & T r
C Compare these files
exec cmp %D/%F %f
-+ t r
++ t lr
d Diff the file
exec diff -u --speed-large-files %D/%f %f
-+ t r & T r
++ t lr & T r
D Diff these files
exec diff -u --speed-large-files %D/%F %f
-+ t r
++ t lr
v vimdiff the file
exec vim -d %D/%f %f
-+ t r & T r
++ t lr & T r
V vimdiff these files
exec vim -d %D/%F %f
+ t d & ! f ^\.\.$
d Diff the directory
- exec diff -ru --speed-large-files %D/%f %f
+ exec diff -ru --speed-large-files \
+ -x CVS -x .git -x .hg -x .svn -x '*.py[co]' -x __pycache__ %D/%f %f
+ t d & T d & ! F ^\.\.$
D Diff these directories
- exec diff -ru --speed-large-files %D/%F %f
+ exec diff -ru --speed-large-files \
+ -x CVS -x .git -x .hg -x .svn -x '*.py[co]' -x __pycache__ %D/%F %f
-+= f \.(asc|sig(n)?)$ & t r
++= f \.(asc|gpg|sig(n)?)$ & t lr
v Verify signature
exec gpg --verify %f
-+= f \.[1-8]$ | f \.man$ & t r
++ f \.(asc|gpg|sig(n)?)$ & t lr
+v Verify detached signature
+ exec gpg --verify %f "`echo %f | sed 's/\.[^.]*$//'`"
+
++= f \.[1-8]$ | f \.man$ & t lr
1 Display the file with roff -man
%view nroff -man %f
MAN=%{Enter manual name}
%view man -P cat $MAN
-+ t r | t d | t t
++ t dlr | t t
r rsync the file(s) there
- rsync -ahP --del %s %D
+ rsync -ahPv --del %s %D