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 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250
| """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " " ██╗ ██╗██╗███╗ ███╗██████╗ ██████╗ " ██║ ██║██║████╗ ████║██╔══██╗██╔════╝ " ██║ ██║██║██╔████╔██║██████╔╝██║ " ╚██╗ ██╔╝██║██║╚██╔╝██║██╔══██╗██║ " ╚████╔╝ ██║██║ ╚═╝ ██║██║ ██║╚██████╗ " ╚═══╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ " """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Disable compatibility with vi which can cause unexpected issues. set nocompatible
" Enable type file detection. Vim will be able to try to detect the type of file is 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 the file. set number
" Highlight cursor line underneath the cursor horizontally. set cursorline
" Highlight cursor line underneath the cursor vertically. set cursorcolumn
" Set shift width to 4 spaces. set shiftwidth=4
" Set tab width to 4 columns. set tabstop=4
" 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
" 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
" PLUGINS ---------------------------------------------------------------- {{{
call plug
Plug 'dense-analysis/ale'
Plug 'preservim/nerdtree'
call plug
" }}}
" MAPPINGS --------------------------------------------------------------- {{{
" Set the backslash as the leader key. let mapleader = "\"
" Press \\ to jump back to the last cursor position. nnoremap <leader>\ ``
" Press \p to print the current file to the default printer from a Linux operating system. " View available printers: lpstat -v " Set default printer: lpoptions -d <printer_name> " <silent> means do not display output. nnoremap <silent> <leader>p :%w !lp<CR>
" Type jj to exit insert mode quickly. inoremap jj <Esc>
" Press the space bar to type the : character in command mode. nnoremap <space> :
" Pressing the letter o will open a new line below the current one. " Exit insert mode after creating a new line above or below the current line. nnoremap o o<esc> nnoremap O O<esc>
" Center the cursor vertically when moving to the next word during a search. nnoremap n nzz nnoremap N Nzz
" Yank from cursor to the end of line. nnoremap Y y$
" Map the F5 key to run a Python script inside Vim. " We map F5 to a chain of commands here. " :w saves the file. " <CR> (carriage return) is like pressing the enter key. " !clear runs the external clear screen command. " !python3 % executes the current file with Python. nnoremap <f5> :w <CR>:!clear <CR>:!python3 % <CR>
" You can split the window in Vim by typing :split or :vsplit. " Navigate the split view easier by pressing CTRL+j, CTRL+k, CTRL+h, or CTRL+l. nnoremap <c-j> <c-w>j nnoremap <c-k> <c-w>k nnoremap <c-h> <c-w>h nnoremap <c-l> <c-w>l
" Resize split windows using arrow keys by pressing: " CTRL+UP, CTRL+DOWN, CTRL+LEFT, or CTRL+RIGHT. noremap <c-up> <c-w>+ noremap <c-down> <c-w>- noremap <c-left> <c-w>> noremap <c-right> <c-w><
" NERDTree specific mappings. " Map the F3 key to toggle NERDTree open and close. nnoremap <F3> :NERDTreeToggle<cr>
" Have nerdtree ignore certain files and directories. let NERDTreeIgnore=['\.git$', '\.jpg$', '\.mp4$', '\.ogg$', '\.iso$', '\.pdf$', '\.pyc$', '\.odt$', '\.png$', '\.gif$', '\.db$']
" }}}
" VIMSCRIPT -------------------------------------------------------------- {{{
" Enable the marker method of folding. augroup filetype_vim autocmd! autocmd FileType vim setlocal foldmethod=marker augroup END
" If the current file type is HTML, set indentation to 2 spaces. autocmd Filetype html setlocal tabstop=2 shiftwidth=2 expandtab
" If Vim version is equal to or greater than 7.3 enable undofile. " This allows you to undo changes to a file even after saving it. if version >= 703 set undodir=~/.vim/backup set undofile set undoreload=10000 endif
" You can split a window into sections by typing `:split` or `:vsplit`. " Display cursorline and cursorcolumn ONLY in active window. augroup cursor_off autocmd! autocmd WinLeave * set nocursorline nocursorcolumn autocmd WinEnter * set cursorline cursorcolumn augroup END
" If GUI version of Vim is running set these options. if has('gui_running')
" Set the background tone. set background=dark
" Set the color scheme. colorscheme molokai
" Set a custom font you have installed on your computer. " Syntax: <font_name>\ <weight>\ <size> set guifont=Monospace\ Regular\ 12
" Display more of the file by default. " Hide the toolbar. set guioptions-=T
" Hide the the left-side scroll bar. set guioptions-=L
" Hide the the left-side scroll bar. set guioptions-=r
" Hide the the menu bar. set guioptions-=m
" Hide the the bottom scroll bar. set guioptions-=b
" Map the F4 key to toggle the menu, toolbar, and scroll bar. " <Bar> is the pipe character. " <CR> is the enter key. nnoremap <F4> :if &guioptions=~ \set guioptions-=mTr<Bar> \else<Bar> \set guioptions+=mTr<Bar> \endif<CR>
endif
" }}}
" STATUS LINE ------------------------------------------------------------ {{{
" 状态条当vimrc重新加载的时候 set statusline=
" 左侧的状态条 set statusline+=\ %F\ %M\ %Y\ %R
" 在左右边的中间部分添加分割条 set statusline+=%=
" 右侧的状态条 "set statusline+=\ ascii:\ %b\ hex:\ 0x%B\ row:\ %l\ col:\ %c\ percent:\ %p%%
" 在倒数第二行展示状态条 set laststatus=2
" }}}
|