commit
						e603db0009
					
				@ -0,0 +1,79 @@ | 
				
			||||
# make mouse useful | 
				
			||||
set -g mode-mouse on | 
				
			||||
set -g mouse-select-pane on | 
				
			||||
 | 
				
			||||
# allow resize bigger than the smallest client | 
				
			||||
set -g aggressive-resize on | 
				
			||||
 | 
				
			||||
# allow setting overrides of C-Up, ..., C-Right, and other stuff possibly... | 
				
			||||
set -g terminal-overrides 'xterm*:smcup@:rmcup@' | 
				
			||||
 | 
				
			||||
# ncurses not polluting scroll history | 
				
			||||
set -g alternate-screen on | 
				
			||||
 | 
				
			||||
# command prefix | 
				
			||||
unbind C-b | 
				
			||||
set -g prefix C-a | 
				
			||||
bind a send-prefix | 
				
			||||
bind-key C-a last-window | 
				
			||||
 | 
				
			||||
# basic settings | 
				
			||||
set -g history-limit 30000 | 
				
			||||
set-option -g default-shell /usr/bin/zsh | 
				
			||||
set-window-option -g utf8 on | 
				
			||||
set -g default-terminal "xterm" | 
				
			||||
 | 
				
			||||
# vi mode | 
				
			||||
set-window-option -g mode-keys vi | 
				
			||||
set-option -g status-keys vi | 
				
			||||
bind-key -t vi-copy 'v' begin-selection | 
				
			||||
bind-key -t vi-copy 'y' copy-selection | 
				
			||||
 | 
				
			||||
# escape mode | 
				
			||||
unbind [ | 
				
			||||
bind Escape copy-mode | 
				
			||||
set -s escape-time 50 | 
				
			||||
 | 
				
			||||
# switch windows | 
				
			||||
bind -r C-j previous-window | 
				
			||||
bind -r C-k next-window | 
				
			||||
 | 
				
			||||
# splitting | 
				
			||||
unbind % | 
				
			||||
unbind '"' | 
				
			||||
bind + split-window -h # horizontal split | 
				
			||||
bind - split-window -v # vertical split | 
				
			||||
bind -n C-h run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-h) || tmux select-pane -L" | 
				
			||||
bind -n C-j run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-j) || tmux select-pane -D" | 
				
			||||
bind -n C-k run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-k) || tmux select-pane -U" | 
				
			||||
bind -n C-l run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-l) || tmux select-pane -R" | 
				
			||||
bind -r j resize-pane -D 2 | 
				
			||||
bind -r k resize-pane -U 2 | 
				
			||||
bind -r h resize-pane -L 2 | 
				
			||||
bind -r l resize-pane -R 2 | 
				
			||||
 | 
				
			||||
# window title | 
				
			||||
set-option -g set-titles on | 
				
			||||
set-option -g set-titles-string '[#H]: #W' | 
				
			||||
set-window-option -g automatic-rename on | 
				
			||||
 | 
				
			||||
# no visual activity | 
				
			||||
set -g visual-activity off | 
				
			||||
set -g visual-bell off | 
				
			||||
 | 
				
			||||
# status bar | 
				
			||||
set-option -g status-utf8 on | 
				
			||||
set-option -g status-justify left | 
				
			||||
set-option -g status-bg black | 
				
			||||
set-option -g status-fg cyan | 
				
			||||
set-option -g status-interval 5 | 
				
			||||
set-option -g status-left-length 30 | 
				
			||||
set -g status-right-length 50 | 
				
			||||
set-option -g status-left '' | 
				
			||||
set-option -g status-right '#[fg=blue,bold]#H [#[fg=black]#(echo ${SSH_CONNECTION%%%% *})#[fg=blue,bold]]#[fg=green,bold]|#[fg=black,bold]#(uptime | rev | cut -d":" -f1 | rev | sed s/,//g ) #[fg=green,bold]| #[fg=blue,bold]%d.%m.%y %H:%M' | 
				
			||||
set-window-option -g window-status-current-fg black | 
				
			||||
set-window-option -g window-status-current-bg green | 
				
			||||
 | 
				
			||||
# clock | 
				
			||||
set-window-option -g clock-mode-colour cyan | 
				
			||||
set-window-option -g clock-mode-style 24 | 
				
			||||
@ -0,0 +1,211 @@ | 
				
			||||
"#################################################################### | 
				
			||||
" .vimrc | 
				
			||||
"#################################################################### | 
				
			||||
 | 
				
			||||
set nocompatible " vi compatibility off | 
				
			||||
scriptencoding utf-8 | 
				
			||||
 | 
				
			||||
"" Vundle | 
				
			||||
filetype off | 
				
			||||
set rtp+=~/.vim/bundle/vundle/ | 
				
			||||
call vundle#rc() | 
				
			||||
 | 
				
			||||
"" filetype plugin and syntax | 
				
			||||
syntax on | 
				
			||||
filetype indent plugin on | 
				
			||||
 | 
				
			||||
"" system | 
				
			||||
set enc=utf-8 | 
				
			||||
set shell=/bin/zsh | 
				
			||||
set spelllang=de | 
				
			||||
set backspace=indent,eol,start | 
				
			||||
 | 
				
			||||
"" single settings | 
				
			||||
set hidden " change buffers without saving | 
				
			||||
set mousehide " no mouse | 
				
			||||
set wildmenu " menu when tab completing commands | 
				
			||||
set nomodeline " ignore modelines | 
				
			||||
set nostartofline " don't move the coursor to the beginning of the line | 
				
			||||
set foldmethod=marker " fold by marker | 
				
			||||
set scrolloff=11 " minimum lines to the screens end | 
				
			||||
set autochdir " always be in the right directory | 
				
			||||
set pastetoggle=<F12> " toggle paste | 
				
			||||
 | 
				
			||||
"" persistent undo and backup | 
				
			||||
set history=1000 | 
				
			||||
set undofile | 
				
			||||
set undodir=~/.backup/ | 
				
			||||
set backup | 
				
			||||
set backupdir=~/.backup/ | 
				
			||||
 | 
				
			||||
"" tabs and stuff | 
				
			||||
set smartindent | 
				
			||||
set shiftwidth=4 | 
				
			||||
set softtabstop=4 | 
				
			||||
set expandtab " use spaces | 
				
			||||
set textwidth=79 | 
				
			||||
 | 
				
			||||
"" search | 
				
			||||
set smartcase | 
				
			||||
set hlsearch | 
				
			||||
set incsearch | 
				
			||||
set showmatch | 
				
			||||
 | 
				
			||||
"#################################################################### | 
				
			||||
" visual style {{{ | 
				
			||||
"#################################################################### | 
				
			||||
"" colorscheme | 
				
			||||
colorscheme desert | 
				
			||||
set background=dark | 
				
			||||
set t_Co=256 " force more colors | 
				
			||||
 | 
				
			||||
"" highlight the current line and column | 
				
			||||
set cul | 
				
			||||
hi CursorLine cterm=NONE ctermbg=234 | 
				
			||||
set cuc | 
				
			||||
hi CursorColumn cterm=NONE ctermbg=234 | 
				
			||||
 | 
				
			||||
"" coloring of linenumbers | 
				
			||||
hi CursorLineNr cterm=bold ctermfg=red | 
				
			||||
hi LineNr ctermfg=blue | 
				
			||||
 | 
				
			||||
"" highlight same words | 
				
			||||
hi flicker cterm=bold ctermbg=234 | 
				
			||||
au CursorMoved <buffer> exe 'match flicker /\V\<'.escape(expand('<cword>'), '/').'\>/' | 
				
			||||
 | 
				
			||||
"" statusbar | 
				
			||||
set cmdheight=2 | 
				
			||||
set laststatus=2 | 
				
			||||
set showcmd | 
				
			||||
 | 
				
			||||
"" linenumbers | 
				
			||||
set relativenumber | 
				
			||||
set ruler | 
				
			||||
autocmd InsertEnter * :setlocal nu | 
				
			||||
autocmd InsertLeave * :setlocal rnu | 
				
			||||
"" }}} | 
				
			||||
 | 
				
			||||
"#################################################################### | 
				
			||||
" general auto commands {{{ | 
				
			||||
"#################################################################### | 
				
			||||
" autoremove trailing whitespace | 
				
			||||
autocmd BufRead,BufWrite * if ! &bin | silent! %s/\s\+$//ge | endif | 
				
			||||
 | 
				
			||||
" salt syntax highlighting | 
				
			||||
au BufRead,BufNewFile *.sls set filetype=sls | 
				
			||||
"" }}} | 
				
			||||
 | 
				
			||||
"#################################################################### | 
				
			||||
" keymaps {{{ | 
				
			||||
"#################################################################### | 
				
			||||
 | 
				
			||||
let mapleader = "," | 
				
			||||
 | 
				
			||||
" jump to visual lines | 
				
			||||
nnoremap j gj | 
				
			||||
nnoremap k gk | 
				
			||||
 | 
				
			||||
" stay in visual after indent | 
				
			||||
vnoremap < <gv | 
				
			||||
vnoremap > >gv | 
				
			||||
 | 
				
			||||
" change Y from yy to y$ | 
				
			||||
map Y y$ | 
				
			||||
 | 
				
			||||
" remove search hl | 
				
			||||
nnoremap <silent><C-C> :nohl<CR> | 
				
			||||
 | 
				
			||||
" NERDtree | 
				
			||||
nnoremap <silent><leader>f :NERDTreeToggle<Cr> | 
				
			||||
 | 
				
			||||
" taglist | 
				
			||||
nnoremap <silent><leader>t :TlistToggle<Cr> | 
				
			||||
 | 
				
			||||
" toggle conversion of buffers to tabs | 
				
			||||
let notabs = 1 | 
				
			||||
nnoremap <silent> <F8> :let notabs=!notabs<Bar>:if notabs<Bar>:tabo<Bar>:else<Bar>:tab ball<Bar>:tabn<Bar>:endif<CR> | 
				
			||||
 | 
				
			||||
" switch buffers | 
				
			||||
nnoremap <silent><Tab> :bn<Cr> | 
				
			||||
