-
Notifications
You must be signed in to change notification settings - Fork 0
/
vimrc
145 lines (103 loc) · 3.33 KB
/
vimrc
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
" Disable compatibility with vi which can cause unexpected issues.
set nocompatible
" clipboard
set clipboard=unnamedplus
" Enable type file detection. Vim will be able to try to detect the type of file in use.
filetype on
" Enable plugins and load plugin for the detected file type.
filetype plugin on
" Load an indent file for the detected file type.
filetype indent on
" Turn syntax highlighting on.
syntax on
" Add numbers to each line on the left-hand side.
set number
set relativenumber
" Set shift width to 4 spaces.
set shiftwidth=4
" Set tab width to 4 columns.
set tabstop=4
set autoindent
" Use space characters instead of tabs.
set expandtab
" Do not save backup files.
set nobackup
" Do not let cursor scroll below or above N number of lines when scrolling.
set scrolloff=10
" Do not wrap lines. Allow long lines to extend as far as the line goes.
set nowrap
" While searching though a file incrementally highlight matching characters as you type.
set incsearch
" Ignore capital letters during search.
set ignorecase
" Override the ignorecase option if searching for capital letters.
" This will allow you to search specifically for capital letters.
set smartcase
" Show partial command you type in the last line of the screen.
set showcmd
" Show the mode you are on the last line.
set showmode
" Show matching words during a search.
set showmatch
" Use highlighting when doing a search.
set hlsearch
" Set the commands to save in history default number is 20.
set history=1000
" Search subfolders
set path+=**
" Enable auto completion menu after pressing TAB.
set wildmenu
" Make wildmenu behave like similar to Bash completion.
" set wildmode=list:longest
" There are certain files that we would never want to edit with Vim.
" Wildmenu will ignore files with these extensions.
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
" Auto read files externally modified
set autoread
" MAPPINGS """""""""""""""""""""""""""""""- {{{
" Mappings code goes here.
nnoremap <space> <Nop>
let g:mapleader=" "
if (exists(':NERDTreeToggle'))
nnoremap <leader>e :NERDTreeToggle<CR>
endif
" reselect visual block after indent
vnoremap < <gv
vnoremap > >gv
"for dealing with word wrap
" nnoremap k gk
" nnoremap j gj
nnoremap <leader>h :nohls<CR>
nnoremap <leader>q :q<CR>
" easy colon
nnoremap ; :
" easy save
nnoremap <C-s> :w<CR>
inoremap <C-s> <ESC>:w<CR>
" highlight move
vnoremap <J> :m '>+1<CR>gv=gv
vnoremap <K> :m '<-2<CR>gv=gv
" remove the break line
nnoremap J mzJ`z
" keep the cursor centered when page down/up
nnoremap <C-d> <C-d>zz
nnoremap <C-u> <C-u>zz
" keep the cursor centered when searching next/prev
nnoremap n nzzzv
nnoremap N Nzzzv
" sane paste, will keep the copy value instead of replace it with the deleted one (this breaks IDEA VIM)
" xnoremap p [["_dP]])
" search outside vim
nnoremap <C-f> <cmd>silent !tmux neww tmux-sessionizer<CR>
" let g:camelcasemotion_key = '<leader>'
" }}}
" VIMSCRIPT """"""""""""""""""""""""""""""" {{{
" More Vimscripts code goes here.
" }}}
" STATUS LINE """""""""""""""""""""""""""""" {{{
" Status bar code goes here.
" }}}
"
" SETTINGS AFTER plugins load
" colorscheme gruvbox
set background=dark