Skip to content

Instantly share code, notes, and snippets.

@mschubert
Last active June 6, 2019 18:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mschubert/3b148494be961be8a5ad570955113f66 to your computer and use it in GitHub Desktop.
Save mschubert/3b148494be961be8a5ad570955113f66 to your computer and use it in GitHub Desktop.
.dotfiles
" install plug by
" curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" expand tab with 4 spaces
set expandtab
set shiftwidth=4
set tabstop=4
set smarttab
set autoindent
set number
" save undo file
set nobackup
set undofile
set undodir=~/.config/nvim/undo
" install plugins using :PlugInstall
call plug#begin('~/.config/nvim/plugged')
Plug 'sheerun/vim-wombat-scheme'
Plug 'vim-airline/vim-airline'
Plug 'jalvesaq/Nvim-R'
Plug 'ivan-krukov/vim-snakemake'
Plug 'Valloric/YouCompleteMe' " need to ./install.py in ~/.config/nvim/plugged/YCM
Plug 'airblade/vim-gitgutter'
Plug 'tpope/vim-fugitive'
call plug#end()
" use the wombat theme
colorscheme wombat
" Rmd support for nvim-r
let g:R_assign = 0
let g:R_pdfviewer = "evince"
let g:R_app = "radian"
let g:R_cmd = "R"
let g:R_hl_term = 0 " rtichoke recommendation
let g:R_bracketed_paste = 1 " rtichoke recommendation
vmap <Space> <Plug>RDSendSelection
nmap <Space> <Plug>RDSendLine
# Configuration file for dircolors, a utility to help you set the
# LS_COLORS environment variable used by GNU ls with the --color option.
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Copying and distribution of this file, with or without modification,
# are permitted provided the copyright notice and this notice are preserved.
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
# slackware version of dircolors) are recognized but ignored.
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.
# Below, there should be one TERM entry for each termtype that is colorizable
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM eterm-color
TERM gnome
TERM gnome-256color
TERM hurd
TERM jfbterm
TERM konsole
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mach-gnu-color
TERM mlterm
TERM putty
TERM putty-256color
TERM rxvt
TERM rxvt-256color
TERM rxvt-cygwin
TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM rxvt-unicode-256color
TERM rxvt-unicode256
TERM screen
TERM screen-256color
TERM screen-256color-bce
TERM screen-bce
TERM screen-w
TERM screen.Eterm
TERM screen.rxvt
TERM screen.linux
TERM st
TERM st-256color
TERM terminator
TERM vt100
TERM xterm
TERM xterm-16color
TERM xterm-256color
TERM xterm-88color
TERM xterm-color
TERM xterm-debian
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#NORMAL 00 # no color code at all
#FILE 00 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 01;34 # directory
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 40;33;01 # pipe
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33 # block device driver
CHR 40;33 # character device driver
ORPHAN 01;05;37;41 # orphaned syminks
MISSING 01;05;37;41 # ... and the files they point to
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;32
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# If you use DOS-style suffixes, you may want to uncomment the following:
#.cmd 01;32 # executables (bright green)
#.exe 01;32
#.com 01;32
#.btm 01;32
#.bat 01;32
# Or if you want to colorize scripts even if they do not have the
# executable bit actually set.
#.sh 01;32
#.csh 01;32
# archives or compressed (bright red)
.tar 01;31
.tgz 01;31
.arc 01;31
.arj 01;31
.taz 01;31
.lha 01;31
.lz4 01;31
.lzh 01;31
.lzma 01;31
.tlz 01;31
.txz 01;31
.tzo 01;31
.t7z 01;31
.zip 01;31
.z 01;31
.Z 01;31
.dz 01;31
.gz 01;31
.lrz 01;31
.lz 01;31
.lzo 01;31
.xz 01;31
.bz2 01;31
.bz 01;31
.tbz 01;31
.tbz2 01;31
.tz 01;31
.deb 01;31
.rpm 01;31
.jar 01;31
.war 01;31
.ear 01;31
.sar 01;31
.rar 01;31
.alz 01;31
.ace 01;31
.zoo 01;31
.cpio 01;31
.7z 01;31
.rz 01;31
.cab 01;31
# image formats
.jpg 00;35
.jpeg 00;35
.gif 00;35
.bmp 00;35
.pbm 00;35
.pgm 00;35
.ppm 00;35
.tga 00;35
.xbm 00;35
.xpm 00;35
.tif 00;35
.tiff 00;35
.png 00;35
.svg 00;35
.svgz 00;35
.mng 00;35
.pcx 00;35
.mov 00;35
.mpg 00;35
.mpeg 00;35
.m2v 00;35
.mkv 00;35
.webm 00;35
.ogm 00;35
.mp4 00;35
.m4v 00;35
.mp4v 00;35
.vob 00;35
.qt 00;35
.nuv 00;35
.wmv 00;35
.asf 00;35
.rm 00;35
.rmvb 00;35
.flc 00;35
.avi 00;35
.fli 00;35
.flv 00;35
.gl 00;35
.dl 00;35
.xcf 00;35
.xwd 00;35
.yuv 00;35
.cgm 00;35
.emf 00;35
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 00;35
.anx 00;35
.ogv 00;35
.ogx 00;35
# Document files
.pdf 00;32
.ps 00;32
#.txt 00;32
.patch 00;32
.diff 00;32
#.log 00;32
.tex 00;32
.doc 00;32
# audio formats
.aac 00;36
.au 00;36
.flac 00;36
.m4a 00;36
.mid 00;36
.midi 00;36
.mka 00;36
.mp3 00;36
.mpc 00;36
.ogg 00;36
.ra 00;36
.wav 00;36
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa 00;36
.oga 00;36
.spx 00;36
.xspf 00;36
# bioinf specific
*Makefile 01;35
*Snakefile 01;35
*setup.py 01;35
*configure 01;35
.cmake 01;35
.r 00;33
.R 00;33
.py 00;33
.Rmd 00;33
.Rnw 00;33
.pyc 01;30
.pyo 01;30
.*~ 01;30
.DS_Store 01;30
.backup 01;30
.log 01;30
.aux 01;30
.bbl 01;30
.bcf 01;30
.blg 01;30
.fdb_latexmk 01;30
.fls 01;30
.out 01;30
.run.xml 01;30
.toc 01;30
.xdv 01;30
.fasta 00;36
.fa 00;36
.fastq 00;36
.wig 00;36
.bigwig 00;36
.sam 00;36
.bam 00;36
.bed 00;36
.gff 00;36
.gtf 00;36
.maf 00;36
# Tmux settings
#Prefix is Ctrl-a
set -g prefix C-a
bind C-a send-prefix
unbind C-b
set -sg escape-time 1
set -g base-index 1
setw -g pane-base-index 1
#Mouse works as expected
set -g mouse on
bind -n WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -n WheelDownPane select-pane -t= \; send-keys -M
setw -g monitor-activity on
set -g visual-activity on
set -g mode-keys vi
set -g history-limit 10000
## y and p as in vim
bind Escape copy-mode
unbind p
bind p paste-buffer
bind p run-shell "xclip -sel clip -o | tmux load-buffer - ; tmux paste-buffer"
bind -T copy-mode-vi 'v' send -X begin-selection
bind -T copy-mode-vi 'y' send -X copy-selection
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'xclip -selection clipboard'# >/dev/null'
#bind -T copy-mode-vi 'Space' halfpage-down
#bind -T copy-mode-vi 'Bspace' halfpage-up
# Make Home and End keys work in copy mode
unbind-key -T copy-mode-vi Home
bind-key -T copy-mode-vi Home send -X start-of-line
unbind-key -T copy-mode-vi End
bind-key -T copy-mode-vi End send -X end-of-line
## extra commands for interacting with the ICCCM clipboard
#bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"
#bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
# easy-to-remember split pane commands
bind c new-window -c '#{pane_current_path}'
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind n break-pane
unbind '"'
unbind %
# swap current pane with the next/previous one
bind > swap-pane -D
bind < swap-pane -U
# Switching between windows using Shift+arrows
bind -n S-Right select-window -t :+
bind -n S-Left select-window -t :-
# Set XTerm key bindings
setw -g xterm-keys on
# Set colors
set-option -g default-terminal "screen-256color"
# Set reload key to r
bind r source-file ~/.tmux.conf
# Set the title bar
set -g set-titles on
#set -g set-titles-string '#(whoami) :: #h :: #(curl ipecho.net/plain;echo)'
set -g set-titles-string '#(whoami) :: #h'
# Set status bar
set -g status-bg black
set -g status-fg white
set -g status-interval 5
set -g status-left-length 90
set -g status-right-length 60
#set -g status-left "#[fg=Green]#(whoami)#[fg=white]::#[fg=blue]#(hostname -s)#[fg=white]::#[fg=yellow]#(curl ipecho.net/plain;echo)"
set -g status-left "#[fg=Green]#(whoami)#[fg=white]::#[fg=blue]#(hostname -s)#[fg=white]"
set -g status-justify left
set -g status-right '#[fg=Cyan]#S #[fg=white]%a %d %b %R'
# disable bell
set-option -g bell-action none
set-option -g visual-bell off
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment