[
  {
    "path": ".bashrc",
    "content": "stty -ixon"
  },
  {
    "path": ".vimrc",
    "content": "\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" Huge thanks to \"Amir Salihefendic\" : https://github.com/amix\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n\" It will be prepended with https://github.com/amix/vimrc/tree/master/vimrcs (basic.vim extended.vim)\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => bufExplorer plugin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet g:bufExplorerDefaultHelp=0\nlet g:bufExplorerShowRelativePath=1\nlet g:bufExplorerFindActive=1\nlet g:bufExplorerSortBy='name'\nmap <leader>o :BufExplorer<cr>\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => MRU plugin\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet MRU_Max_Entries = 400\nmap <leader>f :MRU<CR>\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => YankRing\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet g:yankring_history_dir = '/home/developer/.vim_runtime/temp_dirs'\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => CTRL-P\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet g:ctrlp_working_path_mode = 0\n\nlet g:ctrlp_map = '<c-f>'\nmap <leader>j :CtrlP<cr>\nmap <c-b> :CtrlPBuffer<cr>\n\nlet g:ctrlp_max_height = 20\nlet g:ctrlp_custom_ignore = 'node_modules\\|^\\.DS_Store\\|^\\.git\\|^\\.coffee'\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => Vim grep\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet Grep_Skip_Dirs = 'RCS CVS SCCS .svn generated'\nset grepprg=/bin/grep\\ -nH\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => Nerd Tree\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet g:NERDTreeWinPos = \"right\"\nlet g:NERDTreeWinSize=50\nmap <leader>nn :NERDTreeToggle<cr>\nmap <leader>nb :NERDTreeFromBookmark \nmap <leader>nf :NERDTreeFind<cr>\nlet NERDTreeShowHidden=1\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => Nerd Tree Tabs\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => TagBar\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nnmap <F8> :TagbarToggle<CR>\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => vim-go\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nau FileType go nmap <leader>r <Plug>(go-run)\nau FileType go nmap <leader>b <Plug>(go-build)\nau FileType go nmap <leader>t <Plug>(go-test)\nau FileType go nmap <leader>c <Plug>(go-coverage)\nau FileType go nmap <Leader>ds <Plug>(go-def-split)\nau FileType go nmap <Leader>dv <Plug>(go-def-vertical)\nau FileType go nmap <Leader>dt <Plug>(go-def-tab)\nau FileType go nmap <Leader>gd <Plug>(go-doc)\nau FileType go nmap <Leader>gv <Plug>(go-doc-vertical)\nau FileType go nmap <Leader>s <Plug>(go-implements)\nau FileType go nmap <Leader>i <Plug>(go-info)\nau FileType go nmap <Leader>e <Plug>(go-rename)\n\nlet g:go_highlight_functions = 1\nlet g:go_highlight_methods = 1\nlet g:go_highlight_structs = 1\nlet g:go_highlight_operators = 1\nlet g:go_highlight_build_constraints = 1\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => vim-multiple-cursors\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet g:multi_cursor_use_default_mapping=0\n\n\" Default mapping\nlet g:multi_cursor_start_word_key      = '<C-s>'\nlet g:multi_cursor_select_all_word_key = '<A-s>'\nlet g:multi_cursor_start_key           = 'g<C-s>'\nlet g:multi_cursor_select_all_key      = 'g<A-s>'\nlet g:multi_cursor_next_key            = '<C-s>'\nlet g:multi_cursor_prev_key            = '<C-p>'\nlet g:multi_cursor_skip_key            = '<C-x>'\nlet g:multi_cursor_quit_key            = '<Esc>'\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => surround.vim config\n\" Annotate strings with gettext http://amix.dk/blog/post/19678\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nvmap Si S(i_<esc>f)\nau FileType mako vmap Si S\"i${ _(<esc>2f\"a) }<esc>\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => Vim-Airline\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" Always show statusline\nset laststatus=2\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => buffer switch\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nnnoremap <Leader>. :bn<CR>\nnnoremap <Leader>, :bp<CR>\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => color and theme\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nset background=dark\ncolorscheme solarized\nset relativenumber\nset number\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => Snippets\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet g:UltiSnipsExpandTrigger=\"<c-e>\"\nlet g:UltiSnipsJumpForwardTrigger=\"<c-b>\"\nlet g:UltiSnipsJumpBackwardTrigger=\"<c-z>\"\nlet g:UltiSnipsEditSplit=\"vertical\"\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => undotree\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nnnoremap <F5> :UndotreeToggle<cr>\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => Set Vim working directory to the current location\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nset autochdir\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => Set Tabular\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet mapleader=','\nif exists(\":Tabularize\")\n  nmap <Leader>a= :Tabularize /=<CR>\n  vmap <Leader>a= :Tabularize /=<CR>\n  nmap <Leader>a: :Tabularize /:\\zs<CR>\n  vmap <Leader>a: :Tabularize /:\\zs<CR>\nendif\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => Indent Guides\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet g:indent_guides_enable_on_vim_startup = 1\nlet g:indent_guides_guide_size = 1\nnmap <F6> :IndentGuidesToggle<CR>\nset ts=2 sw=2 et\n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => UTF-8\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nset encoding=utf-8 \n\n\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\" => tagbar TypeScript\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\nlet g:tagbar_type_typescript = {\n  \\ 'ctagstype': 'typescript',\n  \\ 'kinds': [\n    \\ 'c:classes',\n    \\ 'n:modules',\n    \\ 'f:functions',\n    \\ 'v:variables',\n    \\ 'v:varlambdas',\n    \\ 'm:members',\n    \\ 'i:interfaces',\n    \\ 'e:enums',\n  \\ ]\n\\ }\n"
  },
  {
    "path": "Dockerfile",
    "content": "FROM jare/alpine-vim:latest\n\n# User config\nENV UID=\"1000\" \\\n    UNAME=\"developer\" \\\n    GID=\"1000\" \\\n    GNAME=\"developer\" \\\n    SHELL=\"/bin/bash\" \\\n    UHOME=/home/developer\n\n# Used to configure YouCompleteMe\nENV GOROOT=\"/usr/lib/go\"\nENV GOBIN=\"$GOROOT/bin\"\nENV GOPATH=\"$UHOME/workspace\"\nENV PATH=\"$PATH:$GOBIN:$GOPATH/bin\"\n\n# User\nRUN apk --no-cache add sudo \\\n# Create HOME dir\n    && mkdir -p \"${UHOME}\" \\\n    && chown \"${UID}\":\"${GID}\" \"${UHOME}\" \\\n# Create user\n    && echo \"${UNAME}:x:${UID}:${GID}:${UNAME},,,:${UHOME}:${SHELL}\" \\\n    >> /etc/passwd \\\n    && echo \"${UNAME}::17032:0:99999:7:::\" \\\n    >> /etc/shadow \\\n# No password sudo\n    && echo \"${UNAME} ALL=(ALL) NOPASSWD: ALL\" \\\n    > \"/etc/sudoers.d/${UNAME}\" \\\n    && chmod 0440 \"/etc/sudoers.d/${UNAME}\" \\\n# Create group\n    && echo \"${GNAME}:x:${GID}:${UNAME}\" \\\n    >> /etc/group\n\n# Install Pathogen\nRUN apk --no-cache add curl \\\n    && mkdir -p \\\n    $UHOME/bundle \\\n    $UHOME/.vim/autoload \\\n    $UHOME/.vim_runtime/temp_dirs \\\n    && curl -LSso \\\n    $UHOME/.vim/autoload/pathogen.vim \\\n    https://tpo.pe/pathogen.vim \\\n    && echo \"execute pathogen#infect('$UHOME/bundle/{}')\" \\\n    > $UHOME/.vimrc \\\n    && echo \"syntax on \" \\\n    >> $UHOME/.vimrc \\\n    && echo \"filetype plugin indent on \" \\\n    >> $UHOME/.vimrc \\\n# Cleanup\n    && apk del curl\n\n# Vim wrapper\nCOPY run /usr/local/bin/\n#custom .vimrc stub\nRUN mkdir -p /ext  && echo \" \" > /ext/.vimrc\n\nCOPY .vimrc $UHOME/my.vimrc\n\nCOPY .bashrc $UHOME/.bashrc\n\n# Vim plugins deps\nRUN apk --update add \\\n    bash \\\n    ctags \\\n    curl \\\n    git \\\n    ncurses-terminfo \\\n    python \\\n# YouCompleteMe\n    && apk add --virtual build-deps \\\n    build-base \\\n    cmake \\\n    go \\\n    llvm \\\n    perl \\\n    python-dev \\\n    && git clone --depth 1  https://github.com/Valloric/YouCompleteMe \\\n    $UHOME/bundle/YouCompleteMe/ \\\n    && cd $UHOME/bundle/YouCompleteMe \\\n    && git submodule update --init --recursive \\\n    && $UHOME/bundle/YouCompleteMe/install.py --gocode-completer \\\n# Install and compile procvim.vim                        \n    && git clone --depth 1 https://github.com/Shougo/vimproc.vim \\\n    $UHOME/bundle/vimproc.vim \\\n    && cd $UHOME/bundle/vimproc.vim \\\n    && make \\\n    && chown $UID:$GID -R $UHOME \\\n# Cleanup\n    && apk del build-deps \\\n    && apk add \\\n    libxt \\\n    libx11 \\\n    libstdc++ \\\n    && rm -rf \\\n    $UHOME/bundle/YouCompleteMe/third_party/ycmd/clang_includes \\\n    $UHOME/bundle/YouCompleteMe/third_party/ycmd/cpp \\\n    /usr/lib/go \\\n    /var/cache/* \\\n    /var/log/* \\\n    /var/tmp/* \\\n    && mkdir /var/cache/apk\n\nUSER $UNAME\n\n# Plugins\nRUN cd $UHOME/bundle/ \\\n    && git clone --depth 1 https://github.com/pangloss/vim-javascript \\\n    && git clone --depth 1 https://github.com/scrooloose/nerdcommenter \\\n    && git clone --depth 1 https://github.com/godlygeek/tabular \\\n    && git clone --depth 1 https://github.com/Raimondi/delimitMate \\\n    && git clone --depth 1 https://github.com/nathanaelkane/vim-indent-guides \\\n    && git clone --depth 1 https://github.com/groenewege/vim-less \\\n    && git clone --depth 1 https://github.com/othree/html5.vim \\\n    && git clone --depth 1 https://github.com/elzr/vim-json \\\n    && git clone --depth 1 https://github.com/bling/vim-airline \\\n    && git clone --depth 1 https://github.com/easymotion/vim-easymotion \\\n    && git clone --depth 1 https://github.com/mbbill/undotree \\\n    && git clone --depth 1 https://github.com/majutsushi/tagbar \\\n    && git clone --depth 1 https://github.com/vim-scripts/EasyGrep \\\n    && git clone --depth 1 https://github.com/jlanzarotta/bufexplorer \\\n    && git clone --depth 1 https://github.com/kien/ctrlp.vim \\\n    && git clone --depth 1 https://github.com/scrooloose/nerdtree \\\n    && git clone --depth 1 https://github.com/jistr/vim-nerdtree-tabs \\\n    && git clone --depth 1 https://github.com/scrooloose/syntastic \\\n    && git clone --depth 1 https://github.com/tomtom/tlib_vim \\\n    && git clone --depth 1 https://github.com/marcweber/vim-addon-mw-utils \\\n    && git clone --depth 1 https://github.com/vim-scripts/taglist.vim \\\n    && git clone --depth 1 https://github.com/terryma/vim-expand-region \\\n    && git clone --depth 1 https://github.com/tpope/vim-fugitive \\\n    && git clone --depth 1 https://github.com/airblade/vim-gitgutter \\\n    && git clone --depth 1 https://github.com/fatih/vim-go \\\n    && git clone --depth 1 https://github.com/plasticboy/vim-markdown \\\n    && git clone --depth 1 https://github.com/michaeljsmith/vim-indent-object \\\n    && git clone --depth 1 https://github.com/terryma/vim-multiple-cursors \\\n    && git clone --depth 1 https://github.com/tpope/vim-repeat \\\n    && git clone --depth 1 https://github.com/tpope/vim-surround \\\n    && git clone --depth 1 https://github.com/vim-scripts/mru.vim \\\n    && git clone --depth 1 https://github.com/vim-scripts/YankRing.vim \\\n    && git clone --depth 1 https://github.com/tpope/vim-haml \\\n    && git clone --depth 1 https://github.com/SirVer/ultisnips \\\n    && git clone --depth 1 https://github.com/honza/vim-snippets \\\n    && git clone --depth 1 https://github.com/derekwyatt/vim-scala \\\n    && git clone --depth 1 https://github.com/christoomey/vim-tmux-navigator \\\n    && git clone --depth 1 https://github.com/ekalinin/Dockerfile.vim \\\n# Theme\n    && git clone --depth 1 \\\n    https://github.com/altercation/vim-colors-solarized\n    \n# Build default .vimrc\nRUN  mv -f $UHOME/.vimrc $UHOME/.vimrc~ \\\n     && curl -s \\\n     https://raw.githubusercontent.com/amix/vimrc/master/vimrcs/basic.vim \\\n     >> $UHOME/.vimrc~ \\\n     && curl -s \\\n     https://raw.githubusercontent.com/amix/vimrc/master/vimrcs/extended.vim \\\n     >> $UHOME/.vimrc~ \\\n     && cat  $UHOME/my.vimrc \\\n     >> $UHOME/.vimrc~ \\\n     && rm $UHOME/my.vimrc \\\n     && sed -i '/colorscheme peaksea/d' $UHOME/.vimrc~\n\n# Pathogen help tags generation\nRUN vim -E -c 'execute pathogen#helptags()' -c q ; return 0\n\nENV TERM=xterm-256color\n\n# List of Vim plugins to disable\nENV DISABLE=\"\"\n\nENTRYPOINT [\"sh\", \"/usr/local/bin/run\"]\n"
  },
  {
    "path": "README.md",
    "content": "#### `jare/vim-bundle:latest`   \n\n[![](http://i.imgur.com/G6KybVM.png)](http://i.imgur.com/G6KybVM.png) \n\n#### [For the more *\"IDE like experience\"* try `jare/drop-in`](https://hub.docker.com/r/jare/drop-in/)  \n[![](http://i.imgur.com/RVTlBBO.png)](http://i.imgur.com/RVTlBBO.png) \n\n#### [Or Vim/Emacs hybrid `jare/spacemacs`](https://hub.docker.com/r/jare/spacemacs/)   \n[![](https://raw.githubusercontent.com/syl20bnr/spacemacs/master/doc/img/spacemacs-python.png)](https://raw.githubusercontent.com/syl20bnr/spacemacs/master/doc/img/spacemacs-python.png) \n\n####  Based on [\"The Ultimate vimrc\"](https://github.com/amix/vimrc)  \n*Make sure to use \"Solarized Dark\" compatible theme or color palette may look weird.*  \n*You can configure terminal color mode by setting TERM variable `docker run ... -e TERM=<VALUE> jare/vim-bundle `\nBy default the `<VALUE>` is `xterm-256color` but for the \"less colorful\" terminals set it to `xterm`.*\n###### **The best way to use:**  \n**Make an alias:**\n`alias edit='docker run -ti --rm -v $(pwd):/home/developer/workspace jare/vim-bundle'`\n**Have fun!**  `edit some.file`\n*Also You can use  this one for getting updates:*  `alias edit_update=\"docker pull jare/vim-bundle:latest\"`\n###### **How to disable some plugins:**  \n`docker run ... -e DISABLE=\"'vim-airline', 'nerdtree'\" ... jare/vim-bundle`\n###### **How to add your plugins and .vimrc:**\n  1. Create a folder with your `.vimrc` file and, if you want to add plugins, subfolder called `bundle` with them.\n  2. mount it: `docker run ... -v <***>/my-stuff:/ext/ ... jare/vim-bundle` \n  *But the best way will be extending this container.*\n\n###### **Plugins:**  \n1. [Airline](https://github.com/bling/vim-airline)  *Lean & mean status/tabline for vim that's light as air*\n2. [Tagbar](https://github.com/majutsushi/tagbar) *Plugin that displays tags in a window, ordered by scope*\n3. [EasyGrep](https://github.com/vim-scripts/EasyGrep) *Fast and Easy Find and Replace Across Multiple Files*\n4. [Bufexplorer](https://github.com/jlanzarotta/bufexplorer) *BufExplorer Plugin for Vim*\n5. [CtrlP](https://github.com/kien/ctrlp.vim) *Fuzzy file, buffer, mru, tag, ... finder with regexp support*\n6. [The NERD Tree](https://github.com/scrooloose/nerdtree) *A tree explorer plugin for vim*\n7. [NERDTree tabs](https://github.com/jistr/vim-nerdtree-tabs) *NERDTree and tabs together in Vim, painlessly*\n8. [Syntastic](https://github.com/scrooloose/syntastic) *Syntax checking hacks for vim*\n9. [Vim-Scala](https://github.com/derekwyatt/vim-scala) *Integration of Scala into Vim - not a ton here, but useful*\n10. [Solarized Colorscheme for Vim](https://github.com/altercation/vim-colors-solarized) *Solarized Colorscheme*\n11. [Taglist](https://github.com/vim-scripts/taglist.vim) *Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc)*\n12. [Vim-expand-region](https://github.com/terryma/vim-expand-region) *Visual selection of increasingly larger regions using the same key combination*\n13. [Fugitive](https://github.com/tpope/vim-fugitive) *fugitive.vim: a Git wrapper so awesome, it should be illegal*\n14. [Gitgutter](https://github.com/airblade/vim-gitgutter) *Plugin which shows a git diff in the gutter (sign column) and stages/reverts hunks*\n15. [Vim-go](https://github.com/fatih/vim-go) *Go development plugin for Vim*\n16. [Vim-markdown](https://github.com/plasticboy/vim-markdown) *Vim Markdown runtime files*\n17. [Vim-indent-object](https://github.com/michaeljsmith/vim-indent-object) *Defines a new text object representing lines of code at the same indent level*\n18. [Vim-multiple-cursor](https://github.com/terryma/vim-multiple-cursors) *True Sublime Text style multiple selections for Vim*\n29. [Vim-repeat](https://github.com/tpope/vim-repeat) *Enable to repeat last change by non built-in commands*\n20. [Vim-surround](https://github.com/tpope/vim-surround) *surround.vim: quoting/parenthesizing made simple*\n21. [The Most Recently Used (MRU)](https://github.com/vim-scripts/mru.vim) *Plugin to manage Most Recently Used (MRU) files*\n22. [YankRing](https://github.com/vim-scripts/YankRing.vim) *Maintains a history of previous yanks, changes and deletes*\n23. [Vim-HAML](https://github.com/tpope/vim-haml) *Vim runtime files for Haml, Sass, and SCSS*\n24. [snipMate & UltiSnip Snippets](https://github.com/honza/vim-snippets) *vim-snipmate default snippets (Previously snipmate-snippets)*\n25. [Easymotion](https://github.com/easymotion/vim-easymotion) *Vim motions on speed!*\n26. [Undotree](https://github.com/mbbill/undotree) *The ultimate undo history visualizer for VIM*\n27. [Vim-javascript](https://github.com/pangloss/vim-javascript) *Vastly improved Javascript indentation and syntax support in Vim.* \n28. [NerdCommenter](https://github.com/scrooloose/nerdcommenter) *Plugin for intensely orgasmic commenting* \n39. [Tabular](https://github.com/godlygeek/tabular) *Script for text filtering and alignment* \n30. [DelimitMate](https://github.com/Raimondi/delimitMate) *Plugin, provides insert mode auto-completion for quotes, parens, brackets, etc.* \n31. [Vim-indent-guides](https://github.com/nathanaelkane/vim-indent-guides) *A Vim plugin for visually displaying indent levels in code* \n32. [Vim-less](https://github.com/groenewege/vim-less) *vim syntax for LESS (dynamic CSS)* \n33. [HTML5.vim](https://github.com/othree/html5.vim) *HTML5 omnicomplete and syntax* \n34. [Vim-json](https://github.com/elzr/vim-json) *Syntax highlighting for JSON in Vim* \n35. [Vim-addon-mw-utils](https://github.com/marcweber/vim-addon-mw-utils) *vim: interpret a file by function and cache file automatically*\n36. [Tlib](https://github.com/tomtom/tlib_vim) *Some utility functions for VIM*\n37. [Vim-tmux-navigator](https://github.com/christoomey/vim-tmux-navigator) *to navigate seamlessly between vim and tmux splits using a consistent set of hotkeys*\n38. [UltiSnips](https://github.com/SirVer/ultisnips) The ultimate snippet solution for Vim! \n39. [YouCompleteMe](https://github.com/Valloric/YouCompleteMe) Fast, as-you-type, fuzzy-search code completion\n40. [Vimproc.vim](https://github.com/Shougo/vimproc.vim) Interactive command execution in Vim\n42. [Dockerfile.vim](https://github.com/ekalinin/Dockerfile.vim) syntax file for Docker's Dockerfile and snippets for snipMate\n\n*[.vimrc](https://github.com/JAremko/alpine-vim/blob/master/.vimrc)*\n\n###### **Working with Golang:**\n  - For the full Golang support you need to mount `/usr/lib/go`. For example, run [`jare/go-tools`](https://hub.docker.com/r/jare/go-tools/) in the detached mode `docker create -v /usr/lib/go --name vim-go-tools jare/go-tools /bin/true` and mount its volumes like this `docker run ...  --volumes-from vim-go-tools ... jare/vim-bundle` or add it to the alias `alias edit=\"docker run -ti --rm --volumes-from go-tools -v $(pwd):/home/developer/workspace jare/vim-bundle\"`\n  - If you want to use a [go-tool](https://hub.docker.com/r/jare/go-tools/) , but [vim-go](https://github.com/fatih/vim-go) doesn't provide a shorthand - you can simply type, for example, `:!gofmt %` and it will output formatted source of the current buffers(`%:p ` absolute file path, `%:h` head of the file name and `%:p:h` is the current directory). If you want to overwrite - use `:% ! gofmt %` The `gofmt` tool used as an example, actually, it covered in vim-go.\n \n###### Alternatively, you can put something like this into .bashrc to automatically bootstrap all containers:  \n\n ``` bash\n#docker vim-bundle\nfunction ed() {\n  local dtc_id=$(docker ps -a -q --filter 'name=vim-go-tools')\n  if [[ -z \"${dtc_id}\" ]]; then\n   echo 'vim-go-tools container not found. Creating...'\n   docker create -v '/usr/lib/go' --name 'vim-go-tools' \\\n     'jare/go-tools' '/bin/true'\n   echo 'Done!'\n  fi\n  echo 'Starting Vim'\n  docker run -ti --rm -p 8080:8080 --volumes-from 'vim-go-tools' \\\n    -v $('pwd'):/home/developer/workspace 'jare/vim-bundle' \"${@}\"\n}\nexport -f ed\n ```\n###### **Keep in mind:**\n  - With something like GNOME terminal You should be able to:\n    - drag and drop text into the Vim.\n    - use mouse right button menu by holding `Shift`.\n  - `<Leader>` mapped to `,`. I use the basic mappings from the great [amix .vimrc](https://github.com/amix/vimrc/tree/master/vimrcs)\n  - You can set the user with the ENV variables [in the Dockerfile](https://github.com/JAremko/alpine-vim/blob/master/Dockerfile#L3)\n  - If Vim or Powerline doesn't look right in the tmux try `tmux -2`\n  - If the Golang auto-complete doesn't work  try  `go install` package\n  - **Leave a comment if you found a bug or if you have a suggestion**\n  - **Any contribution are greatly appreciated as well as new runtime containers!**\n"
  },
  {
    "path": "alpine-vim-base/Dockerfile",
    "content": "# Multistage builds to reduce image size to ~37MB\n# by tuanhtrng\nFROM alpine:latest as builder\n\nMAINTAINER JAremko <w3techplaygound@gmail.com>\n\nWORKDIR /tmp\n\n# Install dependencies\nRUN apk add --no-cache \\\n    build-base \\\n    ctags \\\n    git \\\n    libx11-dev \\\n    libxpm-dev \\\n    libxt-dev \\\n    make \\\n    ncurses-dev \\\n    python \\\n    python-dev\n\n# Build vim from git source\nRUN git clone https://github.com/vim/vim \\\n && cd vim \\\n && ./configure \\\n    --disable-gui \\\n    --disable-netbeans \\\n    --enable-multibyte \\\n    --enable-pythoninterp \\\n    --with-features=big \\\n    --with-python-config-dir=/usr/lib/python2.7/config \\\n && make install\n \n FROM alpine:latest\n \n COPY --from=builder /usr/local/bin/ /usr/local/bin\n COPY --from=builder /usr/local/share/vim/ /usr/local/share/vim/\n # NOTE: man page is ignored\n \n RUN apk add --no-cache \\\n    diffutils \\\n    libice \\\n    libsm \\\n    libx11 \\\n    libxt \\\n    ncurses\n\nENTRYPOINT [\"vim\"]\n"
  },
  {
    "path": "alpine-vim-base/README.md",
    "content": "#### Base for `jare/vim-bundle:latest`\n\n[![](http://i.imgur.com/G6KybVM.png)](http://i.imgur.com/G6KybVM.png)\n"
  },
  {
    "path": "run",
    "content": "#!/bin/bash\nexport PATH=$PATH:$GOROOT/bin:$GOPATH/bin:$GOBIN\ncd /home/developer\necho \"let g:pathogen_disabled = [$DISABLE]\" > .vimrc\necho \"execute pathogen#infect('/ext/bundle/{}')\" >> .vimrc\nmkdir -p /home/developer/.vim_runtime/temp_dirs\ncat .vimrc~ >> .vimrc\necho \"source /ext/.vimrc\" >> .vimrc\nsource /home/developer/.bashrc\ncd /home/developer/workspace/\nvim $@\n"
  }
]