├── .gitignore
├── .gitmodules
├── README.md
├── assets
└── source-code-pro
│ ├── SIL Open Font License.txt
│ ├── SourceCodePro-Black.otf
│ ├── SourceCodePro-BlackIt.otf
│ ├── SourceCodePro-Bold.otf
│ ├── SourceCodePro-BoldIt.otf
│ ├── SourceCodePro-ExtraLight.otf
│ ├── SourceCodePro-ExtraLightIt.otf
│ ├── SourceCodePro-It.otf
│ ├── SourceCodePro-Light.otf
│ ├── SourceCodePro-LightIt.otf
│ ├── SourceCodePro-Medium.otf
│ ├── SourceCodePro-MediumIt.otf
│ ├── SourceCodePro-Regular.otf
│ ├── SourceCodePro-Semibold.otf
│ └── SourceCodePro-SemiboldIt.otf
├── ctags
└── .ctags
├── gvimrcs
└── shortcuts.vim
├── install.sh
├── screenshots
└── screenshot_01.png
└── vimrcs
├── extended.vim
└── plugins.vim
/.gitignore:
--------------------------------------------------------------------------------
1 | # OSX
2 | .DS_STORE
3 |
4 | # Vim
5 | plugged/
6 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "submodules/amix-vimrc"]
2 | path = submodules/amix-vimrc
3 | url = https://github.com/amix/vimrc.git
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vim-go-runtime
2 | Fast and extendable vim-based go development environment. Inspired by farazdagi's vim-go-ide and powering fatih's vim-go plugin.
3 |
4 |
5 |
6 | ## Install
7 |
8 | 0. Get a high enough version of Vim (7.4+) and MacVim:
9 |
10 | ```
11 | $ brew install vim --with-lua
12 | $ brew install macvim --with-lua
13 | ```
14 | You probably need to add this to your `.bash_profile` to pick the right vim:
15 | ```
16 | alias vim="/usr/local/bin/vim"
17 | ```
18 | Don't forget to source afterwards:
19 | ```
20 | $ source ~/.bash_profile
21 | ```
22 |
23 | 1. Backup your old **.vimrc**, **.gvimrc** or **.ctags** if you have any:
24 |
25 | ```$ cp ~/.vimrc ~/.vimrc_backup```
26 |
27 | 2. Clone this repository to your home folder and run the install script (this takes some time):
28 |
29 | ```
30 | $ git clone --recursive git@github.com:codepushr/vim-go-runtime.git ~/.vim-go-runtime
31 | $ sh ~/.vim-go-runtime/install.sh
32 | ```
33 |
34 | 4. Install Go binaries (inside Vim):
35 |
36 | ```
37 | :GoInstallBinaries
38 | ```
39 |
40 | ## Troubleshooting
41 |
42 | ##### After cloning the repository I'm getting the following git error
43 |
44 | ```
45 | No submodule mapping found in .gitmodules for path 'sources_non_forked/gruvbox'
46 | Failed to recurse into submodule path 'submodules/amix-vimrc'
47 | ```
48 | Simply ignore this. This is a gruvbox submodule error in amix' repository (from which we use the base vimrc config). This setup even includes gruvbox with the vim-colorschemes plugin.
49 |
50 | ##### I'm getting a YouCompleteMe error after running the install script
51 |
52 | ```
53 | ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected;
54 | you need to compile YCM before using it. Read the docs!
55 | ```
56 | This is just a warning, don't be scared. Just let the install script finish and it will compile it afterwards. Everything should run just fine after the script ends.
57 |
58 | ## Vimrcs
59 |
60 | There are several vimrcs that play together in this configuration.
61 |
62 | 1. The base vimrc by amix located in `submodules/amix-vimrc/vimrcs/basic.vim`
63 | 2. The extended vimrc for custom configs located in `vimrc/extended.vim`
64 | 3. The plugins vimrc with the list of plugins an their configs located in `vimrcs/plugins.vim`
65 | 4. The shortcut config for mvim (gui_running) located in `gvimrcs/shortcuts.vim`
66 |
67 | ## Plugins
68 |
69 |
70 |
71 | Plugin |
72 | Description |
73 |
74 |
75 | Valloric/YouCompleteMe |
76 | You need this for proper auto completion when coding in go. |
77 |
78 |
79 | kien/ctrlp |
80 | Switch between files, buffers or tags in no time. Yeah! |
81 |
82 |
83 | xolox/vim-misc |
84 | Dependency for vim-session, see below. |
85 |
86 |
87 | xolox/vim-session |
88 | Don't abuse tmux, use vim-session to reopen all your buffers! |
89 |
90 |
91 | fatih/vim-go |
92 | This is THE golang plugin for vim! The reason I switched to vim. |
93 |
94 |
95 | garyburd/go-explorer |
96 | Nice to have plugin to show documentation for a specific package. |
97 |
98 |
99 | sirver/ultisnips |
100 | Really useful plugin if you want to generate boilerplate code. |
101 |
102 |
103 | tpope/vim-fugitive |
104 | Git integration to check commits, status and more directly in vim. |
105 |
106 |
107 | tomtom/tcomment_vim |
108 | Plugin for super fast and convenient commenting (inline, block). |
109 |
110 |
111 | scrooloose/nerdtree |
112 | Shows a file tree on the left and lets you modify files directly in vim. |
113 |
114 |
115 | Raimondi/delimitMate |
116 | Very useful plugin for auto-completing quotes, parens, brackets etc. |
117 |
118 |
119 | rking/ag |
120 | This plugin lets you browse for code throughout your whole project. |
121 |
122 |
123 | majutsushi/tagbar |
124 | Shows a sexy tag-bar on the right and lets you jump directly to tags. |
125 |
126 |
127 | ap/vim-buftabline |
128 | Displays a bar on the top showing all your open buffers. |
129 |
130 |
131 | itchyny/lightline |
132 | This plugin shows a nice status bar and is very configurable. |
133 |
134 |
135 | flazz/vim-colorschemes |
136 | Gives you tons of color schemes for vim. |
137 |
138 |
139 | mhinz/vim-sayonara |
140 | This plugin helps you to close buffers or whole windows. |
141 |
142 |
143 |
144 | ## Leader
145 |
146 | The leader is configured as `,`
147 |
148 | ## Shortcuts
149 |
150 | Here's a quick list of shortcuts that I configured. You can change them to your needs in `vimrcs/extended.vim` or `vimrcs/plugins.vim` or `gvimrcs/shortcuts.vim`.
151 |
152 | #### Navigation
153 |
154 |