From f1096eb90d3ea2c482074b207e64ef828f5a8cc0 Mon Sep 17 00:00:00 2001 From: Gregor Feierabend <23300469@sun.ac.za> Date: Sat, 6 Mar 2021 18:33:52 +0200 Subject: [PATCH] added initial configuration --- .bashrc | 18 ++ .chktexrc | 4 + .compton.conf | 8 + .config/mpv/general.conf | 2 + .config/mpv/input.conf | 40 +++ .config/mpv/script-opts/osc.conf | 1 + .config/vifm/colors/mine.vifm | 24 ++ .config/vifm/vifmrc | 479 +++++++++++++++++++++++++++++++ .config/zathura/zathurarc | 2 + .gitconfig | 8 + .gitignore_global | 172 +++++++++++ .gnuplot | 2 + .muttrc | 88 ++++++ .ratpoisonrc | 19 ++ .tmux.conf | 190 ++++++++++++ .vimrc | 289 +++++++++++++++++++ .xinitrc | 9 + .zlogin | 39 +++ .zshrc | 39 +++ 19 files changed, 1433 insertions(+) create mode 100644 .bashrc create mode 100755 .chktexrc create mode 100644 .compton.conf create mode 100644 .config/mpv/general.conf create mode 100644 .config/mpv/input.conf create mode 100644 .config/mpv/script-opts/osc.conf create mode 100644 .config/vifm/colors/mine.vifm create mode 100755 .config/vifm/vifmrc create mode 100644 .config/zathura/zathurarc create mode 100644 .gitconfig create mode 100644 .gitignore_global create mode 100644 .gnuplot create mode 100644 .muttrc create mode 100644 .ratpoisonrc create mode 100755 .tmux.conf create mode 100644 .vimrc create mode 100755 .xinitrc create mode 100644 .zlogin create mode 100644 .zshrc diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..34dbd8c --- /dev/null +++ b/.bashrc @@ -0,0 +1,18 @@ +# /etc/skel/.bashrc +# +# This file is sourced by all *interactive* bash shells on startup, +# including some apparently interactive shells such as scp and rcp +# that can't tolerate any output. So make sure this doesn't display +# anything or bad things will happen ! + + +# Test for an interactive shell. There is no need to set anything +# past this point for scp and rcp, and it's important to refrain from +# outputting anything in those cases. +if [[ $- != *i* ]] ; then + # Shell is non-interactive. Be done now! + return +fi + + +# Put your fun stuff here. diff --git a/.chktexrc b/.chktexrc new file mode 100755 index 0000000..ae3e445 --- /dev/null +++ b/.chktexrc @@ -0,0 +1,4 @@ +WipeArg +{ + \m:{} \m:[]{} \textrm:{} \mintinline:{}{} +} diff --git a/.compton.conf b/.compton.conf new file mode 100644 index 0000000..1bdf172 --- /dev/null +++ b/.compton.conf @@ -0,0 +1,8 @@ +shadow-opacity = 0.7; +shadow = true; +shadow-radius = 0; +shadow-offset-x = -2; +shadow-offset-y = -2; +shadow-ignore-shaped = true; + +shadow-exclude = [ "name = 'Notification'", "class_g = 'Conky'", "class_g ?= 'Notify-osd'", "class_g = 'Cairo-clock'", "class_g = 'Pqiv'", "class_g = 'slop'", "class_g = 'Firefox'", "name = 'xfce4-notifyd'"]; diff --git a/.config/mpv/general.conf b/.config/mpv/general.conf new file mode 100644 index 0000000..2f73798 --- /dev/null +++ b/.config/mpv/general.conf @@ -0,0 +1,2 @@ +fullscreen=no +audio-device=alsa/btheadset diff --git a/.config/mpv/input.conf b/.config/mpv/input.conf new file mode 100644 index 0000000..0bdd6cc --- /dev/null +++ b/.config/mpv/input.conf @@ -0,0 +1,40 @@ +k run "/bin/sh" "-c" "echo ${working-directory}/${filename} >> /tmp/selection" +Alt+- add video-zoom -0.25 +Alt+= add video-zoom 0.25 + +#https://github.com/nimatrueway/mpv-bookmark-lua-script +Ctrl+1 script_message bookmark-set 1 # `Ctrl+1` will "save current filePath and seekPos to bookmark #1 slot" +Alt+1 script_message bookmark-load 1 # `Alt+2` will "restore current filePath and seekPos from bookmark #1 slot" +Alt+Ctrl+1 script_message bookmark-peek 1 # `Alt+Ctrl+2` will give you a "peek of the filename, its immediate parent directory and seek-pos saved in the bookmark #1 slot" +Ctrl+2 script_message bookmark-set 2 +Alt+2 script_message bookmark-load 2 +Alt+Ctrl+2 script_message bookmark-peek 2 +Ctrl+3 script_message bookmark-set 3 +Alt+3 script_message bookmark-load 3 +Alt+Ctrl+3 script_message bookmark-peek 3 +Ctrl+4 script_message bookmark-set 4 +Alt+4 script_message bookmark-load 4 +Alt+Ctrl+4 script_message bookmark-peek 4 +Ctrl+5 script_message bookmark-set 5 +Alt+5 script_message bookmark-load 5 +Alt+Ctrl+5 script_message bookmark-peek 5 +Ctrl+6 script_message bookmark-set 6 +Alt+6 script_message bookmark-load 6 +Alt+Ctrl+6 script_message bookmark-peek 6 +Ctrl+7 script_message bookmark-set 7 +Alt+7 script_message bookmark-load 7 +Alt+Ctrl+7 script_message bookmark-peek 7 +Ctrl+8 script_message bookmark-set 8 +Alt+8 script_message bookmark-load 8 +Alt+Ctrl+8 script_message bookmark-peek 8 +Ctrl+9 script_message bookmark-set 9 +Alt+9 script_message bookmark-load 9 +Alt+Ctrl+9 script_message bookmark-peek 9 +Ctrl+0 script_message bookmark-set 0 +Alt+0 script_message bookmark-load 0 +Alt+Ctrl+0 script_message bookmark-peek 0 +s script_message bookmark-update # `s` will update last saved/restored bookmark +d script_message bookmark-peek-current # `d` will peek last saved/restored bookmark (lastest saved/restored bookmark is only considered if current file is in the same directory as the bookmark file) +u script_message bookmark-set-undo # `u` will undo/revert last save or update action + +h vf toggle hflip diff --git a/.config/mpv/script-opts/osc.conf b/.config/mpv/script-opts/osc.conf new file mode 100644 index 0000000..1700338 --- /dev/null +++ b/.config/mpv/script-opts/osc.conf @@ -0,0 +1 @@ +layout=box diff --git a/.config/vifm/colors/mine.vifm b/.config/vifm/colors/mine.vifm new file mode 100644 index 0000000..6efe517 --- /dev/null +++ b/.config/vifm/colors/mine.vifm @@ -0,0 +1,24 @@ +highlight clear +highlight Win cterm=none ctermfg=white ctermbg=default +highlight Directory cterm=bold ctermfg=white ctermbg=default +highlight Link cterm=bold ctermfg=yellow ctermbg=default +highlight BrokenLink cterm=bold ctermfg=blue ctermbg=default +highlight Socket cterm=bold ctermfg=magenta ctermbg=default +highlight Device cterm=bold ctermfg=blue ctermbg=default +highlight Fifo cterm=bold ctermfg=cyan ctermbg=default + +highlight Executable cterm=none ctermfg=white ctermbg=default + +highlight Selected cterm=bold ctermfg=magenta ctermbg=default +highlight CurrLine cterm=bold,reverse ctermfg=blue ctermbg=white +highlight TopLine cterm=none ctermfg=black ctermbg=white +highlight TopLineSel cterm=bold ctermfg=black ctermbg=default +highlight StatusLine cterm=bold ctermfg=black ctermbg=white +highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=default +highlight CmdLine cterm=none ctermfg=white ctermbg=default +highlight ErrorMsg cterm=none ctermfg=blue ctermbg=default +highlight Border cterm=none ctermfg=black ctermbg=white +highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white +highlight SuggestBox cterm=bold ctermfg=default ctermbg=default +highlight CmpMismatch cterm=bold ctermfg=white ctermbg=blue +highlight AuxWin cterm=bold,underline,reverse,standout ctermfg=default ctermbg=default diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc new file mode 100755 index 0000000..82bf554 --- /dev/null +++ b/.config/vifm/vifmrc @@ -0,0 +1,479 @@ +" vim: filetype=vifm : +" Sample configuration file for vifm (last updated: 21 January, 2018) +" You can edit this file by hand. +" The " character at the beginning of a line comments out the line. +" Blank lines are ignored. +" The basic format for each item is shown with an example. + +" ------------------------------------------------------------------------------ + +" 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=vim +" set vicmd=elvis\ -G\ termcap +" set vicmd=vile + +" 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). + +" 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 mine + +" 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 - + +" Xournal +filextype *.xoj + \ {View in xournal} + \ xournal %f &, + +" 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,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus + \ mocp %f, +\ mpv --audio-device=pulse --osd-font-size=20 --osd-level=3 %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,*.mpeg,*.vob, + \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, + \*.as[fx] + \ mpv --audio-device=pulse --osd-font-size=20 --osd-level=3 --really-quiet %f &, + \ mplayer %f &, + \ {View using ffplay} + \ ffplay -fs %f, + \ {View using Dragon} + \ dragon %f:p, + \ {View using mplayer} + \ mplayer %f, +fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, + \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, + \*.as[fx] + \ ffprobe -pretty %c 2>&1 + +" Web +filextype *.html,*.htm + \ {Open with dwb} + \ dwb %f %i &, + \ {Open with firefox} + \ firefox %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 + +" Markdown file +filetype *.md + \ typora %f &> /dev/null &, + +" Lyx file +filetype *.lyx + \ lyx %f &> /dev/null &, + +" Images +filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm + \ imv %f &, + \ {View in sxiv} + \ sxiv %f, + \ {View in gpicview} + \ gpicview %c, + \ {View in shotwell} + \ shotwell, +fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm + \ convert -identify %f -verbose /dev/null + +" OpenRaster +filextype *.ora + \ {Edit in MyPaint} + \ mypaint %f, + +" Mindmap +filextype *.vym + \ {Open with VYM} + \ vym %f &, + +" MD5 +filetype *.md5 + \ {Check MD5 hash sum} + \ md5sum -c %f %S, + +" SHA1 +filetype *.sha1 + \ {Check SHA1 hash sum} + \ sha1sum -c %f %S, + +" SHA256 +filetype *.sha256 + \ {Check SHA256 hash sum} + \ sha256sum -c %f %S, + +" SHA512 +filetype *.sha512 + \ {Check SHA512 hash sum} + \ sha512sum -c %f %S, + +" GPG signature +filetype *.asc + \ {Check signature} + \ !!gpg --verify %c, + +" Torrent +filetype *.torrent ktorrent %f & +fileviewer *.torrent dumptorrent -v %c + +" FuseZipMount +filetype *.zip,*.jar,*.war,*.ear,*.oxt,*.apkg + \ {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 +fileviewer *.tar tar -tf %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 %FOREGROUND, + +" FtpMount +filetype *.ftp + \ {Mount with curlftpfs} + \ FUSE_MOUNT2|curlftpfs -o ftp_port=-,,disable_eprt %PARAM %DESTINATION_DIR %FOREGROUND, + +" 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 - + +" TuDu files +filetype *.tudu tudu -f %c + +" Qt projects +filextype *.pro qtcreator %f & + +" Directories +filextype */ + \ {View in thunar} + \ Thunar %f &, + +" Syntax highlighting in preview +" +" 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 + +" 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 +" For OS X: +" filetype * open +" For Windows: +" filetype * start, explorer + +" ------------------------------------------------------------------------------ + +" 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 + +" ------------------------------------------------------------------------------ + +" Examples of configuring both panels + +" Customize view columns a bit (enable ellipsis for truncated file names) +" +" set viewcolumns=-{name}..,6{}. + +" Filter-out build and temporary files +" +" filter! /^.*\.(lo|o|d|class|py[co])$|.*~$/ + +" ------------------------------------------------------------------------------ + +" Sample mappings + +" Start shell in current directory +nnoremap s :shell + +" Display sorting dialog +nnoremap S :sort + +" Toggle visibility of preview window +nnoremap w :view +vnoremap w :viewgv + +" Open file in existing instance of gvim +nnoremap o :!gvim --remote-tab-silent %f +" Open file in new instance of gvim +nnoremap O :!gvim %f + +" Open file in the background using its default program +nnoremap gb :file &l + +" Yank current directory path into the clipboard +nnoremap yd :!echo %d | xclip %i + +" Yank current file path into the clipboard +nnoremap yf :!echo %c:p | xclip %i + +" Mappings for faster renaming +nnoremap I cw +nnoremap cc cw +nnoremap A cw + +" Open console in current directory +nnoremap ,t :!xterm & + +" Open editor to edit vifmrc and apply settings after returning to vifm +nnoremap ,c :write | edit $MYVIFMRC | restart +" Open gvim to edit vifmrc +nnoremap ,C :!gvim --remote-tab-silent $MYVIFMRC & + +" Toggle wrap setting on ,w key +nnoremap ,w :set wrap! + +" Example of standard two-panel file managers mappings +nnoremap :!less %f +nnoremap :edit +nnoremap :copy +nnoremap :move +nnoremap :mkdir +nnoremap :delete + +" ------------------------------------------------------------------------------ + +" 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 diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc new file mode 100644 index 0000000..f2f7d40 --- /dev/null +++ b/.config/zathura/zathurarc @@ -0,0 +1,2 @@ +set first-page-column 1:1 +set scroll-hstep 0 diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..ae71a4d --- /dev/null +++ b/.gitconfig @@ -0,0 +1,8 @@ +[user] + name = Gregor Feierabend + email = 23300469@sun.ac.za +[filesystem "IcedTea|1.8.0_222|/dev/root"] + timestampResolution = 1001 microseconds + minRacyThreshold = 0 nanoseconds +[core] + excludesfile = /home/x/.gitignore_global diff --git a/.gitignore_global b/.gitignore_global new file mode 100644 index 0000000..e846588 --- /dev/null +++ b/.gitignore_global @@ -0,0 +1,172 @@ +###Taken from https://github.com/github/gitignore/tree/master/Global +##Linux +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +##Tags +# Ignore tags created by etags, ctags, gtags (GNU global) and cscope +TAGS +.TAGS +!TAGS/ +tags +.tags +!tags/ +gtags.files +GTAGS +GRTAGS +GPATH +GSYMS +cscope.files +cscope.out +cscope.in.out +cscope.po.out + +##Vim +# Swap +[._]*.s[a-v][a-z] +!*.svg # comment out if you don't need vector files +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim +Sessionx.vim + +# Temporary +.netrwhist +*~ +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ + +##Archives +# It's better to unpack these files and commit the raw source because +# git has its own built in compression methods. +*.7z +*.jar +*.rar +*.zip +*.gz +*.gzip +*.tgz +*.bzip +*.bzip2 +*.bz2 +*.xz +*.lzma +*.cab +*.xar + +# Packing-only formats +*.iso +*.tar + +# Package management formats +*.dmg +*.xpi +*.gem +*.egg +*.deb +*.rpm +*.msi +*.msm +*.msp +*.txz + +##Backup +*.bak +*.gho +*.ori +*.orig +*.tmp + +##Diff +*.patch +*.diff + +##GPG +secring.* + +###Images +## JPEG +#*.jpg +#*.jpeg +#*.jpe +#*.jif +#*.jfif +#*.jfi +# +## JPEG 2000 +#*.jp2 +#*.j2k +#*.jpf +#*.jpx +#*.jpm +#*.mj2 +# +## JPEG XR +#*.jxr +#*.hdp +#*.wdp +# +## Graphics Interchange Format +#*.gif +# +## RAW +#*.raw +# +## Web P +#*.webp +# +## Portable Network Graphics +#*.png +# +## Animated Portable Network Graphics +#*.apng +# +## Multiple-image Network Graphics +#*.mng +# +## Tagged Image File Format +#*.tiff +#*.tif +# +## Scalable Vector Graphics +#*.svg +#*.svgz +# +## Portable Document Format +#*.pdf +# +## X BitMap +#*.xbm +# +## BMP +#*.bmp +#*.dib +# +## ICO +#*.ico +# +## 3D Images +#*.3dm +#*.max + +##Patch +*.orig +*.rej + diff --git a/.gnuplot b/.gnuplot new file mode 100644 index 0000000..8433049 --- /dev/null +++ b/.gnuplot @@ -0,0 +1,2 @@ +set term x11 +set monochrome diff --git a/.muttrc b/.muttrc new file mode 100644 index 0000000..de9755f --- /dev/null +++ b/.muttrc @@ -0,0 +1,88 @@ +#source ~/MAIL/.muttrc +# character set on messages that we send +set send_charset="utf-8" +# if there is no character set given on incoming messages, it is probably windows +set assumed_charset="iso-8859-1" + +# make sure Vim knows mutt is a mail client and that we compose an UTF-8 encoded message +set editor="vim -c 'set syntax=mail ft=mail enc=utf-8'" + +# just scroll one line instead of full page +set menu_scroll=yes + +# we want to see some MIME types inline, see below this code listing for explanation +auto_view application/msword +auto_view application/pdf +auto_view application/vnd.openxml* +auto_view text/html + +set implicit_autoview=yes +set menu_scroll=yes + +# make default search pattern to search in To, Cc and Subject +set simple_search="~f %s | ~C %s | ~s %s" + +# threading preferences, sort by threads +set sort=threads +set strict_threads=yes + +# show spam score (from SpamAssassin only) when reading a message +spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1" +set pager_format = " %C - %[%H:%M] %.20v, %s%* %?H? [%H] ?" + +# do not show all headers, just a few +ignore * +unignore From To Cc Bcc Date Subject +# and in this order +unhdr_order * +hdr_order From: To: Cc: Bcc: Date: Subject: + +# brighten up stuff with colours, for more colouring examples see: +# http://aperiodic.net/phil/configs/mutt/colors +color normal white default +color hdrdefault brightyellow default +color quoted brightyellow default +color quoted1 yellow default +color quoted2 white default +color signature cyan default +color indicator white blue +color error brightred default +color status brightwhite default +color tree brightmagenta default +color tilde blue default +color attachment brightyellow default +color markers brightred default +color message white default +color search brightwhite magenta +color bold brightyellow default +# if you don't like the black progress bar at the bottom of the screen, +# comment out the following line +#color progress white black + +macro index,pager \cb " python3 ~/.local/bin/urlscan" "call urlscan to extract URLs out of a message" +set timeout=30 + +set index_format="%Z %{%Y %b %e %H:%M} %?X?(%X)& ? %-22.22F %.100s %> %5c " + +bind pager "j" next-line +bind pager "k" previous-line +bind pager "G" bottom +bind pager "gg" top +bind index "G" last-entry +bind index "gg" first-entry +bind index "S" sidebar-toggle-visible +bind pager "S" sidebar-toggle-visible +bind index "J" sidebar-next +bind pager "J" sidebar-next +bind index "K" sidebar-prev +bind pager "K" sidebar-prev +bind index "L" sidebar-open +bind pager "L" sidebar-open + +set crypt_use_gpgme=yes + +set tmpdir="~/MAIL/mutttmp/" +set message_cachedir="~/MAIL/muttmcache/" +set header_cache="~/MAIL/mutthcache/" +source ~/MAIL/muttrc.mailboxes +source ~/MAIL/muttrc.aliases diff --git a/.ratpoisonrc b/.ratpoisonrc new file mode 100644 index 0000000..0dfab1b --- /dev/null +++ b/.ratpoisonrc @@ -0,0 +1,19 @@ +set startupmessage 0 +set rudeness 13 + +unbind c +unbind C-c +bind c exec urxvt +bind C-c exec urxvt + +exec fbsetroot -solid black +exec xrdb ~/.Xresources +exec /usr/lib64/xfce4/notifyd/xfce4-notifyd +exec redshift -l -18:33 +exec unclutter -idle 5 -jitter 20 +#exec /usr/bin/xbattbar -a -c -t 2 -I "#333333" -O white -i white -o "#333333" + +#exec /usr/bin/xinput set-button-map 11 1 2 3 5 4 7 6 +#exec /usr/bin/xinput set-prop 11 298 0 + +tmpwm i3 diff --git a/.tmux.conf b/.tmux.conf new file mode 100755 index 0000000..cb8c037 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,190 @@ +# $Id: t-williams.conf,v 1.1 2009/11/02 18:59:28 nicm Exp $ +# +# ~/.tmux.conf - tmux terminal multiplexer config +# Thayer Williams (http://cinderwick.ca) +# "Feel free to do whatever you like with it." + +# I typically start tmux from ~/.xinitrc with the following: +# +# urxvt -e bash -c "tmux attach -d -t mysession" & +# +# and recall it any time thereafter with xbindkeys (Mod4+s): +# +# "urxvt -e bash -c 'tmux attach -d -t mysession'" +# m:0x50 + c:39 +set -g mouse on +#ERROR? setw -g mode-mouse on +bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'" +#bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M" +#bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M" +set -ga terminal-overrides ',xterm*:smcup@:rmcup@' +set -ga terminal-overrides ',urxvt*:smcup@:rmcup@' + +# set prefix key to ctrl+a until I have time to adapt +#EDIT unbind C-b +#EDIT set -g prefix C-a + +# send the prefix to client inside window (ala nested sessions) +#EDIT bind-key a send-prefix + +# toggle last window like screen +bind-key C-a last-window + +# confirm before killing a window or the server +bind-key k confirm kill-window +bind-key K confirm kill-server + +# toggle statusbar +bind-key b set-option status + +# ctrl+left/right cycles thru windows +bind-key -n C-right next +bind-key -n C-left prev + +# open a man page in new window +bind / command-prompt "split-window 'exec man %%'" + +# quick view of processes +bind '~' split-window "exec htop" + +# scrollback buffer n lines +set -g history-limit 20000 + +# listen for activity on all windows +set -g bell-action any + +# on-screen time for display-panes in ms +set -g display-panes-time 2000 + +# start window indexing at one instead of zero +set -g base-index 1 + +# enable wm window titles +set -g set-titles on + +# wm window title string (uses statusbar variables) +set -g set-titles-string "tmux.#I.#W" + +# ThG: set vi mode +set-window-option -g mode-keys vi + +# ThG: force a reload of the .tmux.conf file with Ctrl-a r +unbind r +bind r source-file ~/.tmux.conf + +# sample session initialization +# Start new session with .tmux-conf settings with: tmux attach +# Kill session entirely from a tmux session with: C-a: kill-session + +#new -n bash +#neww -n tab1 'cd ~/; bash' +#neww -n tab2 'cd ~/; bash' +#neww -n tab3 'cd ~/; bash' +#neww -n tab4 'cd ~/; bash' +#neww -n tab5 'cd ~/; bash' +# +#select-window -t 2 + +# Status bar 1 tab-based-------------------------------------------------------------- + +# set -g display-time 3000 +# +# # default statusbar colors +# set -g status-fg black # ThG original was: white +# set -g status-bg white +# set -g status-attr default +# +# # default window title colors +# set-window-option -g window-status-fg black +# set-window-option -g window-status-bg white +# set-window-option -g window-status-attr dim +# +# # active window title colors +# set-window-option -g window-status-current-fg white +# set-window-option -g window-status-current-bg black +# set-window-option -g window-status-current-attr dim +# +# # command/message line colors +# set -g message-fg white +# set -g message-bg black +# set -g message-attr bright +# +# # center align the window list +# set -g status-justify left # centre +# +# # show some useful stats but only when tmux is started +# # outside of Xorg, otherwise dwm statusbar shows these already +# # set -g status-right "" # ThG: conflicts with time display +# set -g status-left "" +# if '[ -z "$DISPLAY" ]' 'set -g status-left "[#[fg=green] #H #[default]]"' +# if '[ -z "$DISPLAY" ]' 'set -g status-right "[ #[fg=magenta]#(cat /proc/loadavg | cut -d \" \" -f 1,2,3)#[default] ][ #[fg=cyan,bright]%a %Y-%m-%d %H:%M #[default]]"' +# if '[ -z "$DISPLAY" ]' 'set -g status-right-length 50' + + +# Status bar 2 non-tab-based cyan color-------------------------------------------------------------- + +set -g display-time 3000 + +# default statusbar colors +set -g status-fg cyan # ThG original was: white +set -g status-bg default +#ERROR? set -g status-attr default + +# default window title colors +#ERROR? set-window-option -g window-status-fg cyan +#ERROR? set-window-option -g window-status-bg default +#ERROR? set-window-option -g window-status-attr dim + +# active window title colors +#ERROR? set-window-option -g window-status-current-fg white +#ERROR? set-window-option -g window-status-current-bg default +#ERROR? set-window-option -g window-status-current-attr bright + +# command/message line colors +#ERROR? et -g message-fg white +#ERROR? et -g message-bg black +#ERROR? et -g message-attr bright + +# center align the window list +set -g status-justify centre # left + +# show some useful stats but only when tmux is started +# outside of Xorg, otherwise dwm statusbar shows these already +# set -g status-right "" # ThG: conflicts with time display +set -g status-left "" +if '[ -z "$DISPLAY" ]' 'set -g status-left "[#[fg=green] #H #[default]]"' +if '[ -z "$DISPLAY" ]' 'set -g status-right "[ #[fg=magenta]#(cat /proc/loadavg | cut -d \" \" -f 1,2,3)#[default] ][ #[fg=cyan,bright]%a %Y-%m-%d %H:%M #[default]]"' +if '[ -z "$DISPLAY" ]' 'set -g status-right-length 50' + +# Maximizing and restoring panes. +unbind + +bind + new-window -d -n tmp \; swap-pane -s tmp.0 \; select-window -t tmp +unbind - +bind - last-window \; swap-pane -s tmp.0 \; kill-window -t tmp + + +## FOUND ON: https://gist.github.com/quentin/ad4eea0d151e132f180e543a14bd3df0 +# selection with mouse copies to clipboard in addition to the default action +unbind-key -n -T copy-mode-vi MouseDragEnd1Pane +bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -sel primary" + +# middle click to paste from the clipboard +unbind-key MouseDown2Pane +bind-key -T root MouseDown2Pane run "tmux set-buffer \"$(xclip -o -sel primary)\"; tmux paste-buffer" + +run-shell ~/tmux-plugins/tmux-resurrect/resurrect.tmux +set -g @resurrect-dir '~/.tmux/resurrect' +set -g @resurrect-capture-pane-contents 'off' +set -g @resurrect-processes 'vifm mutt newsboat' +set -g @resurrect-strategy-vim 'session' + +# pane movement +bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'" +bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" + +#bind-key m switchc -t 'mail' +#bind-key M switchc -t 'cmus' +#bind-key v switchc -t 'vifm' +#bind-key V switchc -t '0' + +bind -n C-k clear-history diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..b30824b --- /dev/null +++ b/.vimrc @@ -0,0 +1,289 @@ +set nocompatible + +execute pathogen#infect() + +syntax enable +filetype plugin on +filetype indent on + +colorscheme noctu + +set colorcolumn=80 +set mouse=a +set term=screen +set undofile +set shiftwidth=4 +set tabstop=4 +set softtabstop=4 +set backspace=indent,eol,start +set cindent +set history=1000 +set showcmd +set incsearch +set nowrap +set nospell +set ruler +set wrap +set breakindent +set showbreak=-----> +set linebreak +set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣ +set textwidth=80 +set tags=./tags,./TAGS,tags,TAGS + +map gn :bn +map gp :bp +"map "zyiw :tjump z +nmap cp :let @" = "in".expand("%") +nnoremap +map :!cscope -Rb:cs reset + +"limit foldtext to 80 characters +fu! FoldText() + return strcharpart(foldtext(), 1, 80) +endf +set foldtext=FoldText() + +"check files for changes frequently +set autoread +"set ut=1000 +"au CursorHold * checktime + +"highlight own types: +au BufRead,BufNewFile *.[ch] let fname = expand(':p:h') . '/types.vim' +au BufRead,BufNewFile *.[ch] if filereadable(fname) +au BufRead,BufNewFile *.[ch] exe 'so ' . fname +au BufRead,BufNewFile *.[ch] endif + +"https://unix.stackexchange.com/questions/60189/how-to-search-the-current-word-in-all-opened-tabs-in-vim +" enables to search in all open buffers with :Search +command! -nargs=1 Find call setqflist([]) | silent + \ execute "bufdo grepadd! '' %" | redraw! +nnoremap :cprevzvzz +nnoremap :cnextzvzz + +"https://stackoverflow.com/questions/9403098/is-it-possible-to-jump-to-the-next-closed-fold-in-vim +nnoremap zj :call NextClosedFold('j') +nnoremap zk :call NextClosedFold('k') + +function! NextClosedFold(dir) + let cmd = 'norm!z' . a:dir + let view = winsaveview() + let [l0, l, open] = [0, view.lnum, 1] + while l != l0 && open + exe cmd + let [l0, l] = [l, line('.')] + let open = foldclosed(l) < 0 + endwhile + if open + call winrestview(view) + endif +endfunction + +"nnoremap zj :call RepeatCmd('call NextClosedFold("j")') +"nnoremap zk :call RepeatCmd('call NextClosedFold("k")') + +"function! RepeatCmd(cmd) range abort +" let n = v:count < 1 ? 1 : v:count +" while n > 0 +" exe a:cmd +" let n -= 1 +" endwhile +"endfunction + +"https://stackoverflow.com/questions/13634826/show-function-name-in-status-line +fun! ShowFuncName() + let lnum = line(".") + let col = col(".") + echohl ModeMsg + echo getline(search("^[^ \t#/]\\{2}.*[^:]\s*$", 'bW')) + echohl None + call search("\\%" . lnum . "l" . "\\%" . col . "c") +endfun +map :call ShowFuncName() + +"https://stackoverflow.com/questions/1054701/get-ctags-in-vim-to-go-to-definition-not-declaration +" setup +if has("cscope") + set csto=0 + set cst + set nocsverb + " add any database in current directory + if filereadable("cscope.out") + cs add cscope.out + " else add database pointed to by environment + elseif $CSCOPE_DB != "" + cs add $CSCOPE_DB + endif + set csverb +endif +" jump to a function declaration +nmap :cs find s =expand("")1 +" show a list of where function is called +nmap :cs find c =expand("") + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +"""""""""""""""""""""""""""""""" PLUGIN SPECIFIC """"""""""""""""""""""""""""""" + +runtime ftplugin/man.vim + +""""""""""""""""""""""""""""""""""" SYNTASTIC """""""""""""""""""""""""""""""""" + +let g:syntastic_mode_map = {"mode": "active"} +let g:syntastic_always_populate_loc_list = 1 +let g:syntastic_auto_loc_list = 0 +let g:syntastic_check_on_open = 0 +let g:syntastic_check_on_wq = 0 +let g:syntastic_auto_jump = 3 +let g:syntastic_aggregate_errors = 1 +let g:syntastic_enable_highlighting = 0 + +let g:syntastic_java_checkers = ['checkstyle', 'javac'] +let g:syntastic_java_checkstyle_classpath = + \ '~/.checkstyle/checkstyle-8.16-all.jar' +let g:syntastic_java_checkstyle_conf_file = '~/.checkstyle/checkstyle.xml' + +let g:syntastic_tex_chktex_args = "-l ~/.chktexrc" + +let g:syntastic_tex_lacheck_quiet_messages = {"regex": ['.*unmatched.*', + \ 'bad character in label.*']} + +map :lprev +map :lnext + +"""""""""""""""""""""""""""""""""""""" VIMUX """"""""""""""""""""""""""""""""""" + +function! REPLsettings(cmd) + call VimuxOpenRunner() + call VimuxSendText(a:cmd."\n") + nmap "vyy:call VimuxSendText(@v)j^ +endfunction + +"autocmd FileType python call REPLsettings("python") +"autocmd FileType R call REPLsettings("R") + +nmap :call VimuxOpenRunner() +nmap :call REPLsettings("") + +"""""""""""""""""""""""""""""""""""" DIFFCHAR """""""""""""""""""""""""""""""""" + +let g:DiggUnit="Char" + +"""""""""""""""""""""""""""""""""" LATEX SUITE """"""""""""""""""""""""""""""""" + +set grepprg=grep\ -nH\ $* + +set modelineexpr + +let g:tex_flavor='latex' +let g:Tex_GotoError=0 + +let g:Tex_Com_mjax = "\\(<++>\\)<++>" +let g:Tex_Com_eq = "$$<++>$$<++>" +let g:Tex_Com_cal = "\\mathcal{<++>}<++>" +let g:Tex_Com_bb = "\\mathbb{<++>}<++>" +let g:Tex_Com_bf = "\\mathbf{<++>}<++>" +let g:Tex_Com_bm = "\begin{bmatrix}<++>\end{bmatrix}<++>" +let g:Tex_Com_vm = "\begin{vmatrix}<++>\end{vmatrix}<++>" +let g:Tex_Com_std = "\\title{}\n\\author{}\n\\date{}\n\\documentclass[a4paper," + \ . "notitlepage]{report}\n\\usepackage[pdftex]{graphicx}\n" + \ . "\\usepackage{amssymb}\n\\usepackage{amsmath}\n" + \ . "\\begin{document}\n\\maketitle\n\<++>\n\\end{document}" + +autocmd BufNewFile,BufRead *.tex set syntax=plaintex +autocmd BufNewFile,BufRead *.tex syntax match Comment "%.*" +autocmd BufNewFile,BufRead *.tex set textwidth=80 + +imap :let b:Imap_FreezeImap = 1 +imap :let b:Imap_FreezeImap = 0 +imap :w:!pdflatex % +nmap :w:!pdflatex --shell-escape % +nmap :!zathura $(basename % .tex).pdf & +imap :w:!biber -E utf8 $(basename % .tex) +nmap :w:!biber -E utf8 $(basename % .tex) +imap + +imap Tex_InsertItemOnThisLine +imap Tex_LeftRight +imap Tex_MathCal +imap Tex_MathBF + +""""""""""""""""""""""""""""""" RAINBOW BRACKETS """"""""""""""""""""""""""""""" + +let g:rainbow_active = 1 + +"let g:rainbow_load_separately = [ +" \ [ '*' , [['(', ')'], ['\[', '\]'], ['{', '}']] ], +" \ [ '*.tex' , [['(', ')'], ['\[', '\]']] ], +" \ [ '*.cpp' , [['(', ')'], ['\[', '\]'], ['{', '}']] ], +" \ [ '*.{html,htm}' , [['(', ')'], ['\[', '\]'], ['{', '}'], ['<\a[^>]*>', +" \']*>']] ], ] +" +"let g:rainbow_ctermfgs = ['lightblue', 'lightgreen', 'magenta', 'yellow'] + +let g:rainbow_conf = { +\ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'], +\ 'ctermfgs': ['lightblue', 'lightgreen', 'magenta', 'yellow'], +\ 'guis': [''], +\ 'cterms': [''], +\ 'operators': '_,_', +\ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', +\ 'start=/{/ end=/}/ fold'], +\ 'separately': { +\ '*': {}, +\ 'markdown': { +\ 'parentheses_options': 'containedin=markdownCode contained', +\ }, +\ 'lisp': { +\ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', +\ 'darkorchid3'], +\ }, +\ 'haskell': { +\ 'parentheses': ['start=/(/ end=/)/ fold', +\ 'start=/\[/ end=/\]/ fold', 'start=/\v\{\ze[^-]/ end=/}/ fold'], +\ }, +\ 'vim': { +\ 'parentheses_options': 'containedin=vimFuncBody', +\ }, +\ 'perl': { +\ 'syn_name_prefix': 'perlBlockFoldRainbow', +\ }, +\ 'stylus': { +\ 'parentheses': ['start=/{/ end=/}/ fold contains=@colorableGroup'], +\ }, +\ 'css': 0, +\ } +\} + +""""""""""""""""""""""""""""""""""" TINY MODE """""""""""""""""""""""""""""""""" + +nmap + +ws +nmap - -ws +nmap > >ws +nmap < <ws +nn