Compare commits
2 commits
44558263b0
...
9183c3b0dc
Author | SHA1 | Date | |
---|---|---|---|
Jannik Beyerstedt | 9183c3b0dc | ||
Jannik Beyerstedt | 6750f1c370 |
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "files/dotfiles"]
|
||||
path = files/dotfiles
|
||||
url = https://git.jannikbeyerstedt.de/jannik/_dotfiles.git
|
4
files/_gitignore_global
Normal file
4
files/_gitignore_global
Normal file
|
@ -0,0 +1,4 @@
|
|||
*~
|
||||
.DS_Store
|
||||
.gdb_history
|
||||
.AppleDouble
|
122
files/_oh-my-zsh/jtbx.zsh-theme
Normal file
122
files/_oh-my-zsh/jtbx.zsh-theme
Normal file
|
@ -0,0 +1,122 @@
|
|||
# vim:ft=zsh ts=2 sw=2 sts=2
|
||||
#
|
||||
# oh-my-zsh theme of Jannik Beyerstedt, based on agnoster, ys and af-magic
|
||||
# Features: git status, username/host (if not default), root indicator, python virtual environment
|
||||
# indicator, display exit code on error
|
||||
#
|
||||
# Usage/ Customisation:
|
||||
# - currently none
|
||||
#
|
||||
# Output: # $status, $venv, user@host $dir $git_status, exit_code
|
||||
# $
|
||||
|
||||
|
||||
|
||||
### Prompt components
|
||||
# Each component will draw itself, and hide itself if no information needs to be shown
|
||||
|
||||
# Status:
|
||||
# - are there background jobs?
|
||||
prompt_status() {
|
||||
local -a symbols
|
||||
|
||||
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙%{$reset_color%}"
|
||||
|
||||
if [[ -n "$symbols" ]] && echo -n "$symbols"
|
||||
}
|
||||
|
||||
# Context: user@hostname (who am I and where am I)
|
||||
prompt_context() {
|
||||
if [[ -n "$SSH_CLIENT" ]]; then
|
||||
if [[ "$USER" != "$DEFAULT_USER" ]]; then
|
||||
echo -n "%{$terminfo[bold]%F{green}%}%n@%m%{$reset_color%}:"
|
||||
else
|
||||
echo -n "%{$terminfo[bold]%F{green}%}@%m%{$reset_color%}:"
|
||||
fi
|
||||
else
|
||||
if [[ "$USER" != "$DEFAULT_USER" ]]; then
|
||||
echo -n "%{$terminfo[bold]%F{green}%}%n%{$reset_color%}:"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Dir: current working directory
|
||||
prompt_dir() {
|
||||
echo -n "%{%F{blue}%}%~%{$reset_color%} "
|
||||
}
|
||||
|
||||
# Virtualenv: current working virtualenv
|
||||
#disable promt manupulation by virtualenv's bin/activate
|
||||
export VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||
|
||||
prompt_virtualenv() {
|
||||
local virtualenv_path="$VIRTUAL_ENV"
|
||||
if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then
|
||||
echo -n "%{%F{yellow}%}(`basename $virtualenv_path`)%{$reset_color%} "
|
||||
fi
|
||||
}
|
||||
|
||||
# Exit Code: display decimal exit code on error
|
||||
prompt_exitcode() {
|
||||
# echo -n "%(?,,C:%{%F{red}%}%?%{$reset_color%})"
|
||||
[[ $RETVAL -ne 0 ]] && echo -n "C:%{%F{red}%}%?%{$reset_color%}"
|
||||
}
|
||||
|
||||
|
||||
# Git: branch/detached head, dirty status
|
||||
prompt_git() {
|
||||
(( $+commands[git] )) || return
|
||||
if [[ "$(git config --get oh-my-zsh.hide-status 2>/dev/null)" = 1 ]]; then
|
||||
return
|
||||
fi
|
||||
local ref dirty mode repo_path
|
||||
|
||||
if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
|
||||
repo_path=$(git rev-parse --git-dir 2>/dev/null)
|
||||
dirty=$(parse_git_dirty)
|
||||
ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git rev-parse --short HEAD 2> /dev/null)"
|
||||
if [[ -n $dirty ]]; then
|
||||
echo -n "%{$terminfo[bold]%F{cyan}%}(%{%F{yellow}%}"
|
||||
else
|
||||
echo -n "%{$terminfo[bold]%F{cyan}%}(%{%F{green}%}"
|
||||
fi
|
||||
|
||||
if [[ -e "${repo_path}/BISECT_LOG" ]]; then
|
||||
mode=" <B>"
|
||||
elif [[ -e "${repo_path}/MERGE_HEAD" ]]; then
|
||||
mode=" >M<"
|
||||
elif [[ -e "${repo_path}/rebase" || -e "${repo_path}/rebase-apply" || -e "${repo_path}/rebase-merge" || -e "${repo_path}/../.dotest" ]]; then
|
||||
mode=" >R>"
|
||||
fi
|
||||
|
||||
setopt promptsubst
|
||||
autoload -Uz vcs_info
|
||||
|
||||
zstyle ':vcs_info:*' enable git
|
||||
zstyle ':vcs_info:*' get-revision true
|
||||
zstyle ':vcs_info:*' check-for-changes true
|
||||
zstyle ':vcs_info:*' stagedstr '✚'
|
||||
zstyle ':vcs_info:*' unstagedstr '●'
|
||||
zstyle ':vcs_info:*' formats ' %u%c'
|
||||
zstyle ':vcs_info:*' actionformats ' %u%c'
|
||||
vcs_info
|
||||
echo -n "${ref/refs\/heads\//}${vcs_info_msg_0_%% }${mode}%{%F{cyan}%})%{$reset_color%} "
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
## Main prompt
|
||||
build_prompt() {
|
||||
RETVAL=$?
|
||||
prompt_status
|
||||
prompt_virtualenv
|
||||
prompt_context
|
||||
prompt_dir
|
||||
prompt_git
|
||||
# prompt_hg
|
||||
prompt_exitcode
|
||||
}
|
||||
|
||||
PROMPT='
|
||||
%{%f%b%k%}$(build_prompt)
|
||||
%{$terminfo[bold]%F{blue}%}$ %{$reset_color%}%{%f%}'
|
332
files/_vimrc
Normal file
332
files/_vimrc
Normal file
|
@ -0,0 +1,332 @@
|
|||
set rtp+=~/.fzf
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" KEY MAPS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
nmap \A :set formatoptions+=a<CR>:echo "autowrap enabled"<CR>
|
||||
nmap \M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
|
||||
nmap \T :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
|
||||
nmap \a :set formatoptions-=a<CR>:echo "autowrap disabled"<CR>
|
||||
|
||||
" Search for the word under the cursor in the current directory
|
||||
nmap <M-k> mo:Ack! "\b<cword>\b" <CR>
|
||||
nmap <Esc>k mo:Ack! "\b<cword>\b" <CR>
|
||||
nmap ˚ mo:Ack! "\b<cword>\b" <CR>
|
||||
nmap <M-S-k> mo:Ggrep! "\b<cword>\b" <CR>
|
||||
nmap <Esc>K mo:Ggrep! "\b<cword>\b" <CR>
|
||||
|
||||
" Fix annoyances in the QuickFix window, like scrolling too much
|
||||
autocmd FileType qf setlocal number nolist scrolloff=0
|
||||
autocmd Filetype qf wincmd J " Makes sure it's at the bottom of the vim window
|
||||
|
||||
" Commands to send common keystrokes using tmux
|
||||
let g:tmux_console_pane = '0:0.0'
|
||||
let g:tmux_server_pane = '0:0.0'
|
||||
function TmuxPaneRepeat()
|
||||
write
|
||||
silent execute ':!tmux send-keys -t' g:tmux_console_pane 'C-p' 'C-j'
|
||||
redraw!
|
||||
endfunction
|
||||
function TmuxPaneClear()
|
||||
silent execute ':!tmux send-keys -t' g:tmux_server_pane 'C-j' 'C-j' 'C-j' 'C-j' 'C-j' 'C-j' 'C-j'
|
||||
redraw!
|
||||
endfunction
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" ABBREVATIONS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Typing `$c` on the command line expands to `:e` + the current path, so it's easy to edit a file in
|
||||
" the same directory as the current file.
|
||||
cnoremap $c e <C-\>eCurrentFileDir()<CR>
|
||||
function! CurrentFileDir()
|
||||
return "e " . expand("%:p:h") . "/"
|
||||
endfunction
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" OPTIONS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
set autoindent " Carry over indenting from previous line
|
||||
set autoread " Don't bother me when a file changes
|
||||
set autowrite " Write on :next/:prev/^Z
|
||||
set backspace=indent,eol,start
|
||||
" Allow backspace beyond insertion point
|
||||
set cindent " Automatic program indenting
|
||||
set cinkeys-=0# " Comments don't fiddle with indenting
|
||||
set cino= " See :h cinoptions-values
|
||||
set commentstring=\ \ #%s " When folds are created, add them to this
|
||||
set copyindent " Make autoindent use the same chars as prev line
|
||||
set directory-=. " Don't store temp files in cwd
|
||||
set encoding=utf8 " UTF-8 by default
|
||||
set expandtab " No tabs
|
||||
set fileformats=unix,dos,mac " Prefer Unix
|
||||
set fillchars=vert:\ ,stl:\ ,stlnc:\ ,fold:-,diff:┄
|
||||
" Unicode chars for diffs/folds, and rely on
|
||||
" Colors for window borders
|
||||
silent! set foldmethod=marker " Use braces by default
|
||||
set formatoptions=tcqn1 " t - autowrap normal text
|
||||
" c - autowrap comments
|
||||
" q - gq formats comments
|
||||
" n - autowrap lists
|
||||
" 1 - break _before_ single-letter words
|
||||
" 2 - use indenting from 2nd line of para
|
||||
set hidden " Don't prompt to save hidden windows until exit
|
||||
set history=200 " How many lines of history to save
|
||||
set hlsearch " Hilight searching
|
||||
set ignorecase " Case insensitive
|
||||
set incsearch " Search as you type
|
||||
set infercase " Completion recognizes capitalization
|
||||
set laststatus=2 " Always show the status bar
|
||||
set linebreak " Break long lines by word, not char
|
||||
set list " Show whitespace as special chars - see listchars
|
||||
set listchars=tab:»\ ,extends:›,precedes:‹,nbsp:·,trail:· " Unicode characters for various things
|
||||
set matchtime=2 " Tenths of second to hilight matching paren
|
||||
set modelines=5 " How many lines of head & tail to look for ml's
|
||||
silent! set mouse=nvc " Use the mouse, but not in insert mode
|
||||
set nobackup " No backups left after done editing
|
||||
set number " Show line numbers to start
|
||||
set visualbell t_vb= " No flashing or beeping at all
|
||||
set nowritebackup " No backups made while editing
|
||||
set ruler " Show row/col and percentage
|
||||
set scroll=4 " Number of lines to scroll with ^U/^D
|
||||
set scrolloff=15 " Keep cursor away from this many chars top/bot
|
||||
set sessionoptions-=options " Don't save runtimepath in Vim session (see tpope/vim-pathogen docs)
|
||||
set shiftround " Shift to certain columns, not just n spaces
|
||||
set shiftwidth=2 " Number of spaces to shift for autoindent or >,<
|
||||
set shortmess+=A " Don't bother me when a swapfile exists
|
||||
set showbreak= " Show for lines that have been wrapped, like Emacs
|
||||
set showmatch " Hilight matching braces/parens/etc.
|
||||
set sidescrolloff=3 " Keep cursor away from this many chars left/right
|
||||
set smartcase " Lets you search for ALL CAPS
|
||||
set softtabstop=2 " Spaces 'feel' like tabs
|
||||
set suffixes+=.pyc " Ignore these files when tab-completing
|
||||
set tabstop=2 " The One True Tab
|
||||
set textwidth=100 " 100 is the new 80
|
||||
set notitle " Don't set the title of the Vim window
|
||||
set wildmenu " Show possible completions on command line
|
||||
set wildmode=list:longest,full " List all options and complete
|
||||
set wildignore=*.class,*.o,*~,*.pyc,.git,node_modules " Ignore certain files in tab-completion
|
||||
|
||||
" Essential for filetype plugins.
|
||||
filetype plugin indent on
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" CUSTOM COMMANDS AND FUNCTIONS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" PLUGIN SETTINGS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Use Pathogen for plugin management. See update.sh in this directory.
|
||||
runtime bundle/vim-pathogen/autoload/pathogen.vim
|
||||
call pathogen#infect()
|
||||
call pathogen#helptags()
|
||||
|
||||
" GitGutter styling to use · instead of +/-
|
||||
let g:gitgutter_sign_added = '∙'
|
||||
let g:gitgutter_sign_modified = '∙'
|
||||
let g:gitgutter_sign_removed = '∙'
|
||||
let g:gitgutter_sign_modified_removed = '∙'
|
||||
|
||||
" ALE
|
||||
let g:ale_sign_warning = '▲'
|
||||
let g:ale_sign_error = '✗'
|
||||
highlight link ALEWarningSign String
|
||||
highlight link ALEErrorSign Title
|
||||
|
||||
" Lightline
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'wombat',
|
||||
\ 'active': {
|
||||
\ 'left': [['mode', 'paste'], ['filename', 'modified']],
|
||||
\ 'right': [['lineinfo'], ['percent'], ['readonly', 'linter_warnings', 'linter_errors', 'linter_ok']]
|
||||
\ },
|
||||
\ 'component_expand': {
|
||||
\ 'linter_warnings': 'LightlineLinterWarnings',
|
||||
\ 'linter_errors': 'LightlineLinterErrors',
|
||||
\ 'linter_ok': 'LightlineLinterOK'
|
||||
\ },
|
||||
\ 'component_type': {
|
||||
\ 'readonly': 'error',
|
||||
\ 'linter_warnings': 'warning',
|
||||
\ 'linter_errors': 'error'
|
||||
\ },
|
||||
\ }
|
||||
function! LightlineLinterWarnings() abort
|
||||
let l:counts = ale#statusline#Count(bufnr(''))
|
||||
let l:all_errors = l:counts.error + l:counts.style_error
|
||||
let l:all_non_errors = l:counts.total - l:all_errors
|
||||
return l:counts.total == 0 ? '' : printf('%d ◆', all_non_errors)
|
||||
endfunction
|
||||
function! LightlineLinterErrors() abort
|
||||
let l:counts = ale#statusline#Count(bufnr(''))
|
||||
let l:all_errors = l:counts.error + l:counts.style_error
|
||||
let l:all_non_errors = l:counts.total - l:all_errors
|
||||
return l:counts.total == 0 ? '' : printf('%d ✗', all_errors)
|
||||
endfunction
|
||||
function! LightlineLinterOK() abort
|
||||
let l:counts = ale#statusline#Count(bufnr(''))
|
||||
let l:all_errors = l:counts.error + l:counts.style_error
|
||||
let l:all_non_errors = l:counts.total - l:all_errors
|
||||
return l:counts.total == 0 ? '✓ ' : ''
|
||||
endfunction
|
||||
|
||||
" Update and show lightline but only if it's visible (e.g., not in Goyo)
|
||||
autocmd User ALELint call s:MaybeUpdateLightline()
|
||||
function! s:MaybeUpdateLightline()
|
||||
if exists('#lightline')
|
||||
call lightline#update()
|
||||
end
|
||||
endfunction
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" COLORS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Make sure colored syntax mode is on, and make it Just Work with 256-color terminals.
|
||||
set background=dark
|
||||
let g:rehash256 = 1 " Something to do with Molokai?
|
||||
" colorscheme molokai
|
||||
if !has('gui_running')
|
||||
if $TERM == "xterm-256color" || $TERM == "screen-256color" || $COLORTERM == "gnome-terminal"
|
||||
set t_Co=256
|
||||
elseif has("terminfo")
|
||||
colorscheme default
|
||||
set t_Co=8
|
||||
set t_Sf=[3%p1%dm
|
||||
set t_Sb=[4%p1%dm
|
||||
else
|
||||
colorscheme default
|
||||
set t_Co=8
|
||||
set t_Sf=[3%dm
|
||||
set t_Sb=[4%dm
|
||||
endif
|
||||
" Disable Background Color Erase when within tmux - https://stackoverflow.com/q/6427650/102704
|
||||
if $TMUX != ""
|
||||
set t_ut=
|
||||
endif
|
||||
endif
|
||||
|
||||
syntax on
|
||||
|
||||
" Window splits & ruler are too bright, so change to white on grey (non-GUI)
|
||||
highlight StatusLine cterm=NONE ctermbg=blue ctermfg=white
|
||||
highlight StatusLineTerm cterm=NONE ctermbg=blue ctermfg=white
|
||||
highlight StatusLineNC cterm=NONE ctermbg=black ctermfg=white
|
||||
highlight StatusLineTermNC cterm=NONE ctermbg=black ctermfg=white
|
||||
highlight VertSplit cterm=NONE ctermbg=black ctermfg=white
|
||||
|
||||
" taglist.vim's filenames is linked to LineNr by default, which is too dark
|
||||
highlight def link MyTagListFileName Statement
|
||||
highlight def link MyTagListTagName Question
|
||||
|
||||
" Turn off horrible coloring for CDATA in XML
|
||||
highlight def link xmlCdata NONE
|
||||
|
||||
" Some custom spell-checking colors
|
||||
"highlight SpellBad term=underline cterm=underline ctermbg=NONE ctermfg=205
|
||||
"highlight SpellCap term=underline cterm=underline ctermbg=NONE ctermfg=33
|
||||
"highlight SpellRare term=underline cterm=underline ctermbg=NONE ctermfg=217
|
||||
"highlight SpellLocal term=underline cterm=underline ctermbg=NONE ctermfg=72
|
||||
|
||||
" The Ignore color should be... ignorable
|
||||
silent! highlight Ignore cterm=bold ctermfg=black ctermbg=bg
|
||||
highlight clear FoldColumn
|
||||
highlight def link FoldColumn Ignore
|
||||
highlight clear Folded
|
||||
highlight link Folded Ignore
|
||||
highlight clear LineNr
|
||||
highlight! def link LineNr Ignore
|
||||
|
||||
" Custom search colors
|
||||
highlight clear Search
|
||||
highlight Search term=NONE cterm=NONE ctermfg=white ctermbg=black
|
||||
|
||||
" Make hilighted matching parents less annoying
|
||||
highlight clear MatchParen
|
||||
highlight link MatchParen Search
|
||||
|
||||
" Custom colors for NERDTree
|
||||
highlight def link NERDTreeRO NERDTreeFile
|
||||
|
||||
" Make trailing spaces very visible
|
||||
"highlight SpecialKey ctermbg=Yellow guibg=Yellow
|
||||
|
||||
" Make menu selections visible
|
||||
highlight PmenuSel ctermfg=black ctermbg=magenta
|
||||
|
||||
" The sign column slows down remote terminals
|
||||
highlight clear SignColumn
|
||||
highlight link SignColumn Ignore
|
||||
|
||||
" Markdown could be more fruit salady
|
||||
highlight link markdownH1 PreProc
|
||||
highlight link markdownH2 PreProc
|
||||
highlight link markdownLink Character
|
||||
highlight link markdownBold String
|
||||
highlight link markdownItalic Statement
|
||||
highlight link markdownCode Delimiter
|
||||
highlight link markdownCodeBlock Delimiter
|
||||
highlight link markdownListMarker Todo
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" FILE TYPE TRIGGERS
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Reset all autocommands
|
||||
augroup vimrc
|
||||
autocmd!
|
||||
|
||||
au BufNewFile,BufRead *.cson set ft=coffee
|
||||
au BufNewFile,BufRead *.glsl setf glsl
|
||||
au BufNewFile,BufRead *.gyp set ft=python
|
||||
au BufNewFile,BufRead *.html setlocal nocindent smartindent
|
||||
au BufNewFile,BufRead *.i7x setf inform7
|
||||
au BufNewFile,BufRead *.ini setf conf
|
||||
au BufNewFile,BufRead *.input setf gnuplot
|
||||
au BufNewFile,BufRead *.json set ft=json tw=0
|
||||
au BufNewFile,BufRead *.less setlocal ft=less nocindent smartindent
|
||||
au BufNewFile,BufRead *.md setlocal ft=markdown nolist
|
||||
au BufNewFile,BufRead *.md,*.markdown setlocal foldlevel=999 tw=0 nocin
|
||||
au BufNewFile,BufRead *.ni setlocal ft=inform nolist ts=2 sw=2 noet
|
||||
au BufNewFile,BufRead *.plist setf xml
|
||||
au BufNewFile,BufRead *.rb setlocal noai
|
||||
au BufNewFile,BufRead *.rxml setf ruby
|
||||
au BufNewFile,BufRead *.sass setf sass
|
||||
au BufNewFile,BufRead *.ttml setf xml
|
||||
au BufNewFile,BufRead *.vert,*.frag set ft=glsl
|
||||
au BufNewFile,BufRead *.xml setlocal ft=xml ts=2 sw=2 et
|
||||
au BufNewFile,BufRead *.zone setlocal nolist ts=4 sw=4 noet
|
||||
au BufNewFile,BufRead *.zsh setf zsh
|
||||
au BufNewFile,BufRead *templates/*.html setf htmldjango
|
||||
au BufNewFile,BufRead .git/config setlocal ft=gitconfig nolist ts=4 sw=4 noet
|
||||
au BufNewFile,BufRead .gitconfig* setlocal ft=gitconfig nolist ts=4 sw=4 noet
|
||||
au BufNewFile,BufRead .vimlocal,.gvimlocal setf vim
|
||||
au BufNewFile,BufRead .zshlocal setf zsh
|
||||
au BufNewFile,BufRead /tmp/crontab* setf crontab
|
||||
au BufNewFile,BufRead COMMIT_EDITMSG setlocal nolist nonumber
|
||||
au BufNewFile,BufRead Makefile setlocal nolist
|
||||
|
||||
au FileType gitcommit setlocal nolist ts=4 sts=4 sw=4 noet
|
||||
au FileType inform7 setlocal nolist tw=0 ts=4 sw=4 noet foldlevel=999
|
||||
au FileType json setlocal conceallevel=0 foldmethod=syntax foldlevel=999
|
||||
au FileType make setlocal nolist ts=4 sts=4 sw=4 noet
|
||||
au FileType markdown syn sync fromstart
|
||||
au Filetype gitcommit setlocal tw=80
|
||||
|
||||
augroup END
|
||||
|
||||
" ----------------------------------------------------------------------------
|
||||
" HOST-SPECIFIC VIM FILE
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Now load specifics to this host
|
||||
if filereadable(expand("~/.vimlocal"))
|
||||
source ~/.vimlocal
|
||||
endif
|
||||
|
||||
" vim:set tw=100:
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 4f8802334f8793e056dfe842657c67765d1fae9f
|
10
files/vim.md
Normal file
10
files/vim.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
# Notes on VIM customization
|
||||
basics copied from <https://statico.github.io/vim3.html>
|
||||
|
||||
## used VIM plugins:
|
||||
- Pathogen https://github.com/tpope/vim-pathogen
|
||||
- Lightline: see https://vimawesome.com/plugin/lightline-vim
|
||||
- ALE: see https://vimawesome.com/plugin/ale
|
||||
- vim-gitgutter: see https://vimawesome.com/plugin/vim-gitgutter
|
||||
- vim-polyglot: see https://vimawesome.com/plugin/vim-polyglot
|
||||
- commentery: see https://vimawesome.com/plugin/commentary-vim
|
|
@ -42,21 +42,22 @@
|
|||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
with_items:
|
||||
- { src: "{{ role_path }}/files/dotfiles/_gitignore_global", dest: ".gitignore_global" }
|
||||
- { src: "{{ role_path }}/files/dotfiles/_tmux.conf", dest: ".tmux.conf" }
|
||||
- { src: "{{ role_path }}/files/dotfiles/_vimrc", dest: ".vimrc" }
|
||||
- { src: "{{ role_path }}/files/dotfiles/_oh-my-zsh/custom/themes/agnoster.zsh-theme", dest: ".oh-my-zsh/custom/themes/agnoster.zsh-theme" }
|
||||
- { src: "{{ role_path }}/files/dotfiles/_oh-my-zsh/custom/themes/jtbx.zsh-theme", dest: ".oh-my-zsh/custom/themes/jtbx.zsh-theme" }
|
||||
- { src: "{{ role_path }}/files/_gitignore_global", dest: ".gitignore_global" }
|
||||
- { src: "{{ role_path }}/files/_vimrc", dest: ".vimrc" }
|
||||
- { src: "{{ role_path }}/files/_oh-my-zsh/jtbx.zsh-theme", dest: ".oh-my-zsh/custom/themes/jtbx.zsh-theme" }
|
||||
- name: usersettings - Set zshrc
|
||||
template:
|
||||
src: "{{ role_path }}/templates/_zshrc.j2"
|
||||
dest: "{{ ansible_user_dir }}/.zshrc"
|
||||
when: usersetup_gitconfig == true
|
||||
- name: usersettings - Set global gitconfig
|
||||
template:
|
||||
src: "{{ role_path }}/templates/_gitconfig.j2"
|
||||
dest: "{{ ansible_user_dir }}/.gitconfig"
|
||||
when: usersetup_gitconfig == true
|
||||
- name: usersettings - Set tmux.conf
|
||||
template:
|
||||
src: "{{ role_path }}/templates/_tmux.conf.j2"
|
||||
dest: "{{ ansible_user_dir }}/.tmux.conf"
|
||||
|
||||
- name: usersettings - Create .vim directory
|
||||
file:
|
||||
|
|
55
templates/_tmux.conf.j2
Normal file
55
templates/_tmux.conf.j2
Normal file
|
@ -0,0 +1,55 @@
|
|||
# remap prefix to Ctrl + a
|
||||
set -g prefix C-a
|
||||
unbind C-b
|
||||
bind C-a send-prefix
|
||||
|
||||
# force a reload of the config file
|
||||
unbind r
|
||||
bind r source-file ~/.tmux.conf
|
||||
|
||||
# shorter timing
|
||||
set -g repeat-time 200
|
||||
|
||||
{% if not (ansible_distribution == "CentOS" and ansible_distribution_major_version|int <= 7) %}
|
||||
# configure mouse
|
||||
setw -g mouse on
|
||||
{% endif %}
|
||||
|
||||
# don't rename windows automatically
|
||||
set-option -g allow-rename off
|
||||
|
||||
# set some other options
|
||||
setw -g mode-keys vi
|
||||
set -g default-terminal "screen-256color"
|
||||
|
||||
# use index from 1 for easier typing/ switching
|
||||
set -g base-index 1
|
||||
setw -g pane-base-index 1
|
||||
|
||||
# status bar
|
||||
#set -g status-right '#[fg=white]#(hostname)@#(host `hostname` | cut -d " " -f 4)'
|
||||
set-window-option -g status-left " #S "
|
||||
{% if ansible_distribution == "CentOS" and ansible_distribution_major_version|int <= 7 %}
|
||||
set-window-option -g status-left-fg black
|
||||
set-window-option -g status-left-bg white
|
||||
{% else %}
|
||||
set-window-option -g status-left-style fg=black,bg=white
|
||||
{% endif %}
|
||||
|
||||
set-window-option -g status-right " %H:%M %Y-%m-%d | #(hostname) "
|
||||
{% if ansible_distribution == "CentOS" and ansible_distribution_major_version|int <= 7 %}
|
||||
set-window-option -g status-right-fg black
|
||||
set-window-option -g status-right-bg white
|
||||
{% else %}
|
||||
set-window-option -g status-right-style fg=black,bg=white
|
||||
{% endif %}
|
||||
|
||||
set-window-option -g window-status-format " #I: #W "
|
||||
|
||||
set-window-option -g window-status-current-format " #I: #W "
|
||||
{% if ansible_distribution == "CentOS" and ansible_distribution_major_version|int <= 7 %}
|
||||
set-window-option -g window-status-current-fg green
|
||||
set-window-option -g window-status-current-bg black
|
||||
{% else %}
|
||||
set-window-option -g window-status-current-style fg=green,bg=black
|
||||
{% endif %}
|
Loading…
Reference in a new issue