Expanded vim config
This commit is contained in:
parent
4e7fb6dca2
commit
a5fbce7366
|
@ -0,0 +1,107 @@
|
|||
set encoding=utf-8
|
||||
|
||||
" Leader
|
||||
let mapleader = " "
|
||||
|
||||
set backspace=2 " Backspace deletes like most programs in insert mode
|
||||
set nobackup
|
||||
set nowritebackup
|
||||
set noswapfile " http://robots.thoughtbot.com/post/18739402579/global-gitignore#comment-458413287
|
||||
set history=50
|
||||
set ruler " show the cursor position all the time
|
||||
set showcmd " display incomplete commands
|
||||
set incsearch " do incremental searching
|
||||
set laststatus=2 " Always display the status line
|
||||
set autowrite " Automatically :write before running commands
|
||||
set modelines=0 " Disable modelines as a security precaution
|
||||
set nomodeline
|
||||
|
||||
" Switch syntax highlighting on, when the terminal has colors
|
||||
" Also switch on highlighting the last used search pattern.
|
||||
if (&t_Co > 2 || has("gui_running")) && !exists("syntax_on")
|
||||
syntax on
|
||||
endif
|
||||
|
||||
filetype plugin indent on
|
||||
|
||||
augroup vimrcEx
|
||||
autocmd!
|
||||
|
||||
" When editing a file, always jump to the last known cursor position.
|
||||
" Don't do it for commit messages, when the position is invalid, or when
|
||||
" inside an event handler (happens when dropping a file on gvim).
|
||||
autocmd BufReadPost *
|
||||
\ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") |
|
||||
\ exe "normal g`\"" |
|
||||
\ endif
|
||||
|
||||
" Set syntax highlighting for specific file types
|
||||
autocmd BufRead,BufNewFile *.md set filetype=markdown
|
||||
autocmd BufRead,BufNewFile .{jscs,jshint,eslint}rc set filetype=json
|
||||
autocmd BufRead,BufNewFile
|
||||
\ aliases.local,
|
||||
\zshenv.local,zlogin.local,zlogout.local,zshrc.local,zprofile.local,
|
||||
\*/zsh/configs/*
|
||||
\ set filetype=sh
|
||||
autocmd BufRead,BufNewFile gitconfig.local set filetype=gitconfig
|
||||
autocmd BufRead,BufNewFile tmux.conf.local set filetype=tmux
|
||||
autocmd BufRead,BufNewFile vimrc.local set filetype=vim
|
||||
augroup END
|
||||
|
||||
" When the type of shell script is /bin/sh, assume a POSIX-compatible
|
||||
" shell for syntax highlighting purposes.
|
||||
let g:is_posix = 1
|
||||
|
||||
" Softtabs, 2 spaces
|
||||
set tabstop=2
|
||||
set shiftwidth=2
|
||||
set shiftround
|
||||
set expandtab
|
||||
|
||||
" Display extra whitespace
|
||||
set list listchars=tab:»·,trail:·,nbsp:·
|
||||
|
||||
" Use one space, not two, after punctuation.
|
||||
set nojoinspaces
|
||||
|
||||
" Use Ripgrep vs grep
|
||||
if executable('rg')
|
||||
" Use rg over Grep
|
||||
set grepprg=rg\ --color=never
|
||||
|
||||
" Use rg in fzf for listing files. Lightning fast and respects .gitignore
|
||||
let $FZF_DEFAULT_COMMAND = 'rg --files-with-matches --color=never --hidden ""'
|
||||
|
||||
nnoremap \ :Ag<SPACE>
|
||||
endif
|
||||
|
||||
" Make it obvious where 80 characters is
|
||||
set textwidth=80
|
||||
set colorcolumn=+1
|
||||
|
||||
" Numbers
|
||||
set number
|
||||
set numberwidth=5
|
||||
|
||||
" Switch between the last two files
|
||||
nnoremap <Leader><Leader> <C-^>
|
||||
|
||||
" Run commands that require an interactive shell
|
||||
nnoremap <Leader>r :RunInInteractiveShell<Space>
|
||||
|
||||
" Treat <li> and <p> tags like the block tags they are
|
||||
let g:html_indent_tags = 'li\|p'
|
||||
|
||||
" Open new split panes to right and bottom, which feels more natural
|
||||
set splitbelow
|
||||
set splitright
|
||||
|
||||
" Quicker window movement
|
||||
nnoremap <C-j> <C-w>j
|
||||
nnoremap <C-k> <C-w>k
|
||||
nnoremap <C-h> <C-w>h
|
||||
nnoremap <C-l> <C-w>l
|
||||
|
||||
" Map Ctrl + p to open fuzzy find (FZF)
|
||||
nnoremap <c-p> :Files<cr>
|
||||
|
Loading…
Reference in New Issue