configure vim with completion, code navigation, linting
This commit is contained in:
parent
869f1ab3a1
commit
5e7d4b68f5
7 changed files with 168 additions and 2 deletions
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "docker/.vim/pack/git-plugins/start/spacemacs-theme.vim"]
|
||||||
|
path = docker/.vim/pack/git-plugins/start/spacemacs-theme.vim
|
||||||
|
url = https://github.com/colepeters/spacemacs-theme.vim.git
|
8
Makefile
8
Makefile
|
@ -1,4 +1,4 @@
|
||||||
.PHONY: configure build docker-build-image all build configure clean test
|
.PHONY: configure build docker-build-image all build configure clean test compile_commands shell
|
||||||
|
|
||||||
DOCKER_RUN=docker run -it --mount type=bind,source="$(PWD)"/bake,target=/usr/bake ns-3-leo
|
DOCKER_RUN=docker run -it --mount type=bind,source="$(PWD)"/bake,target=/usr/bake ns-3-leo
|
||||||
|
|
||||||
|
@ -23,3 +23,9 @@ clean: docker-build-image
|
||||||
|
|
||||||
test: docker-build-image
|
test: docker-build-image
|
||||||
$(DOCKER_RUN) /bin/bash -c 'cd source/ns-3-leo/ && ./test.py'
|
$(DOCKER_RUN) /bin/bash -c 'cd source/ns-3-leo/ && ./test.py'
|
||||||
|
|
||||||
|
compile_commands: docker-build-image
|
||||||
|
$(DOCKER_RUN) /bin/bash -c "bear ./bake.py build"
|
||||||
|
|
||||||
|
shell:
|
||||||
|
$(DOCKER_RUN) /bin/bash
|
||||||
|
|
4
docker/.vim/ftplugin/cpp.vim
Normal file
4
docker/.vim/ftplugin/cpp.vim
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
let b:ale_fixers = ['clang-format', 'remove_trailing_lines', 'trim_whitespace']
|
||||||
|
let b:ale_linters = ['clangd']
|
||||||
|
|
||||||
|
setlocal tabstop=8 expandtab shiftwidth=2 smarttab
|
1
docker/.vim/pack/git-plugins/start/ale
Submodule
1
docker/.vim/pack/git-plugins/start/ale
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 7265ceb6d050d1a4642741d248f11e4f2abd37e1
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 056bba9bd05a2c97c63c28216a1c232cfb91529e
|
143
docker/.vimrc
Normal file
143
docker/.vimrc
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
filetype plugin on
|
||||||
|
filetype indent on
|
||||||
|
|
||||||
|
set autoread
|
||||||
|
" :W sudo saves the file
|
||||||
|
" (useful for handling the permission-denied error)
|
||||||
|
command W w !sudo tee % > /dev/null
|
||||||
|
|
||||||
|
" no command execution from modeline
|
||||||
|
set nomodeline
|
||||||
|
|
||||||
|
" Turn on the Wild menu
|
||||||
|
set wildmenu
|
||||||
|
|
||||||
|
" Enable hidden buffers
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
" Clipboard copy & paste
|
||||||
|
"set clipboard=unnamedplus
|
||||||
|
|
||||||
|
" Always show current position
|
||||||
|
set ruler
|
||||||
|
|
||||||
|
" When searching try to be smart about cases
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
" Highlight search results
|
||||||
|
set hlsearch
|
||||||
|
|
||||||
|
" Inenteremental search
|
||||||
|
set incsearch
|
||||||
|
|
||||||
|
" Don't redraw while executing macros (good performance config)
|
||||||
|
set lazyredraw
|
||||||
|
|
||||||
|
" Do not show matching brackets when text indicator is over them
|
||||||
|
" set noshowmatch
|
||||||
|
" let loaded_matchparen = 1
|
||||||
|
|
||||||
|
" No annoying sound on errors
|
||||||
|
set noerrorbells
|
||||||
|
set novisualbell
|
||||||
|
|
||||||
|
set wrap
|
||||||
|
set linebreak
|
||||||
|
set nolist " list disables linebreak
|
||||||
|
|
||||||
|
" Enable syntax highlighting
|
||||||
|
syntax enable
|
||||||
|
|
||||||
|
if (has("termguicolors"))
|
||||||
|
set termguicolors
|
||||||
|
endif
|
||||||
|
|
||||||
|
set t_Co=256
|
||||||
|
|
||||||
|
set background=dark
|
||||||
|
colorscheme spacemacs-theme
|
||||||
|
|
||||||
|
" Use tabs for indent
|
||||||
|
set smarttab
|
||||||
|
set smartindent
|
||||||
|
set autoindent
|
||||||
|
set copyindent
|
||||||
|
set preserveindent
|
||||||
|
|
||||||
|
set wildmode=longest,list,full
|
||||||
|
set wildmenu
|
||||||
|
|
||||||
|
set cursorline
|
||||||
|
set number
|
||||||
|
set relativenumber
|
||||||
|
|
||||||
|
" Transparency
|
||||||
|
"hi Normal guibg=NONE ctermbg=NONE
|
||||||
|
|
||||||
|
"set list!
|
||||||
|
"set listchars=trail:⛤,extends:⟩,precedes:⟨,nbsp:␣,conceal:…
|
||||||
|
|
||||||
|
" Map leader to do extra key combinations
|
||||||
|
let mapleader = " "
|
||||||
|
|
||||||
|
" Toggle paste mode on and off
|
||||||
|
map <leader>pp :setlocal paste!<Enter>
|
||||||
|
|
||||||
|
" Fast saving
|
||||||
|
nmap <leader>w :w!<Enter>
|
||||||
|
|
||||||
|
" Buffer switching
|
||||||
|
nmap <leader>bb :Buffers<Enter>
|
||||||
|
nmap <leader>bl :Buffers<Enter>
|
||||||
|
nmap <leader>bn :bnext<Enter>
|
||||||
|
nmap <leader>bp :bprevious<Enter>
|
||||||
|
|
||||||
|
nmap <leader>ll :Lines<Enter>
|
||||||
|
nmap <leader>mm :Marks<Enter>
|
||||||
|
nmap <leader>ww :Windows<Enter>
|
||||||
|
nmap <leader>hh :History/<Enter>
|
||||||
|
nmap <leader>rr :reg<Enter>
|
||||||
|
|
||||||
|
" finding files
|
||||||
|
nmap <leader>ff :Files<Enter>
|
||||||
|
nmap <leader>pp :FufDir<Enter>
|
||||||
|
|
||||||
|
set statusline+=%#warningmsg#
|
||||||
|
set statusline+=%{SyntasticStatuslineFlag()}
|
||||||
|
set statusline+=%*
|
||||||
|
|
||||||
|
"let g:syntastic_always_populate_loc_list = 1
|
||||||
|
"let g:syntastic_auto_loc_list = 1
|
||||||
|
"let g:syntastic_check_on_open = 1
|
||||||
|
"let g:syntastic_check_on_wq = 0
|
||||||
|
nmap <leader>sp :ALEFindReferences<Enter>
|
||||||
|
nmap <leader>ss :ALESymbolSearch<Enter>
|
||||||
|
nmap <leader>gd :ALEGoToDefinitionInTab<Enter>
|
||||||
|
nmap <leader>?? :ALEHover<Enter>
|
||||||
|
|
||||||
|
" Enable completion where available.
|
||||||
|
" This setting must be set before ALE is loaded.
|
||||||
|
let g:ale_completion_enabled = 1
|
||||||
|
|
||||||
|
let g:ale_fix_on_save = 1
|
||||||
|
|
||||||
|
let g:ale_warn_about_trailing_whitespace = 1
|
||||||
|
let g:ale_warn_about_trailing_lines = 1
|
||||||
|
let g:ale_completion_tsserver_autoimport = 1
|
||||||
|
|
||||||
|
"let g:ale_lint_on_text_changed = 'never'
|
||||||
|
" You can disable this option too
|
||||||
|
" if you don't want linters to run on opening a file
|
||||||
|
"let g:ale_lint_on_enter = 0
|
||||||
|
|
||||||
|
" Set airline theme
|
||||||
|
let g:airline_theme='base16_spacemacs'
|
||||||
|
|
||||||
|
" Load all plugins now.
|
||||||
|
" Plugins need to be added to runtimepath before helptags can be generated.
|
||||||
|
packloadall
|
||||||
|
" Load all of the helptags now, after plugins have been loaded.
|
||||||
|
" All messages and errors will be ignored.
|
||||||
|
silent! helptags ALL
|
||||||
|
|
||||||
|
set omnifunc=ale#completion#OmniFunc
|
|
@ -7,6 +7,7 @@ RUN apt-get update
|
||||||
|
|
||||||
# General dependencies
|
# General dependencies
|
||||||
RUN apt-get install -y \
|
RUN apt-get install -y \
|
||||||
|
bear \
|
||||||
make \
|
make \
|
||||||
git \
|
git \
|
||||||
mercurial \
|
mercurial \
|
||||||
|
@ -32,7 +33,8 @@ RUN apt-get install -y \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
vtun \
|
vtun \
|
||||||
unzip \
|
unzip \
|
||||||
lxc
|
lxc \
|
||||||
|
clangd
|
||||||
|
|
||||||
# QT components
|
# QT components
|
||||||
RUN apt-get install -y \
|
RUN apt-get install -y \
|
||||||
|
@ -74,3 +76,9 @@ WORKDIR /usr/bake
|
||||||
RUN apt-get clean && \
|
RUN apt-get clean && \
|
||||||
rm -rf /var/lib/apt
|
rm -rf /var/lib/apt
|
||||||
|
|
||||||
|
RUN useradd -ms /bin/bash user
|
||||||
|
|
||||||
|
USER user
|
||||||
|
|
||||||
|
ADD --chown=user:user ./.vimrc /home/user/.vimrc
|
||||||
|
ADD --chown=user:user ./.vim /home/user/.vim
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue