aboutsummaryrefslogtreecommitdiffstats
path: root/_vimrc
diff options
context:
space:
mode:
authorAaron LI <aly@aaronly.me>2018-11-15 23:43:19 +0800
committerAaron LI <aly@aaronly.me>2018-11-15 23:43:19 +0800
commit624a7aaa7777ffe5298181c3521484c287ab6ca9 (patch)
tree9688ffe2e6ec9c50213358814546c2d611db130f /_vimrc
parentdadbc1a2b1a9a218c218ddb816c88c5478ce9197 (diff)
downloaddotfiles-624a7aaa7777ffe5298181c3521484c287ab6ca9.tar.bz2
Move _vimrc to _vim/vimrc
Diffstat (limited to '_vimrc')
-rw-r--r--_vimrc336
1 files changed, 0 insertions, 336 deletions
diff --git a/_vimrc b/_vimrc
deleted file mode 100644
index 941ccb6..0000000
--- a/_vimrc
+++ /dev/null
@@ -1,336 +0,0 @@
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Credit:
-" Amir Salihefendic — @amix3k
-" https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => General
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Sets how many lines of history VIM has to remember
-set history=500
-
-" Enable filetype plugins
-filetype plugin on
-filetype indent on
-
-" Set to auto read when a file is changed from the outside
-set autoread
-
-" With a map leader it's possible to do extra key combinations
-" like <leader>w saves the current file
-let mapleader = ","
-
-" Fast saving
-nmap <leader>w :w!<cr>
-
-" :W sudo saves the file
-" (useful for handling the permission-denied error)
-command! W w !sudo tee % >/dev/null
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => VIM user interface
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-set mouse=a
-set ignorecase
-set smartcase
-set hlsearch
-set incsearch
-
-" Set 7 lines to the cursor - when moving vertically using j/k
-set scrolloff=7
-
-" Turn on the Wild menu
-set wildmenu
-
-" Ignore compiled files
-set wildignore=*.o,*~,*.pyc
-set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
-
-" Height of the command bar
-set cmdheight=1
-
-" A buffer becomes hidden when it is abandoned
-set hidden
-
-" Configure backspace so it acts as it should act
-set backspace=eol,start,indent
-set whichwrap+=<,>,h,l
-
-" Don't redraw while executing macros (good performance config)
-set lazyredraw
-
-" For regular expressions turn magic on
-set magic
-
-" Show matching brackets when text indicator is over them
-set showmatch
-" How many tenths of a second to blink when matching brackets
-set matchtime=2
-
-" No annoying sound on errors
-set noerrorbells
-set novisualbell
-set t_vb=
-set timeoutlen=500
-
-" Properly disable sound on errors on MacVim
-if has("gui_macvim")
- autocmd GUIEnter * set vb t_vb=
-endif
-
-" Add a bit extra margin to the left
-set foldcolumn=1
-
-" Highlight the current line
-set cursorline
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => Colors and Fonts
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-syntax enable
-
-set t_Co=256
-if $COLORTERM == 'truecolor'
- set termguicolors
-endif
-if &term =~# '^screen'
- " Set terminal sequences for true colors (:help xterm-true-color)
- let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
- let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
-endif
-
-colorscheme flattened_light
-
-if has("gui_running")
- set guioptions-=T " No toolbar
- set guioptions-=e " No GUI tabs
- set guioptions-=m " No menu bar
- set guioptions-=l " No left scrollbar
- set guioptions-=L " No left scrollbar
- set guioptions-=r " No right scrollbar
- set guioptions-=R " No right scrollbar
- set guifont=IBM\ Plex\ Mono\ Medium\ 11
- set guitablabel=%M\ %t
- set guicursor+=a:blinkoff0 " Disable cursor blinking
-endif
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => Files, backups and undo
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-set encoding=utf8
-set fileformats=unix,dos,mac
-
-" Turn backup off
-set nobackup
-set nowritebackup
-set noswapfile
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => Text, tab and indent related
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-set expandtab
-set smarttab
-set tabstop=8
-set shiftwidth=4
-
-set autoindent
-set smartindent
-set wrap
-
-set linebreak
-set textwidth=75
-set formatoptions+=m " Break at multi-byte characters (e.g., CJK)
-
-
-""""""""""""""""""""""""""""""
-" => Visual mode related
-""""""""""""""""""""""""""""""
-" Visual mode pressing * or # searches for the current selection
-" Super useful! From an idea by Michael Naumann
-vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
-vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => Moving around, tabs, windows and buffers
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-map <space> /
-map <c-space> ?
-
-" Disable highlight when <leader><cr> is pressed
-map <silent> <leader><cr> :noh<cr>
-
-" Smart way to move between windows
-map <C-j> <C-W>j
-map <C-k> <C-W>k
-map <C-h> <C-W>h
-map <C-l> <C-W>l
-
-" Close the current buffer
-map <leader>bd :Bclose<cr>:tabclose<cr>gT
-
-" Close all the buffers
-map <leader>ba :bufdo bd<cr>
-
-map <leader>l :bnext<cr>
-map <leader>h :bprevious<cr>
-
-" Useful mappings for managing tabs
-map <leader>tn :tabnew<cr>
-map <leader>to :tabonly<cr>
-map <leader>tc :tabclose<cr>
-map <leader>tm :tabmove
-map <leader>t<leader> :tabnext
-
-" Let 'tl' toggle between this and the last accessed tab
-let g:lasttab = 1
-nmap <leader>tl :exe "tabn ".g:lasttab<CR>
-autocmd TabLeave * let g:lasttab = tabpagenr()
-
-" Opens a new tab with the current buffer's path
-" Super useful when editing files in the same directory
-map <leader>te :tabedit <C-r>=expand("%:p:h")<cr>/
-
-" Switch CWD to the directory of the open buffer
-map <leader>cd :cd %:p:h<cr>:pwd<cr>
-
-" Specify the behavior when switching between buffers
-set switchbuf=useopen,usetab,newtab
-set showtabline=2
-
-" Return to last edit position when opening files (You want this!)
-autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
-
-
-""""""""""""""""""""""""""""""
-" => Status line
-""""""""""""""""""""""""""""""
-" Always show the status line
-set laststatus=2
-
-" Returns true if paste mode is enabled
-function! HasPaste()
- if &paste
- return '[PASTE] '
- endif
- return ''
-endfunction
-
-" Format the status line
-set statusline=\ %{HasPaste()}%f%m%r%h\ %w\ %=
-set statusline+=%{&fileencoding?&fileencoding:&encoding}\ %y\ %l,%c%V\ %P
-set statusline+=\ " blank space
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => Editing mappings
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Move a line of text using ALT+[jk] or Command+[jk] on mac
-nmap <M-j> mz:m+<cr>`z
-nmap <M-k> mz:m-2<cr>`z
-vmap <M-j> :m'>+<cr>`<my`>mzgv`yo`z
-vmap <M-k> :m'<-2<cr>`>my`<mzgv`yo`z
-
-if has("mac") || has("macunix")
- nmap <D-j> <M-j>
- nmap <D-k> <M-k>
- vmap <D-j> <M-j>
- vmap <D-k> <M-k>
-endif
-
-" Delete trailing white space on save, useful for some filetypes ;)
-function! CleanExtraSpaces()
- let save_cursor = getpos(".")
- let old_query = getreg('/')
- silent! %s/\s\+$//e
- call setpos('.', save_cursor)
- call setreg('/', old_query)
-endfunction
-
-autocmd BufWritePre *.txt,*.js,*.py,*.wiki,*.sh,*.coffee :call CleanExtraSpaces()
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => Spell checking
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-set spelllang=en_us,cjk
-
-" Pressing ,ss will toggle and untoggle spell checking
-map <leader>ss :setlocal spell!<cr>
-
-" Shortcuts using <leader>
-map <leader>sn ]s
-map <leader>sp [s
-map <leader>sa zg
-map <leader>s? z=
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => Misc
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Remove the Windows ^M - when the encodings gets messed up
-noremap <leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm
-
-" Quickly open a buffer for scribble
-map <leader>q :e ~/buffer<cr>
-
-" Quickly open a markdown buffer for scribble
-map <leader>x :e ~/buffer.md<cr>
-
-" Toggle paste mode on and off
-map <leader>pp :setlocal paste!<cr>
-
-" Disable F1 to open the help
-map <F1> <Esc>
-imap <F1> <Esc>
-
-
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" => Helper functions
-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-" Don't close window, when deleting a buffer
-command! Bclose call <SID>BufcloseCloseIt()
-function! <SID>BufcloseCloseIt()
- let l:currentBufNum = bufnr("%")
- let l:alternateBufNum = bufnr("#")
-
- if buflisted(l:alternateBufNum)
- buffer #
- else
- bnext
- endif
-
- if bufnr("%") == l:currentBufNum
- new
- endif
-
- if buflisted(l:currentBufNum)
- execute("bdelete! ".l:currentBufNum)
- endif
-endfunction
-
-function! CmdLine(str)
- call feedkeys(":" . a:str)
-endfunction
-
-function! VisualSelection(direction, extra_filter) range
- let l:saved_reg = @"
- execute "normal! vgvy"
-
- let l:pattern = escape(@", "\\/.*'$^~[]")
- let l:pattern = substitute(l:pattern, "\n$", "", "")
-
- if a:direction == 'gv'
- call CmdLine("Ack '" . l:pattern . "' " )
- elseif a:direction == 'replace'
- call CmdLine("%s" . '/'. l:pattern . '/')
- endif
-
- let @/ = l:pattern
- let @" = l:saved_reg
-endfunction