Started rewriting .vimrc.
This commit is contained in:
209
vim/vimrc
209
vim/vimrc
@@ -1,81 +1,158 @@
|
|||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
" 01 important
|
||||||
" Filename: .vimrc "
|
" 02 moving around, searching and patterns
|
||||||
" Maintainer: Michael J. Smalley <michaeljsmalley@gmail.com> "
|
" 03 tags
|
||||||
" URL: http://github.com/michaeljsmalley/dotfiles "
|
" 04 displaying text
|
||||||
" "
|
" 05 syntax, highlighting and spelling
|
||||||
" "
|
" 06 multiple windows
|
||||||
" Sections: "
|
" 07 multiple tab pages
|
||||||
" 01. General ................. General Vim behavior "
|
" 08 terminal
|
||||||
" 02. Events .................. General autocmd events "
|
" 09 using the mouse
|
||||||
" 03. Theme/Colors ............ Colors, fonts, etc. "
|
" 10 printing
|
||||||
" 04. Vim UI .................. User interface behavior "
|
" 11 messages and info
|
||||||
" 05. Text Formatting/Layout .. Text, tab, indentation related "
|
" 12 selecting text
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
" 13 editing text
|
||||||
|
" 14 tabs and indenting
|
||||||
|
" 15 folding
|
||||||
|
" 16 diff mode
|
||||||
|
" 17 mapping
|
||||||
|
" 18 reading and writing files
|
||||||
|
" 19 the swap file
|
||||||
|
" 20 command line editing
|
||||||
|
" 21 executing external commands
|
||||||
|
" 22 running make and jumping to errors
|
||||||
|
" 23 language specific
|
||||||
|
" 24 multi-byte characters
|
||||||
|
" 25 various
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
set nocompatible
|
||||||
" 01. General "
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
set nocompatible " get rid of Vi compatibility mode. SET FIRST!
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
" setup of vundle
|
||||||
" 02. Events "
|
filetype off
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
set rtp+=~/.vim/bundle/vundle/
|
||||||
filetype plugin indent on " filetype detection[ON] plugin[ON] indent[ON]
|
call vundle#rc()
|
||||||
|
Bundle 'gmarik/vundle'
|
||||||
|
|
||||||
" In Makefiles DO NOT use spaces instead of tabs
|
filetype plugin indent on
|
||||||
autocmd FileType make setlocal noexpandtab
|
|
||||||
" In Ruby files, use 2 spaces instead of 4 for tabs
|
|
||||||
autocmd FileType ruby setlocal sw=2 ts=2 sts=2
|
|
||||||
|
|
||||||
" Enable omnicompletion (to use, hold Ctrl+X then Ctrl+O while in Insert mode.
|
" solarized color theme
|
||||||
set ofu=syntaxcomplete#Complete
|
Bundle 'altercation/vim-colors-solarized'
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
" setup for the solarized color theme
|
||||||
" 03. Theme/Colors "
|
set background=dark
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
let g:solarized_termcolors=16
|
||||||
set t_Co=256 " enable 256-color mode.
|
let g:solarized_termtrans=1
|
||||||
syntax enable " enable syntax highlighting (previously syntax on).
|
let g:solarized_contrase="normal"
|
||||||
"colorscheme molokai " set colorscheme
|
let g:solarized_visibility="normal"
|
||||||
|
syntax enable
|
||||||
|
colorscheme solarized
|
||||||
|
|
||||||
" Prettify JSON files
|
set mouse=a " enable mouse support
|
||||||
autocmd BufRead,BufNewFile *.json set filetype=json
|
set mousehide " hide the mouse when typing
|
||||||
autocmd Syntax json sou ~/.vim/syntax/json.vim
|
|
||||||
|
|
||||||
" Prettify Vagrantfile
|
set history=1000 " history length for commands, defaults to
|
||||||
autocmd BufRead,BufNewFile Vagrantfile set filetype=ruby
|
" 20
|
||||||
|
|
||||||
" Highlight characters that go over 80 columns
|
set nobackup " do not create a backup
|
||||||
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
|
set nowritebackup
|
||||||
match OverLength /\%81v.\+/
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" 04. Vim UI "
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
set number " show line numbers
|
|
||||||
set cul " highlight current line
|
|
||||||
set laststatus=2 " last window always has a statusline
|
|
||||||
set nohlsearch " Don't continue to highlight searched phrases.
|
|
||||||
set incsearch " But do highlight as you type your search.
|
|
||||||
set ignorecase " Make searches case-insensitive.
|
|
||||||
set ruler " Always show info along bottom.
|
|
||||||
set showmatch
|
|
||||||
set statusline=%<%f\%h%m%r%=%-20.(line=%l\ \ col=%c%V\ \ totlin=%L%)\ \ \%h%m%r%=%-40(bytval=0x%B,%n%Y%)\%P
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
set showmode " show the current mode
|
||||||
" 05. Text Formatting/Layout "
|
set cursorline " highlight the current line
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
set number " enable linenumbers
|
||||||
set autoindent " auto-indent
|
set numberwidth=2 " only use as many columns for the line
|
||||||
set tabstop=4 " tab spacing
|
" numbers as necessary
|
||||||
set softtabstop=4 " unify
|
set relativenumber " show file numbers relative to the current
|
||||||
set shiftwidth=4 " indent/outdent by 4 columns
|
" line instead of absolute ones, but still
|
||||||
set shiftround " always indent/outdent to the nearest tabstop
|
" the absolute linenumber on the current
|
||||||
set expandtab " use spaces instead of tabs
|
" line due to 'number' being set
|
||||||
set smarttab " use tabs at the start of a line, spaces elsewhere
|
set showmatch " show matching brackets/parentheses
|
||||||
set nowrap " don't wrap text
|
set incsearch " show matches while typing in a search
|
||||||
|
set hlsearch " highlight matches in a search
|
||||||
|
|
||||||
match ErrorMsg '\s\+$' " mark trailing whitespace
|
set ignorecase " ignore case when only searching for
|
||||||
|
" lowercase
|
||||||
|
set smartcase " letters, case sensitive otherwis
|
||||||
|
|
||||||
|
set foldenable " auto-fold code
|
||||||
|
|
||||||
|
set wrap " wrap text
|
||||||
|
set linebreak
|
||||||
|
|
||||||
|
set backspace=indent,eol,start " allowing backspacing over autoindent,
|
||||||
|
" line breaks and start of insert
|
||||||
|
|
||||||
|
set encoding=utf-8 " set the encoding
|
||||||
|
|
||||||
|
|
||||||
|
set showmode " show current mode in the status line
|
||||||
|
|
||||||
|
set swapfile " use a swapfile
|
||||||
|
set updatecount=200 " default, number of characters that have
|
||||||
|
" to be typed before the swapfile is
|
||||||
|
" written to disk
|
||||||
|
set updatetime=10000 " time in milliseconds after the swapfile
|
||||||
|
" is written to disk
|
||||||
|
|
||||||
|
set title " let vim set the title of the window
|
||||||
|
set titlestring="" " use default titlestring
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
set autoread " automatically reload a file when it was
|
||||||
|
" changed outside of vim
|
||||||
|
|
||||||
|
set gdefault " apply replace patterns to the whole line
|
||||||
|
" by default
|
||||||
|
|
||||||
|
set tabstop=4 " one tab equals 4 spaces
|
||||||
|
set softtabstop=4 " makes the spaces feel like real tabs
|
||||||
|
set shiftwidth=4 " one indent level equals 4 spaces
|
||||||
|
set expandtab " expand tabs to spaces
|
||||||
|
set autoindent " copy indent from current line when
|
||||||
|
" starting a new one
|
||||||
|
set smartindent " smart indenting for C-like languages
|
||||||
|
set smarttab " use shiftwidth when tabbing in front of
|
||||||
|
" a line instead of tabsstop/softtabstop
|
||||||
|
|
||||||
|
set undofile " use an undo file
|
||||||
|
set undodir=~/.vim/backups " store undo files in a fixed directory
|
||||||
|
" instead of the current directory
|
||||||
|
set undolevels=1000 " undo a maximum of 1000 changes
|
||||||
|
set undoreload=10000 " save the whole buffer for undo when
|
||||||
|
" reloading it
|
||||||
|
|
||||||
|
|
||||||
|
set foldmethod=indent " fold according to indet
|
||||||
|
set foldnestmax=2 " fold a maximum of 2 levels
|
||||||
|
set nofoldenable " unfold everything by default
|
||||||
|
|
||||||
|
set scrolloff=5 " show context at the screen edges
|
||||||
|
|
||||||
|
|
||||||
|
set showcmd " show (partial) command in the command line
|
||||||
|
set hidden " buffers can exist without a window
|
||||||
|
|
||||||
|
set ttyfast " enhance smoothness
|
||||||
|
set ruler " show position in status line
|
||||||
|
|
||||||
|
set wildmenu " show a menu when autocompleting
|
||||||
|
set wildmode=list:longest " automatically complete up to the level
|
||||||
|
" of ambiguity
|
||||||
|
|
||||||
|
set autochdir " automatically change to the directory that
|
||||||
|
" contains the file that is edited
|
||||||
|
|
||||||
|
let mapleader = ","
|
||||||
|
|
||||||
|
nnoremap / /\v
|
||||||
|
vnoremap / /\v
|
||||||
|
nnoremap <leader><space> :noh<cr>
|
||||||
|
nnoremap <tab> %
|
||||||
|
vnoremap <tab> %
|
||||||
|
|
||||||
|
nnoremap j gj
|
||||||
|
nnoremap k gk
|
||||||
|
|
||||||
" Removes trailing spaces
|
|
||||||
function! TrimWhiteSpace()
|
function! TrimWhiteSpace()
|
||||||
%s/\s\+$//e
|
%s/\s\+$//e
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
Reference in New Issue
Block a user