Last active
October 9, 2023 20:51
-
-
Save jeremytarpley/8d59785cdea1ad54b18c87c067f4bce2 to your computer and use it in GitHub Desktop.
vimrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Configuration file for vim | |
set modelines=0 " CVE-2007-2438 | |
"" Encoding | |
set encoding=utf-8 | |
set fileencoding=utf-8 | |
set fileencodings=utf-8 | |
set ttyfast | |
" Normally we use vim-extensions. If you want true vi-compatibility | |
" remove change the following statements | |
set nocompatible " Use Vim defaults instead of 100% vi compatibility | |
set backspace=2 " more powerful backspacing | |
" Don't write backup file if vim is being called by "crontab -e" | |
au BufWrite /private/tmp/crontab.* set nowritebackup nobackup | |
" Don't write backup file if vim is being called by "chpass" | |
au BufWrite /private/etc/pw.* set nowritebackup nobackup | |
let skip_defaults_vim=1 | |
" Base settings from: | |
" https://gist.githubusercontent.com/simonista/8703722/raw/d08f2b4dc10452b97d3ca15386e9eed457a53c61/.vimrc | |
" Helps force plugins to load correctly when it is turned back on below | |
filetype off | |
" Turn on syntax highlighting | |
syntax on | |
" For plugins to load correctly | |
filetype plugin indent on | |
" Pick a leader key | |
let mapleader = "," | |
" Security | |
set modelines=0 | |
" Enable mouse support | |
set mouse=a | |
" Show line numbers | |
set number | |
" Show file stats | |
set ruler | |
" Blink cursor on error instead of beeping (grr) | |
set visualbell | |
" Whitespace | |
set wrap | |
set textwidth=79 | |
set formatoptions=tcqrn1 | |
set tabstop=2 | |
set shiftwidth=2 | |
set softtabstop=2 | |
set expandtab | |
set noshiftround | |
" Cursor motion | |
set scrolloff=3 | |
set backspace=indent,eol,start | |
set matchpairs+=<:> " use % to jump between pairs | |
runtime! macros/matchit.vim | |
" Move up/down editor lines | |
nnoremap j gj | |
nnoremap k gk | |
" Allow hidden buffers | |
set hidden | |
" Rendering | |
set ttyfast | |
" Status bar | |
set laststatus=2 | |
set statusline=%F%m%r%h%w%=(%{&ff}/%Y)\ (line\ %l\/%L,\ col\ %c)\ | |
" Title in terminal | |
set title | |
set titleold="Terminal" | |
set titlestring=%F | |
" Last line | |
set showmode | |
set showcmd | |
" Searching | |
nnoremap / /\v | |
vnoremap / /\v | |
set hlsearch | |
set incsearch | |
set ignorecase | |
set smartcase | |
set showmatch | |
map <leader><space> :let @/=''<cr> " clear search | |
" Remap help key. | |
inoremap <F1> <ESC>:set invfullscreen<CR>a | |
nnoremap <F1> :set invfullscreen<CR> | |
vnoremap <F1> :set invfullscreen<CR> | |
" Textmate holdouts | |
" Formatting | |
map <leader>q gqip | |
" remove trailing whitespaces | |
command! FixWhitespace :%s/\s\+$//e | |
" Visualize tabs and newlines | |
set listchars=tab:▸\ ,eol:¬ | |
"" Copy/Paste/Cut | |
set clipboard=unnamed | |
if has('unnamedplus') | |
set clipboard=unnamed,unnamedplus | |
endif | |
" Leader + C to copy the visual selection to the system clipboard | |
vnoremap <Leader>c "+y | |
vnoremap <C-y> :'<,'>w !xclip -selection clipboard<Cr><Cr> | |
" Uncomment this to enable by default: | |
" set list " To enable by default | |
" Or use your leader key + l to toggle on/off | |
map <leader>l :set list!<CR> " Toggle tabs and EOL | |
" Color scheme | |
set t_Co=256 | |
set background=dark | |
"let g:solarized_termcolors=256 | |
"let g:solarized_termtrans=1 | |
" put https://raw.github.com/altercation/vim-colors-solarized/master/colors/solarized.vim | |
" in ~/.vim/colors/ and uncomment: | |
" colorscheme solarized | |
" Use the vim-plug package manager | |
call plug#begin() | |
Plug 'preservim/NERDTree' | |
"***************************************************************************** | |
"" Plug install packages | |
"" https://github.com/junegunn/vim-plug | |
"" :PlugInstall to install plugins when you add them here | |
"" :PlugUgrade to update | |
"" :PlugClean to remove unlisted plugins | |
"***************************************************************************** | |
" Show indent level | |
Plug 'Yggdroot/indentLine' | |
" Add color bg to css colors | |
Plug 'gko/vim-coloresque' | |
" better html, css, sass, js, php support | |
Plug 'hail2u/vim-css3-syntax' | |
Plug 'jelera/vim-javascript-syntax' | |
Plug 'tpope/vim-haml' | |
Plug 'phpactor/phpactor', {'for': 'php', 'do': 'composer install --no-dev -o'} | |
Plug 'stephpy/vim-php-cs-fixer' | |
" Velocity support | |
Plug 'lepture/vim-velocity' | |
au BufNewFile,BufRead *.vm set ft=velocity | |
" Themes | |
Plug 'tomasr/molokai' | |
Plug 'sonph/onehalf', { 'rtp': 'vim' } | |
call plug#end() | |
" javascript settings | |
let g:javascript_enable_domhtmlcss = 1 | |
" html settings | |
autocmd Filetype html setlocal expandtab | |
" NERDTree show hidden files | |
let NERDTreeShowHidden=1 | |
nmap <F6> :NERDTreeToggle<CR> | |
colorscheme onehalfdark |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment