initial
This commit is contained in:
commit
e603db0009
2 files changed
+290
No files matched your search
@@ -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'
|
||||||
|
"" }}}
|
||||||
Reference in new issue
Block a user