My vim configuration for JavaScript development. Dependencies availalble:
- yarn 1.16.0
- npm 6.4.1
- node 10.x
- screen (to run in backgroud webpack dev server or something else ...)
Vim sessions can be stored if the /home/node/.vim/sessions
is mapped to a volume.
Today only one session can be saved, because the name of the session refer to the WORKDIR
(/home/node/app
).
So all sessions rewrite the app.node.home.vim
file.
docker run -ti --rm -v $(pwd):/home/node/app shenron/vim-ide
docker run -ti --rm -v $(pwd):/home/node/app vim-ide /bin/bash
vim
If for some reasons you want to install vim-ide
on your host (Gnu Linux / OSX),
- check mandatory dependencies
- python
- git
- cmake
- ctags
- editorconfig
- jsctags
(from npm install -g jsctags)
- tstags
(from npm install -g git+https://github.com/Perlence/tstags.git)
-
clone the project in
~/.vim/
git clone https://github.com/shenron/docker-vim-ide.git ~/.vim/
-
run
cd ~/.vim/ && ./host-install
- pangloss/vim-javascript
- posva/vim-vue
- editorconfig/editorconfig-vim
- Valloric/YouCompleteMe
- Shougo/vimproc.vim
- w0rp/ale
- airblade/vim-gitgutter
- terryma/vim-multiple-cursors
- leafgarland/typescript-vim
- ternjs/tern_for_vim
- Raimondi/delimitMate
- ctrlpvim/ctrlp.vim
- scrooloose/nerdtree
- majutsushi/tagbar
- Yggdroot/indentLine
- jacquesbh/vim-showmarks
- sjl/gundo.vim
- vim-airline/vim-airline
- severin-lemaignan/vim-minimap
- tpope/vim-fugitive
- NLKNguyen/papercolor-theme
- crusoexia/vim-monokai
- morhetz/gruvbox
- acarapetis/vim-colors-github
- vim-airline/vim-airline-themes
-
tabs navigation
nnoremap <S-Tab> :tabprevious<CR>
nnoremap <Tab> :tabnext<CR>
-
NerdTree toggle
map <silent> <C-o> :NERDTreeToggle<CR>
map <silent> <C-f> :NERDTreeFind<CR>
-
Align file
:nnoremap <localleader>= <Esc>gg=G<C-o>
-
outindent /indent
vnoremap < <gv
vnoremap > >gv
-
tagbar
nmap <C-g> :TagbarToggle<CR>
-
Gundo toggle
map <silent> <C-h> :GundoToggle<CR>
-
show buffer
:nnoremap <localleader>b :ls<CR>:buffer<Space>
-
marks
:nnoremap <localleader>m :<CR>:DoShowMarks<CR>
:nnoremap <localleader>m! :<CR>:NoShowMarks<CR>
-
delete marks
:delm! | delm A-Z0-9
-
sessions
:nnoremap <localleader>q :<CR>:execute MakeSession()<CR>
:nnoremap <localleader>o :<CR>:execute OpenSession()<CR>