summaryrefslogtreecommitdiff
path: root/.config/vifm/vifmrc
diff options
context:
space:
mode:
authorVito Graffagnino <vito@graffagnino.xyz>2020-09-08 18:10:49 +0100
committerVito Graffagnino <vito@graffagnino.xyz>2020-09-08 18:10:49 +0100
commit3b0142cedcde39e4c2097ecd916a870a3ced5ec6 (patch)
tree2116c49a845dfc0945778f2aa3e2118d72be428b /.config/vifm/vifmrc
parent8cc927e930d5b6aafe3e9862a61e81705479a1b4 (diff)
Added the relevent parts of the .config directory. Alss add ssh config
Diffstat (limited to '.config/vifm/vifmrc')
-rwxr-xr-x.config/vifm/vifmrc449
1 files changed, 449 insertions, 0 deletions
diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc
new file mode 100755
index 0000000..004ae84
--- /dev/null
+++ b/.config/vifm/vifmrc
@@ -0,0 +1,449 @@
+" nvim: filetype=vifm
+source ~/.config/vifm/vifmshortcuts
+" ------------------------------------------------------------------------------
+" --- General Settings ----- {{{
+
+" This is the actual command used to start vi.
+set vicmd=nvim
+
+" confirm delete set only to permanent deleteset
+set confirm=permdelete
+
+" This is how many directories to store in the directory history.
+set history=100
+
+" Automatically resolve symbolic links on l or Enter.
+set nofollowlinks
+
+" With this option turned on you can run partially entered commands withset
+" unambiguous beginning using :! (e.g. :!Te instead of :!Terminal or :!Te<tab>).
+set fastrun
+
+" Natural sort of (version) numbers within text.
+set sortnumbers
+
+" Maximum number of changes that can be undone.
+set undolevels=100
+
+" If you installed the nvim.txt help file set vimhelp. If would rather use a plain text help file set novimhelp.
+set vimhelp
+
+" If you would like to run an executable file when you
+" press return on the file name set this.
+set norunexec
+
+" Use KiB, MiB, ... instead of KB, MB, ...
+set noiec
+
+" Selected color schemecolorscheme
+colorscheme luke
+"colorscheme solarized-dark
+
+" Show list of matches on tab completion in command-line modeset
+set wildmenu
+
+" Ignore case in search patterns unless it contains at least one uppercaseset
+" letterset
+set ignorecase
+set smartcase
+
+" Don't highlight search results automaticallyset
+set nohlsearch
+
+" Use increment searching (search while typing)
+set incsearch
+
+" Try to leave some space from cursor to upper/lower border in listsset
+set scrolloff=4
+
+" Don't do too many requests to slow file systemsset
+set slowfs=curlftpfs
+
+" The FUSE_HOME directory will be used as a root dir for all FUSE mounts.
+" Unless it exists with write/exec permissions set, vifm will attempt to
+" create it.
+set fusehome=/tmp/vifm_FUSE
+" ------------------------------------------------------------------------------
+" Examples of configuring both panels
+" Customize view columns a bit (enable ellipsis for truncated file names)
+" windo set viewcolumns=-{name}..,6{}.
+" Filter-out build and temporary files
+" windo filter! /^.*\.(lo|o|d|class|py[co])$|.*~$/
+" ------------------------------------------------------------------------------
+
+" }}}
+" ------------------------------------------------------------------------------
+" --- Commands & Mappings ----- {{{
+"
+" :com[mand][!] command_name action
+" The following macros can be used in a command
+" %a is replaced with the user arguments.
+" %c the current file under the cursor.
+" %C the current file under the cursor in the other directory.
+" %f the current selected file, or files.
+" %F the current selected file, or files in the other directory.
+" %b same as %f %F.
+" %d the current directory name.
+" %D the other window directory name.
+" %m run the command in a menu window
+" Sample mappings
+
+command! df df -h %m 2> /dev/null
+command! diff nvim -d %f %F
+command! zip zip -r %f.zip %f
+command! run !! ./%f
+command! make !!make %a
+command! mkcd :mkdir %a | cd %a
+command! vgrep nvim "+grep %a"
+command! reload :write | restart
+
+
+nnoremap s :shell<cr> " Start shell in current directory
+nnoremap S :sort<cr> " Display sorting dialog
+nnoremap o :!nvim --remote-tab-silent %f<cr> " Open file in existing instance of vim
+nnoremap O :!nvim %f<cr> " Open file in new instance of vim
+nnoremap gb :file &<cr>l " Open file in the background using its default program
+nnoremap yd :!echo %d | xclip %i<cr> " Yank current directory path into the clipboard
+nnoremap yf :!echo %c:p | xclip %i<cr> " Yank current file path into the clipboard
+nnoremap ,t :!st &<cr> " Open console in current directory
+nnoremap ,w :set wrap!<cr> " Toggle wrap setting on ,w key
+map R :restart<CR>
+map x :!sxiv -ft * 2>/dev/null &<CR>
+nnoremap o :file &<cr>
+map E :!$EDITOR %f<CR>
+map mkd :mkdir<space>
+map bg :!setbg %f &<CR>
+map X :!ext %f &<CR>
+nnoremap s :shell<cr>
+nnoremap w :view<cr>
+vnoremap w :view<cr>gv
+nnoremap yd :!echo %d | xclip %i<cr>
+nnoremap yf :!echo %c:p | xclip %i<cr>
+nnoremap I cw<c-a>
+nnoremap cc cw<c-u>
+nnoremap A cw
+nmap <space> tj
+
+" Mappings for faster renaming
+nnoremap I cw<c-a>
+nnoremap cc cw<c-u>
+nnoremap A cw<c-w>
+
+nnoremap ,c :write | execute ':!nvim $MYVIFMRC' | restart<cr> " Open vim to edit vifmrc and apply settings after returning to vifm
+
+" Toggle visibility of preview window
+nnoremap w :view<cr>
+vnoremap w :view<cr>gv
+
+" Example of standard two-panel file managers mappings
+nnoremap <f3> :!less %f<cr>
+nnoremap <f4> :edit<cr>
+nnoremap <f5> :copy<cr>
+nnoremap <f6> :move<cr>
+nnoremap <f7> :mkdir<space>
+nnoremap <f8> :delete<cr>
+nnoremap <backspace> :delete<cr>
+
+nmap yy :!cp %f %D<cr> " copy files to the opposite pane
+nmap dd :!mv %f %D<cr> " move files to the opposite pane
+nmap yp :clone <cr> " make a backup copy files in the same pane
+
+" copy files to the opposite pane (using rsync)
+nmap ry :!tsp rsync -a %f %D<cr>
+
+" move files to the opposite pane (using rsync)
+nmap rd :!tsp rsync -a --remove-source-files %f %D && tsp find %f -type d -empty -exec rmdir {} \; && tsp rmdir %f<cr>
+
+"nmap <space> t " spacebar to select files; same as t (tag)
+nmap q ZZ " quicker quit
+
+" atool archive management
+" extracts current file (similar to ranger file manager)
+nmap EE :!atool -x %f <cr>
+command extract atool -x %f %m 2> /dev/null
+
+map <C-h> <C-w>h
+map <C-j> <C-w>j
+map <C-k> <C-w>k
+map <C-l> <C-w>l
+map <C-o> <C-w>o
+map <C-s> <C-w>s
+map <C-v> <C-w>v
+
+" }}}
+" ------------------------------------------------------------------------------
+" --- Format & Status Line ----- {{{
+" Format for displaying time in file list. For example:
+" TIME_STAMP_FORMAT=%m/%d-%H:%M
+" See man date or man strftime for details.
+
+set timefmt=%m/%d\ %H:%M
+set statusline=" %t%= %A %10u:%-7g %15s %20d " " Set custom status line look
+" }}}
+" ------------------------------------------------------------------------------
+" --- Bookmarks & shortcuts ----- {{{
+" :mark mark /full/directory/path [filename]
+
+nmap bb :marks <cr> " show all bookmarks
+
+" }}}
+" ------------------------------------------------------------------------------
+" --- Trash Directory ----- {{{
+
+" The default is to move files that are deleted with dd or :d to
+" the trash directory. If you change this you will not be able to move
+" files by deleting them and then using p to put the file in the new location.
+" I recommend not changing this until you are familiar with vifm.
+" This probably shouldn't be an option.
+
+set trash "trash-cli interface to handle trash
+nmap DD :!trash-put %f <cr>
+nmap u :!trash-restore<cr>
+nmap DE :!trash-empty <cr>
+
+" }}}" ------------------------------------------------------------------------------
+" ------------------------------------------------------------------------------
+" --- File Types & Viewers ----- {{{
+" The file type is for the default programs to be used with
+" a file extension.
+" :filetype pattern1,pattern2 defaultprogram,program2
+" :fileviewer pattern1,pattern2 consoleviewer
+" The other programs for the file type can be accessed with the :file command
+" The command macros %f, %F, %d, %F may be used in the commands.
+" The %a macro is ignored. To use a % you must put %%.
+
+" For automated FUSE mounts, you must register an extension with :file[x]type
+" in one of following formats:
+"
+" :filetype extensions FUSE_MOUNT|some_mount_command using %SOURCE_FILE and %DESTINATION_DIR variables
+" %SOURCE_FILE and %DESTINATION_DIR are filled in by vifm at runtime.
+" A sample line might look like this:
+" :filetype *.zip,*.jar,*.war,*.ear FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR
+"
+" :filetype extensions FUSE_MOUNT2|some_mount_command using %PARAM and %DESTINATION_DIR variables
+" %PARAM and %DESTINATION_DIR are filled in by vifm at runtime.
+" A sample line might look like this:
+" :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR
+" %PARAM value is filled from the first line of file (whole line).
+" Example first line for SshMount filetype: root@127.0.0.1:/
+"
+" You can also add %CLEAR if you want to clear screen before running FUSE
+" program.
+
+" --- PDF ----- {{{
+filetype *.pdf
+ \ {View in zathura}
+ \ zathura %c,
+ \ {View in okular}
+ \ okular %f,
+ \ {View in evince}
+ \ evince %f,
+fileviewer *.pdf pdftotext -nopgbrk %c -
+" }}}
+" --- PostScript ----- {{{
+filextype *.ps,*.eps,*.ps.gz
+ \ {View in zathura}
+ \ zathura %f,
+ \ {View in gv}
+ \ gv %c %i &,
+" }}}
+" --- Djvu ----- {{{
+filextype *.djvu
+ \ {View in zathura}
+ \ zathura %f,
+ \ {View in apvlv}
+ \ apvlv %f,
+" }}}
+" --- Audio ----- {{{
+filetype *.wav,*.mp3,*.flac,*.ogg,*.m4a,*.wma,*.ape,*.ac3
+ \ {Play using mpv}
+ \ mpv %f,
+ \ {Play using ffplay}
+ \ ffplay -nodisp %c,
+ \ {Play using MPlayer}
+ \ mplayer %f,
+fileviewer *.mp3 mp3info
+fileviewer *.flac soxi
+" }}}
+" --- Video ----- {{{
+filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.vob,*.flv,*.m2v,*.mov,*.webm,*.ts,*.m4v
+ \ {View using mpv}
+ \ mpv %f,
+ \ {View using mplayer}
+ \ mplayer %f,
+ \ {View using ffplay}
+ \ ffplay -fs %c,
+ \ {View using vlc}
+ \ vlc %f,
+ \ {View using Dragon}
+ \ dragon %f,
+"fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.vob,*.flv,*.m2v,*.mov,*.webm,*.ts,*.m4v
+" \ vifmimg videopreview %px %py %pw %ph %c
+" \ %pc
+" \ vifmimg clear
+" "\ ffprobe -pretty %c 2>&1
+" }}}
+" --- Web ----- {{{
+filextype *.html,*.htm
+ \ {Open with w3m}
+ \ w3m %f
+ \ {Open with qutebrowser}
+ \ qutebrowser %f &,
+ \ {Open with uzbl}
+ \ uzbl-browser %f %i &,
+filetype *.html,*.htm links, lynx
+" }}}
+" --- Object ----- {{{
+filetype *.o nm %f | less
+" }}}
+" --- Man page ----- {{{
+filetype *.[1-8] man ./%c
+fileviewer *.[1-8] man ./%c | col -b
+" }}}
+" --- Image ----- {{{
+filetype *.bmp,*.jpg,*.jpeg,*.png,*.xpm
+ \ {view in sxiv}
+ \ sxiv -ia %c %d &,
+ \ {View in feh}
+ \ feh %d &,
+fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm
+ \ vifmimg draw %px %py %pw %ph %c
+ \ %pc
+ \ vifmimg clear
+filetype *.gif
+ \ {View in feh}
+ \ feh %d &,
+"fileviewer *.gif
+" \ vifimg gifpreview %px %py %pw %ph %c
+" \ %pc
+" \ vifmimg clear
+" }}}
+" --- MD5 ----- {{{
+filetype *.md5
+ \ {Check MD5 hash sum}
+ \ md5sum -c %f,
+" }}}
+" --- GPG signature ----- {{{
+filetype *.asc
+ \ {Check signature}
+ \ !!gpg --verify %c,
+" }}}
+" --- Torrent ----- {{{
+filetype *.torrent transmission-remote --add %f,
+fileviewer *.torrent transmission-show %c
+" }}}
+" --- FuseZipMount ----- {{{
+filetype *.zip,*.jar,*.war,*.ear,*.oxt
+ \ {Mount with fuse-zip}
+ \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR,
+ \ {View contents}
+ \ zip -sf %c | less,
+ \ {Extract here}
+ \ tar -xf %c,
+fileviewer *.zip,*.jar,*.war,*.ear,*.oxt zip -sf %c
+" }}}
+" --- ArchiveMount ----- {{{
+filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz
+ \ {Mount with archivemount}
+ \ FUSE_MOUNT|archivemount %SOURCE_FILE %DESTINATION_DIR,
+fileviewer *.tgz,*.tar.gz tar -tzf %c
+fileviewer *.tar.bz2,*.tbz2 tar -tjf %c
+fileviewer *.tar.txz,*.txz xz --list %c
+" }}}
+" --- Rar2FsMount and rar archives ----- {{{
+filetype *.rar
+ \ {Mount with rar2fs}
+ \ FUSE_MOUNT|rar2fs %SOURCE_FILE %DESTINATION_DIR,
+fileviewer *.rar unrar v %c
+" }}}
+" --- IsoMount ----- {{{
+filetype *.iso
+ \ {Mount with fuseiso}
+ \ FUSE_MOUNT|fuseiso %SOURCE_FILE %DESTINATION_DIR,
+" }}}
+" --- SshMount ----- {{{
+filetype *.ssh
+ \ {Mount with sshfs}
+ \ FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR,
+" }}}
+" --- FtpMount ----- {{{
+filetype *.ftp
+ \ {Mount with curlftpfs}
+ \ FUSE_MOUNT2|curlftpfs -o ftp_port=-,,disable_eprt %PARAM %DESTINATION_DIR,
+" }}}
+" --- Fuse7z and 7z archives ----- {{{
+filetype *.7z
+ \ {Mount with fuse-7z}
+ \ FUSE_MOUNT|fuse-7z %SOURCE_FILE %DESTINATION_DIR,
+fileviewer *.7z 7z l %c
+" }}}
+" --- Office files ----- {{{
+filextype *.odt,*.doc,*.docx,*.xls,*.xlsx,*.odp,*.pptx libreoffice %f &
+fileviewer *.doc catdoc %c
+fileviewer *.docx, docx2txt.pl %f -
+filetype *.csv,*.xlsx sc-im %c
+fileviewer *.csv sed "s/,,,,/,,-,,/g;s/,,/ /g" %c | column -t | sed "s/ - / /g" | cut -c -%pw
+fileviewer *md,*xml,*.css,*.py,*.c,*.h,*.sh,*.diff,*.tex,*.md,*.bib,*.sty,*.desktop highlight -O ansi %c
+fileviewer *.html w3m -dump %c
+filextype *.html,*.htm firefox %f 2>/dev/null &
+
+fileviewer *.docx docx2txt %c -
+" }}}
+" --- TuDu files ----- {{{
+filetype *.tudu tudu -f %c
+" }}}
+" --- Qt projects ----- {{{
+filextype *.pro qtcreator %f &
+" }}}
+" --- Directories ----- {{{
+fileviewer .*/,*/ tree %f
+fileview */ tree %c -L 1 --dirsfirst
+fileview ../ tree %c -L 1 --dirsfirst
+" }}}
+" --- Previews ----- {{{
+"
+" Explicitly set highlight type for some extensions
+"
+" 256-color terminal
+" fileviewer *.[ch],*.[ch]pp highlight -O xterm256 -s dante --syntax c %c
+" fileviewer Makefile,Makefile.* highlight -O xterm256 -s dante --syntax make %c
+"
+" 16-color terminal
+" fileviewer *.c,*.h highlight -O ansi -s dante %c
+"
+" Or leave it for automatic detection
+"
+" fileviewer * pygmentize -O style=monokai -f console256 -g
+
+" Displaying pictures in terminal
+"
+" fileviewer *.jpg,*.png shellpic %c
+" }}}
+" --- Other File types ----- {{{
+" Open all other files with default system programs (you can also remove all
+" :file[x]type commands above to ensure they don't interfere with system-wide
+" settings). By default all unknown files are opened with 'vi[x]cmd'
+" uncommenting one of lines below will result in ignoring 'vi[x]cmd' option
+" for unknown file types.
+" For *nix:
+ filetype * xdg-open %c
+" For OS X:
+" filetype * open
+" }}}
+" }}}
+" ------------------------------------------------------------------------------
+" What should be saved automatically between vifm runs
+" Like in previous versions of vifm
+" set vifminfo=options,filetypes,commands,bookmarks,dhistory,state,cs
+" Like in vi
+set vifminfo=dhistory,savedirs,chistory,state,tui,shistory,
+ \phistory,fhistory,dirstack,registers,bookmarks
+" ------------------------------------------------------------------------------
+" Various customization examples
+" Use ag (the silver searcher) instead of grep
+" set grepprg=ag\ --line-numbers\ %i\ %a\ %s
+" Add additional place to look for executables
+" let $PATH=$HOME.'/bin/fuse:'.$PATH
+" Block particular shortcut
+"
+" nnoremap <left> <nop>