Improve vimrc to include more information and settings
+ Add more binds, even if left default, for reference or quick adjusting + Adjust sourcerer.vim for ultra-black background + Set clang_complete to use snippets for code completion in C / C++ + Set clang_complete binds jump-to declaration and jump-out to + and _ respectively + Add information to vimrc to allow adjusting clang options + Highlight column 80 on cpp and c files + Revert to unicode symbols by default, left powerline symbols commented out for now
This commit is contained in:
parent
b73166a724
commit
e11d0b1e20
|
@ -22,5 +22,5 @@ export PATH=$PATH:/opt/
|
|||
|
||||
# Example path for autocompletion using libclang-9-dev package, obtained by the following command
|
||||
# find /usr/ -name libclang.so.1 2>/dev/null
|
||||
#export LIBCLANG="/usr/lib/llvm-9/lib/libclang.so.1"
|
||||
export LIBCLANG="/usr/lib/llvm-10/lib/libclang.so.1"
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ let colors_name = "sourcerer"
|
|||
|
||||
|
||||
" █▓▒░ GUI colors
|
||||
hi Normal guifg=#c2c2b0 guibg=#222222 gui=NONE
|
||||
hi Normal guifg=#c2c2b0 guibg=#000000 gui=NONE
|
||||
hi ColorColumn guifg=NONE guibg=#1c1c1c
|
||||
hi Cursor guifg=NONE guibg=#626262 gui=NONE
|
||||
hi CursorColumn guibg=#2d2d2d
|
||||
|
|
98
.vimrc
98
.vimrc
|
@ -3,7 +3,33 @@
|
|||
|
||||
" General Vim Settings
|
||||
|
||||
" Highlight the column cursor is on
|
||||
" May slow screen redraw time, so off by default
|
||||
""set cursorcolumn
|
||||
|
||||
" Keep the bottom / top of the page n lines from the cursor
|
||||
set scrolloff=5
|
||||
|
||||
" Persistant undo
|
||||
" :help undo-persistence
|
||||
set undodir=~/.vim/undodir
|
||||
set undofile
|
||||
|
||||
" Combine vim clipboard with global clipboard buffer
|
||||
" Allows using y and p to copy into CTRL-C buffer, vice versa
|
||||
" :help 'clipboard'
|
||||
set clipboard+=unnamed
|
||||
|
||||
" Allows true colors in vim (> 8 bit colors)
|
||||
" :help termguicolors
|
||||
set termguicolors
|
||||
|
||||
" Custom formatting based on filetype
|
||||
" :help autocmd
|
||||
"" autocmd FileType yaml set tabstop=2 shiftwidth=2
|
||||
|
||||
" Highlight column 80 in c and cpp files
|
||||
autocmd FileType cpp,c set colorcolumn=80
|
||||
|
||||
" Define function in vim to remove whitespace
|
||||
fun! TrimWhitespace()
|
||||
|
@ -33,7 +59,7 @@ set mouse=a
|
|||
set number
|
||||
|
||||
" Use Powerline symbols
|
||||
"let g:airline_powerline_fonts = 1
|
||||
""let g:airline_powerline_fonts = 1
|
||||
|
||||
" Enable Syntax Highlighting in Vim
|
||||
syntax on
|
||||
|
@ -46,18 +72,22 @@ set nocp
|
|||
set backspace=indent,eol,start
|
||||
|
||||
" Set terminal title when opening file
|
||||
" autocmd BufEnter * let &titlestring = ' ' . expand("%:t")
|
||||
" set title
|
||||
"" autocmd BufEnter * let &titlestring = ' ' . expand("%:t")
|
||||
"" set title
|
||||
|
||||
" Custom Vim Keybindings
|
||||
|
||||
" nnoremap <C-e> <C-w> " Modify and remove leading quotation
|
||||
" :help mappings
|
||||
|
||||
" Set window jump to custom binding
|
||||
" default Ctrl-W conflict - closes browser tabs
|
||||
nnoremap <C-e> <C-w>
|
||||
|
||||
nnoremap <C-b> :!make -C build/
|
||||
" Build and run keybinds
|
||||
"" nnoremap <C-b> :!make -C build/
|
||||
nnoremap <C-b> :!cmake -S . -B ./build/ && cmake --build ./build
|
||||
nnoremap <C-d> :!./build/scrap
|
||||
|
||||
" Vim Plugin Settings
|
||||
|
||||
|
@ -77,8 +107,10 @@ let g:airline_theme='kalisi'
|
|||
let g:ale_hover_to_preview = 1
|
||||
" Hover detail info in balloons
|
||||
""let g:ale_set_balloons = 1
|
||||
let g:ale_sign_error = '🗙'
|
||||
let g:ale_sign_warning = '⚠'
|
||||
let g:ale_sign_error = 'X'
|
||||
let g:ale_sign_warning = '?'
|
||||
""let g:ale_sign_error = '🗙'
|
||||
""let g:ale_sign_warning = '⚠'
|
||||
highlight ALEWarningSign ctermbg=Yellow
|
||||
highlight ALEWarningSign ctermfg=Black
|
||||
highlight ALEWarning ctermbg=DarkYellow
|
||||
|
@ -93,9 +125,9 @@ nmap <silent> <C-j> <Plug>(ale_next_wrap)
|
|||
" Colorizer plugin settings
|
||||
" See :h colorizer in Vim for more info
|
||||
"let g:colorizer_colornames = 0 " Don't color literal names, like red, green, etc
|
||||
let g:colorizer_auto_color = 1
|
||||
"let g:colorizer_skip_comments = 1
|
||||
"let g:colorizer_auto_filetype ='css,html,vim'
|
||||
let g:colorizer_auto_color = 0
|
||||
""let g:colorizer_skip_comments = 1
|
||||
""let g:colorizer_auto_filetype ='css,html,vim'
|
||||
nnoremap <C-c> :ColorToggle<CR>
|
||||
|
||||
" Symbols important to vim / terminal layouts
|
||||
|
@ -124,20 +156,46 @@ let g:airline_symbols.paste = 'Þ'
|
|||
let g:airline_symbols.paste = '∥'
|
||||
let g:airline_symbols.whitespace = 'Ξ'
|
||||
|
||||
" TODO: Add condition to toggle unicode / airline symbols
|
||||
" By default use unicode for compatability on all systems
|
||||
|
||||
" airline symbols
|
||||
let g:airline_left_sep = ''
|
||||
let g:airline_left_alt_sep = ''
|
||||
let g:airline_right_sep = ''
|
||||
let g:airline_right_alt_sep = ''
|
||||
let g:airline_symbols.branch = ''
|
||||
let g:airline_symbols.readonly = ''
|
||||
let g:airline_symbols.linenr = ''
|
||||
""let g:airline_left_sep = ''
|
||||
""let g:airline_left_alt_sep = ''
|
||||
""let g:airline_right_sep = ''
|
||||
""let g:airline_right_alt_sep = ''
|
||||
""let g:airline_symbols.branch = ''
|
||||
""let g:airline_symbols.readonly = ''
|
||||
""let g:airline_symbols.linenr = ''
|
||||
|
||||
|
||||
" Clang completeion settings
|
||||
|
||||
" If this is set, clang_complete will not be loaded at all
|
||||
""let g:clang_complete_loaded=1
|
||||
" Required clang library path
|
||||
let g:clang_library_path=$LIBCLANG
|
||||
" Clang user option settings examples
|
||||
""let g:clang_user_options='-std=c++11 stdlib=libc++'
|
||||
""let g:clang_user_options='-include malloc.h'
|
||||
|
||||
" The algo used to sort results (priority, alpha, none)
|
||||
let g:clang_sort_algo="priority"
|
||||
let g:clang_close_preview=1
|
||||
let g:clang_jumpto_declaration_key="<C-]>"
|
||||
let g:clang_jumpto_back_key="<C-O>"
|
||||
let g:clang_jumpto_declaration_in_preview_key="\\"
|
||||
let g:clang_jumpto_declaration_key="+"
|
||||
let g:clang_jumpto_back_key="_"
|
||||
|
||||
" Whether or not clang should complete preprocessor patterns
|
||||
let g:clang_complete_macros=1
|
||||
" Whether or not clang should complete programming paterns (for, while, etc)
|
||||
let g:clang_complete_patterns=1
|
||||
|
||||
|
||||
" Following two lines allow clang to complete patterns using snippets
|
||||
let g:clang_snippets=1
|
||||
" Which completion engine to use (clang_complete, ultisnips, snipmate)
|
||||
let g:clang_snippets_engine='clang_complete'
|
||||
" Should clang use placeholders for insertion within snippets
|
||||
" This allows parameters, typenames, etc to be inserted
|
||||
" Use <TAB> in normal mode to move to next param
|
||||
let g:clang_trailing_placeholder=1
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ Once installed, editing source code in vim supports features displayed in the sc
|
|||
|
||||
![Vim screenshot](VimScreenshot.png)
|
||||
|
||||
|
||||
### Install Dotfiles
|
||||
|
||||
Easiest installation is to clone repository into home directory -
|
||||
|
@ -51,17 +52,16 @@ Submodule path '.vim/bundle/vim-signify': checked out '16eee41d2b267523b84bd4ac1
|
|||
|
||||
### Install Clang Completion
|
||||
|
||||
**These configurations require the installation and setup of libclang for clang completion**
|
||||
**These configurations require the installation of clang for clang completion**
|
||||
|
||||
If you don't want clang completion, just remove the plugin directory from `~/.vim/bundle/`.
|
||||
|
||||
If you don't remove clang completion and skip the following steps, vim will show errors when opening source code files. This is because these configurations use clang completion for source code auto completion and drop-down menus within vim.
|
||||
|
||||
I use the `libclang-10-dev` package for this. You can use whichever version you want, but to use the same version as I do, you could run the following commands.
|
||||
Note that the `printf` command may take some time to finish, since it is searching your system for a needed file.
|
||||
|
||||
```bash
|
||||
sudo apt install libclang-10-dev
|
||||
sudo apt install clang
|
||||
printf "export LIBCLANG=\""$(find /usr/ -name libclang.so.1 2>/dev/null)"\"\n\n" >> .bash_aliases
|
||||
echo "let g:clang_library_path=\$LIBCLANG" >> ~/.vimrc
|
||||
source ~/.bashrc
|
||||
|
|
Loading…
Reference in New Issue