Skip to content

Instantly share code, notes, and snippets.

@jeremytarpley
Last active October 9, 2023 20:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeremytarpley/8d59785cdea1ad54b18c87c067f4bce2 to your computer and use it in GitHub Desktop.
Save jeremytarpley/8d59785cdea1ad54b18c87c067f4bce2 to your computer and use it in GitHub Desktop.
vimrc
" 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