nnoremap <silent><S-Tab> :bp<Cr> | 
				
			||||
 | 
				
			||||
" save with sudo | 
				
			||||
cmap w!! w !sudo tee % | 
				
			||||
"" }}} | 
				
			||||
 | 
				
			||||
"#################################################################### | 
				
			||||
" autoinstall vundle {{{ | 
				
			||||
" Credit to: https://github.com/erikzaadi | 
				
			||||
"#################################################################### | 
				
			||||
 | 
				
			||||
" Setting up Vundle - the vim plugin bundler | 
				
			||||
let iCanHazVundle=1 | 
				
			||||
let vundle_readme=expand('~/.vim/bundle/vundle/README.md') | 
				
			||||
if !filereadable(vundle_readme) | 
				
			||||
    echo "Installing Vundle.." | 
				
			||||
    echo "" | 
				
			||||
    silent !mkdir -p ~/.vim/bundle | 
				
			||||
    silent !git clone https://github.com/gmarik/vundle ~/.vim/bundle/vundle | 
				
			||||
    let iCanHazVundle=0 | 
				
			||||
endif | 
				
			||||
set rtp+=~/.vim/bundle/vundle/ | 
				
			||||
call vundle#rc() | 
				
			||||
Bundle 'gmarik/vundle' | 
				
			||||
 | 
				
			||||
if iCanHazVundle == 0 | 
				
			||||
    echo "Installing Bundles, please ignore key map error messages" | 
				
			||||
    echo "" | 
				
			||||
    :BundleInstall | 
				
			||||
endif | 
				
			||||
"" }}} | 
				
			||||
 | 
				
			||||
"#################################################################### | 
				
			||||
" switch vim splits with the same keys as tmux panes. {{{ | 
				
			||||
" Credit to https://github.com/aaronjensen | 
				
			||||
"#################################################################### | 
				
			||||
if exists('$TMUX') | 
				
			||||
    function! TmuxOrSplitSwitch(wincmd, tmuxdir) | 
				
			||||
        let previous_winnr = winnr() | 
				
			||||
        execute "wincmd " . a:wincmd | 
				
			||||
        if previous_winnr == winnr() | 
				
			||||
          " The sleep and & gives time to get back to vim so tmux's focus tracking | 
				
			||||
          " can kick in and send us our ^[[O | 
				
			||||
          execute "silent !sh -c 'sleep 0.01; tmux select-pane -" . a:tmuxdir . "' &" | 
				
			||||
          redraw! | 
				
			||||
        endif | 
				
			||||
    endfunction | 
				
			||||
    let previous_title = substitute(system("tmux display-message -p '#{pane_title}'"), '\n', '', '') | 
				
			||||
    let &t_ti = "\<Esc>]2;vim\<Esc>\\" . &t_ti | 
				
			||||
    let &t_te = "\<Esc>]2;". previous_title . "\<Esc>\\" . &t_te | 
				
			||||
    nnoremap <silent> <C-h> :call TmuxOrSplitSwitch('h', 'L')<cr> | 
				
			||||
    nnoremap <silent> <C-j> :call TmuxOrSplitSwitch('j', 'D')<cr> | 
				
			||||
    nnoremap <silent> <C-k> :call TmuxOrSplitSwitch('k', 'U')<cr> | 
				
			||||
    nnoremap <silent> <C-l> :call TmuxOrSplitSwitch('l', 'R')<cr> | 
				
			||||
else | 
				
			||||
  map <C-h> <C-w>h | 
				
			||||
  map <C-j> <C-w>j | 
				
			||||
  map <C-k> <C-w>k | 
				
			||||
  map <C-l> <C-w>l | 
				
			||||
endif | 
				
			||||
"" }}} | 
				
			||||
 | 
				
			||||
"#################################################################### | 
				
			||||
" bundles and their options {{{ | 
				
			||||
"#################################################################### | 
				
			||||
Bundle 'tpope/vim-fugitive' | 
				
			||||
Bundle 'Lokaltog/vim-easymotion' | 
				
			||||
Bundle 'kien/ctrlp.vim' | 
				
			||||
Bundle 'scrooloose/nerdtree' | 
				
			||||
let NERDTreeShowBookmarks=1 | 
				
			||||
let NERDTreeIgnore=['\.pyc', '\~$', '\.swo$', '\.swp$', '\.git', '\.hg', '\.svn', '\.bzr'] | 
				
			||||
let NERDTreeChDirMode=0 | 
				
			||||
let NERDTreeQuitOnOpen=1 | 
				
			||||
let NERDTreeMouseMode=2 | 
				
			||||
let NERDTreeShowHidden=1 | 
				
			||||
let NERDTreeKeepTreeInNewTab=1 | 
				
			||||
Bundle 'scrooloose/nerdcommenter' | 
				
			||||
Bundle 'vim-scripts/taglist.vim' | 
				
			||||
let Tlist_Use_Right_Window=1 | 
				
			||||
let Tlist_GainFocus_On_ToggleOpen = 1 | 
				
			||||
Bundle 'saltstack/salt-vim' | 
				
			||||
"" }}} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue