242 lines
		
	
	
	
		
			7.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			242 lines
		
	
	
	
		
			7.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
"modified default vifm configuration. Most of this is from the vifm defaults.
 | 
						|
"Copyright 2018 TheToric
 | 
						|
"
 | 
						|
"This program is free software: you can redistribute it and/or modify
 | 
						|
"it under the terms of the GNU General Public License as published by
 | 
						|
"the Free Software Foundation, either version 3 of the License, or
 | 
						|
"(at your option) any later version.
 | 
						|
"
 | 
						|
"This program is distributed in the hope that it will be useful,
 | 
						|
"but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
"GNU General Public License for more details.
 | 
						|
"
 | 
						|
"You should have received a copy of the GNU General Public License
 | 
						|
"along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
 | 
						|
" This is the actual command used to start vi.  The default is vim.
 | 
						|
" If you would like to use another vi clone such as Elvis or Vile
 | 
						|
" you will need to change this setting.
 | 
						|
 | 
						|
set vicmd=nvim
 | 
						|
 | 
						|
"general settings
 | 
						|
	" This makes vifm perform file operations on its own instead of relying on
 | 
						|
	" standard utilities like `cp`.  While using `cp` and alike is a more universal
 | 
						|
	" solution, it's also much slower and doesn't support progress measuring.
 | 
						|
 | 
						|
	set syscalls
 | 
						|
 | 
						|
	" 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
 | 
						|
 | 
						|
	" 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 with
 | 
						|
	" 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 vim.txt help file set vimhelp.
 | 
						|
	" If would rather use a plain text help file set novimhelp.
 | 
						|
 | 
						|
	set novimhelp
 | 
						|
 | 
						|
	" If you would like to run an executable file when you
 | 
						|
	" press return on the file name set this.
 | 
						|
 | 
						|
	set norunexec
 | 
						|
 | 
						|
	" Selected color scheme
 | 
						|
 | 
						|
	colorscheme Default
 | 
						|
 | 
						|
	" 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
 | 
						|
 | 
						|
	" Show list of matches on tab completion in command-line mode
 | 
						|
 | 
						|
	set wildmenu
 | 
						|
 | 
						|
	" Display completions in a form of popup with descriptions of the matches
 | 
						|
 | 
						|
	set wildstyle=popup
 | 
						|
 | 
						|
	" Display suggestions in normal, visual and view modes for keys, marks and
 | 
						|
	" registers (at most 5 files).  In other view, when available.
 | 
						|
 | 
						|
	set suggestoptions=normal,visual,view,otherpane,keys,marks,registers
 | 
						|
 | 
						|
	" Ignore case in search patterns unless it contains at least one uppercase
 | 
						|
	" letter
 | 
						|
 | 
						|
	set ignorecase
 | 
						|
	set smartcase
 | 
						|
 | 
						|
	" Don't highlight search results automatically
 | 
						|
 | 
						|
	set nohlsearch
 | 
						|
 | 
						|
	" Use increment searching (search while typing)
 | 
						|
	set incsearch
 | 
						|
 | 
						|
	" Try to leave some space from cursor to upper/lower border in lists
 | 
						|
 | 
						|
	set scrolloff=4
 | 
						|
 | 
						|
	" Don't do too many requests to slow file systems
 | 
						|
 | 
						|
	if !has('win')
 | 
						|
		set slowfs=curlftpfs
 | 
						|
	endif
 | 
						|
 | 
						|
	" Set custom status line look
 | 
						|
 | 
						|
	set statusline="  Hint: %z%= %A %10u:%-7g %15s %20d  "
 | 
						|
 | 
						|
 | 
						|
	" :mark mark /full/directory/path [filename]
 | 
						|
 | 
						|
	mark b ~/bin/
 | 
						|
	mark h ~/
 | 
						|
 | 
						|
" :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
 | 
						|
 | 
						|
	command! df df -h %m 2> /dev/null
 | 
						|
	command! diff vim -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 vim "+grep %a"
 | 
						|
	command! reload :write | restart
 | 
						|
 | 
						|
 | 
						|
" 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
 | 
						|
	filextype *.pdf zathura %c %i &, apvlv %c, xpdf %c
 | 
						|
	fileviewer *.pdf pdftotext -nopgbrk %c -
 | 
						|
 | 
						|
	"Image
 | 
						|
	fileviewer *.png,*jpeg,*jpg img2txt --width=100 %c
 | 
						|
 | 
						|
	"previewing html docs
 | 
						|
	fileviewer *.html w3m %c
 | 
						|
 | 
						|
 | 
						|
 | 
						|
	" 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
 | 
						|
 | 
						|
" ------------------------------------------------------------------------------
 | 
						|
 | 
						|
" 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,bmarks
 | 
						|
 | 
						|
" Sample mappings
 | 
						|
 | 
						|
" Start shell in current directory
 | 
						|
nnoremap s :shell<cr>
 | 
						|
 | 
						|
" Display sorting dialog
 | 
						|
nnoremap S :sort<cr>
 | 
						|
 | 
						|
" Toggle visibility of preview window
 | 
						|
nnoremap w :view<cr>
 | 
						|
vnoremap w :view<cr>gv
 | 
						|
 | 
						|
" Open file in the background using its default program
 | 
						|
nnoremap gb :file &<cr>l
 | 
						|
 | 
						|
" Yank current directory path into the clipboard
 | 
						|
nnoremap yd :!echo %d | xclip %i<cr>
 | 
						|
 | 
						|
" Yank current file path into the clipboard
 | 
						|
nnoremap yf :!echo %c:p | xclip %i<cr>
 | 
						|
 | 
						|
" Mappings for faster renaming
 | 
						|
nnoremap I cw<c-a>
 | 
						|
nnoremap cc cw<c-u>
 | 
						|
nnoremap A cw
 | 
						|
 | 
						|
" Open editor to edit vifmrc and apply settings after returning to vifm
 | 
						|
nnoremap ,c :write | edit $MYVIFMRC | restart<cr>
 | 
						|
 | 
						|
" Toggle wrap setting on ,w key
 | 
						|
nnoremap ,w :set wrap!<cr>
 | 
						|
 | 
						|
" ------------------------------------------------------------------------------
 | 
						|
 | 
						|
" Various customization examples
 | 
						|
 | 
						|
" Use ag (the silver searcher) instead of grep
 | 
						|
"
 | 
						|
" set grepprg=ag\ --line-numbers\ %i\ %a\ %s
 | 
						|
" nnoremap <left> <nop>
 |