108 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
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>
 | 
						|
 |