mirror of
https://github.com/ViViDboarder/vim-settings.git
synced 2024-11-10 18:06:29 +00:00
220 lines
4.6 KiB
Plaintext
220 lines
4.6 KiB
Plaintext
" Vundle
|
|
filetype off " required!
|
|
|
|
set rtp+=~/.vim/bundle/vundle/
|
|
call vundle#rc()
|
|
|
|
" let Vundle manage Vundle
|
|
" required!
|
|
Bundle 'gmarik/vundle'
|
|
|
|
" Rest of my bundles
|
|
|
|
" File Nav
|
|
Bundle 'kien/ctrlp.vim'
|
|
Bundle 'scrooloose/nerdtree'
|
|
Bundle 'a.vim'
|
|
Bundle 'file-line'
|
|
Bundle 'tpope/vim-fugitive'
|
|
" Needs Vim compiled with Ruby
|
|
Bundle 'wincent/Command-T'
|
|
|
|
" Buffer Nav
|
|
Bundle 'kien/tabman.vim'
|
|
Bundle 'sandeepcr529/Buffet.vim'
|
|
" Needs Vim compiled with Ruby
|
|
Bundle 'mutewinter/LustyJuggler'
|
|
|
|
" Nav in file
|
|
Bundle 'taglist.vim'
|
|
|
|
" Text Manipulation
|
|
Bundle 'tomtom/tcomment_vim'
|
|
Bundle 'pdurbin/vim-tsv'
|
|
|
|
" GUI
|
|
Bundle 'vividchalk.vim'
|
|
Bundle 'gregsexton/MatchTag'
|
|
|
|
" Filetypes
|
|
Bundle 'vividboarder/vim-forcedotcom'
|
|
|
|
"Allow arrow keys
|
|
set nocompatible
|
|
|
|
"Use more convenient leader
|
|
let mapleader=","
|
|
|
|
"Enable mouse input
|
|
set mousehide
|
|
set mouse=a
|
|
|
|
"tab functionality
|
|
"tabs inserted as 4 spaces
|
|
"backspace deletes all spaces
|
|
"autoindent enabled
|
|
set expandtab
|
|
set tabstop=4
|
|
set shiftwidth=4
|
|
set softtabstop=4
|
|
set autoindent
|
|
"Ensure backspace actually works
|
|
set backspace=2
|
|
filetype plugin indent on
|
|
|
|
set virtualedit=onemore " allow for cursor beyond last character
|
|
set scrolljump=5 " lines to scroll when cursor leaves screen
|
|
set scrolloff=3 " minimum lines to keep above and below cursor
|
|
|
|
" Display filename at bottom of window
|
|
set ls=2
|
|
|
|
"Set backup dirs
|
|
set backup
|
|
set backupdir=~/.vim/backup
|
|
set directory=~/.vim/tmp
|
|
|
|
"set theme
|
|
try
|
|
colorscheme vividchalk
|
|
catch /^Vim\%((\a\+)\)\=:E185/
|
|
" deal with it
|
|
endtry
|
|
|
|
"Highlights the line the cursor is on
|
|
set cursorline
|
|
:hi CursorLine cterm=NONE ctermbg=darkred guibg=darkred guifg=white
|
|
"Toggle highlighting with \hr (highlight row)
|
|
nnoremap <Leader>hr :set cursorline!<CR>
|
|
|
|
"enable line numbers
|
|
set nu
|
|
|
|
"Toggle Line numbers with Ctrl+N double tap
|
|
nmap <C-N><C-N> :set invnumber<CR>
|
|
nmap <leader>ln :set invnumber<CR>
|
|
|
|
"Toggle line wrap with Ctrl+L double tap
|
|
nmap <C-L><C-L> :set wrap!<CR>
|
|
nmap <leader>lw :set wrap!<CR>
|
|
|
|
"Allows filetype detection
|
|
filetype on
|
|
|
|
"Move between splits using Ctrl+hjkl
|
|
map <C-k> <C-w>k
|
|
map <C-j> <C-w>j
|
|
map <C-l> <C-w>l
|
|
map <C-h> <C-w>h
|
|
|
|
"map Shift+U to redo
|
|
nnoremap <S-u> <C-r>
|
|
|
|
"Buffet shortcut
|
|
nnoremap <silent> <F2> :Bufferlist<CR>
|
|
|
|
"Tab Man shortcut
|
|
nnoremap <silent> <F3> :TMToggle<CR>
|
|
|
|
"LustyJugler settings
|
|
let g:LustyJugglerShowKeys=1 "Show numbers for Lusty Buffers
|
|
let g:LustyJugglerSuppressRubyWarning=1
|
|
nnoremap <silent> <C-L><C-J> :LustyJuggler<CR>
|
|
nnoremap <leader>. :LustyJugglePrevious<CR>
|
|
|
|
"NERDTree
|
|
nnoremap <silent> <F4> :NERDTreeToggle<CR>
|
|
nnoremap <leader>nn :NERDTreeToggle<CR>
|
|
nnoremap <leader>nf :NERDTreeFind<CR>
|
|
|
|
"CTags List
|
|
nnoremap <silent> <F8> :TlistToggle<CR>
|
|
let Tlist_Exit_OnlyWindow=1
|
|
let Tlist_Winwidth=30
|
|
|
|
"Syntax Hightlighting
|
|
syntax on
|
|
|
|
"Remap jk to esc
|
|
inoremap jk <esc>
|
|
"vnoremap jk <esc> "Makes it difficult to select lines as j is common
|
|
|
|
"Remap Ctrl+Space for auto Complete
|
|
inoremap <C-Space> <C-n>
|
|
inoremap <Nul> <C-n>
|
|
|
|
" Stupid shift key fixes
|
|
"cmap W w
|
|
cmap WQ<CR> wq<CR>
|
|
cmap Wq<CR> wq<CR>
|
|
cmap W<CR> w<CR>
|
|
cmap Q<CR> q<CR>
|
|
|
|
"Enable search highlighting
|
|
set hls
|
|
"clearing highlighted search
|
|
nmap <silent> <leader>/ :set hlsearch! hlsearch?<CR>
|
|
noremap <C-h><C-s> :set hlsearch! hlsearch?<CR>
|
|
|
|
" Change Working Directory to that of the current file
|
|
cmap cwd lcd %:p:h
|
|
cmap cd. lcd %:p:h
|
|
|
|
" ---------------
|
|
" Command T and ctrlp.vim
|
|
" Snagged from mutewinter @ https://github.com/mutewinter/dot_vim
|
|
" ---------------
|
|
" Ensure Ctrl-P isn't bound by default
|
|
let g:ctrlp_map = ''
|
|
|
|
" Ensure max height isn't too large. (for performance)
|
|
let g:ctrlp_max_height = 10
|
|
let g:CommandTMaxHeight = 10
|
|
|
|
" Set the default escape keybinding to, you guessed it, escape.
|
|
let g:CommandTCancelMap = '<esc>'
|
|
|
|
" Dynamically use Command T or ctrlp.vim based on availability of Ruby.
|
|
" We do this because Command T is much faster than ctrlp.vim.
|
|
if has('ruby')
|
|
" --------
|
|
" Use Command T since we've got Ruby
|
|
" --------
|
|
|
|
" Conditional Mappings
|
|
if has('unix')
|
|
nnoremap <silent><C-t> :CommandT<CR>
|
|
else
|
|
nnoremap <silent><M-t> :CommandT<CR>
|
|
endif
|
|
|
|
" Leader Commands
|
|
nnoremap <leader>t :CommandT<CR>
|
|
nnoremap <leader>b :CommandTBuffer<CR>
|
|
else
|
|
" --------
|
|
" Use ctrlp.vim since we don't have Ruby
|
|
" --------
|
|
|
|
" Conditional Mappings
|
|
if has('unix')
|
|
let g:ctrlp_map = '<C-t>'
|
|
else
|
|
let g:ctrlp_map = '<M-t>'
|
|
endif
|
|
|
|
" Leader Commands
|
|
nnoremap <leader>t :CtrlPRoot<CR>
|
|
nnoremap <leader>b :CtrlPBuffer<CR>
|
|
endif
|
|
|
|
" Also map leader commands
|
|
nnoremap <leader>u :CtrlPCurFile<CR>
|
|
nnoremap <leader>m :CtrlPMRUFiles<CR>
|
|
|
|
" Add some shortcuts for git commands
|
|
nnoremap <leader>gs :Gstatus<CR>
|
|
nnoremap <leader>gc :Gcommit<CR>
|
|
nnoremap <leader>gb :Gblame<CR>
|
|
|