blob: b8aad21c60f0112dc2829802e03e7778a5ed1380 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
set list
set spell
hi SpellBad ctermfg=000 guifg=#000000
let g:python3_host_prog = '/usr/bin/python3'
" URL: http://vim.wikia.com/wiki/Example_vimrc
set nocompatible
filetype indent plugin on
filetype plugin on
syntax on
set hidden
set wildmenu
set showcmd
set hlsearch
set ignorecase
set smartcase
set backspace=indent,eol,start
set autoindent
set nostartofline
set ruler
set laststatus=2
set confirm
set visualbell
set mouse=a
set cmdheight=2
set number
set notimeout ttimeout ttimeoutlen=200
set pastetoggle=<F11>
"------------------------------------------------------------
"----- CUSTOM MAPPINGS
map Y y$
" Map <C-L> (redraw screen) to also turn off search highlighting until the
" next search
nnoremap <C-L> :nohl<CR><C-L>
" From https://github.com/theicfire/dotfiles/blob/master/vim/.vimrc
" With a map leader it's possible to do extra key combinations
" like <leader>w saves the current file
let mapleader = " "
" auto indent for brackets
inoremap {<CR> {<CR>}<Esc>O
" shortcut for search without highlight
nnoremap <leader>sh :nohlsearch<Bar>:echo<CR>
" paste from outside buffer (i.e. outside of vim)
nnoremap <leader>p :set paste<CR>"+p:set nopaste<CR>
vnoremap <leader>p <Esc>:set paste<CR>gv"+p:set nopaste<CR>
" copy to outside buffer
vnoremap <leader>y "+y
" select all
nnoremap <leader>a ggVG
" paste from 0 register
" Useful because `d` overwrites the <quote> register
nnoremap <leader>P "0p
vnoremap <leader>P "0p
" Easy quoting from:
" https://stackoverflow.com/questions/2147875/what-vim-commands-can-be-used-to-quote-unquote-words
nnoremap <leader>qq ciW""<Esc>P
nnoremap <leader>'' ciW''<Esc>P
"------------------------------------------------------------
" ----- DEFAULT SPACING/INDENTATION OPTIONS
" Indent with spaces by default like a sane person
set shiftwidth=4
set softtabstop=4
set expandtab
" b/c it fits half screen nicely
set textwidth=72
" ------------------------------------------------------------
" ----- FILE TYPE CONFIGS
set fileformat=unix
" Enable x86 custom highlight
au BufNewFile,BufRead *.asm
\ set syntax=nasm
" auto PEP8 for python
au BufNewFile,BufRead *.py
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set smartindent |
" 8 spaces for c, per Linus
au BufNewFile,BufRead *.c
\ set tabstop=8 |
\ set softtabstop=8 |
\ set shiftwidth=8 |
\ set cindent |
" For the one absolute mad lad
au BufNewFile,BufRead Makefile
\set noexpandtab
|