-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
157 additions
and
1 deletion.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
let g:netrw_dirhistmax =10 | ||
let g:netrw_dirhist_cnt =0 | ||
let g:netrw_dirhist_cnt =1 | ||
let g:netrw_dirhist_1='/Users/jason/.vim' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
autocmd BufNewFile,BufRead Gemfile set filetype=ruby | ||
colorscheme jellybeans | ||
set pastetoggle=<F2> | ||
set nocompatible | ||
" allow unsaved background buffers and remember marks/undo for them | ||
set hidden | ||
" remember more commands and search history | ||
set history=10000 | ||
set expandtab | ||
set tabstop=2 | ||
set shiftwidth=2 | ||
set softtabstop=4 | ||
set autoindent | ||
set laststatus=2 | ||
set showmatch | ||
set incsearch | ||
set hlsearch | ||
map <silent> <C-N> :se invhlsearch<CR> | ||
" make searches case-sensitive only if they contain upper-case characters | ||
set ignorecase smartcase | ||
" highlight current line | ||
set cursorline | ||
set cmdheight=2 | ||
set switchbuf=useopen | ||
set numberwidth=5 | ||
set showtabline=2 | ||
set winwidth=79 | ||
set shell=bash | ||
" keep more context when scrolling off the end of a buffer | ||
set scrolloff=3 | ||
" Store temporary files in a central spot | ||
set backup | ||
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp | ||
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp | ||
" allow backspacing over everything in insert mode | ||
set backspace=indent,eol,start | ||
" display incomplete commands | ||
set showcmd | ||
" Enable highlighting for syntax | ||
syntax on | ||
" Enable file type detection. | ||
" Use the default filetype settings, so that mail gets 'tw' set to 72, | ||
" 'cindent' is on in C files, etc. | ||
" Also load indent files, to automatically do language-dependent indenting. | ||
filetype plugin indent on | ||
" use emacs-style tab completion when selecting files, etc | ||
set wildmode=longest,list | ||
" make tab completion for files/buffers act like bash | ||
set wildmenu | ||
let mapleader="," | ||
|
||
" allow unsaved background buffers and remember marks/undo for them | ||
set hidden | ||
" remember more commands and search history | ||
set history=10000 | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
" OPEN LAST FILE IN VERTICAL SPLIT | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
map <leader>. :vs :e#<CR> | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
" OPEN FILES IN DIRECTORY OF CURRENT FILE | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
cnoremap %% <C-R>=expand('%:h').'/'<cr> | ||
map <leader>e :edit %% | ||
map <leader>v :view %% | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
" RENAME CURRENT FILE | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
function! RenameFile() | ||
let old_name = expand('%') | ||
let new_name = input('New file name: ', expand('%'), 'file') | ||
if new_name != '' && new_name != old_name | ||
exec ':saveas ' . new_name | ||
exec ':silent !rm ' . old_name | ||
redraw! | ||
endif | ||
endfunction | ||
map <leader>n :call RenameFile()<cr> | ||
|
||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
" ARROW KEYS ARE UNACCEPTABLE | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
map <Left> <Nop> | ||
map <Right> <Nop> | ||
map <Up> <Nop> | ||
map <Down> <Nop> | ||
|
||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
" STATUS LINE | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
:set statusline=%<%f\ (%{&ft})\ %-4(%m%)%=%-19(%3l,%02c%03V%) | ||
|
||
|
||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
" MULTIPURPOSE TAB KEY | ||
" Indent if we're at the beginning of a line. Else, do completion. | ||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | ||
function! InsertTabWrapper() | ||
let col = col('.') - 1 | ||
if !col || getline('.')[col - 1] !~ '\k' | ||
return "\<tab>" | ||
else | ||
return "\<c-p>" | ||
endif | ||
endfunction | ||
inoremap <tab> <c-r>=InsertTabWrapper()<cr> | ||
inoremap <s-tab> <c-n> | ||
" Move around splits with <c-hjkl> | ||
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 :vs :vsplit<cr><c-w>l | ||
" Resize windows quickly | ||
" reset with <c-w>= | ||
nmap <c-w>l :vertical res +20<cr> | ||
nmap <c-w>h :vertical res -20<cr> | ||
nmap <c-w>j :res +20<cr> | ||
nmap <c-w>k :res -20<cr> | ||
" Allow writing file with sudo | ||
cmap w!! w !sudo dd of=% | ||
function! MarkWindowSwap() | ||
let g:markedWinNum = winnr() | ||
endfunction | ||
|
||
function! DoWindowSwap() | ||
"Mark destination | ||
let curNum = winnr() | ||
let curBuf = bufnr( "%" ) | ||
exe g:markedWinNum . "wincmd w" | ||
"Switch to source and shuffle dest->source | ||
let markedBuf = bufnr( "%" ) | ||
"Hide and open so that we aren't prompted and keep history | ||
exe 'hide buf' curBuf | ||
"Switch to dest and shuffle source->dest | ||
exe curNum . "wincmd w" | ||
"Hide and open so that we aren't prompted and keep history | ||
exe 'hide buf' markedBuf | ||
endfunction | ||
|
||
nmap <silent> <leader>mw :call MarkWindowSwap()<CR> | ||
nmap <silent> <leader>pw :call DoWindowSwap()<CR> | ||
nmap <Space> zz | ||
hi CursorLine cterm=NONE ctermbg=235 ctermfg=NONE guibg=none guifg=none | ||
autocmd WinEnter * setlocal cursorline | ||
autocmd WinLeave * setlocal nocursorline |