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