From cfb20648fd7e0200024ed6dcaa96fa726fe7c598 Mon Sep 17 00:00:00 2001 From: REAANDREW Date: Sun, 22 Feb 2015 22:32:00 +0000 Subject: [PATCH 01/10] Updating with some GO goodness --- Vagrantfile | 2 +- home/.bashrc | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++ home/.vimrc | 9 +++- 3 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 home/.bashrc diff --git a/Vagrantfile b/Vagrantfile index 3f493b1..38ce6a0 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -34,7 +34,7 @@ end Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.hostname = "devenv" - config.vm.box = "chef/debian-7.6" + config.vm.box = "chef/ubuntu-14.04" config.vm.network "private_network", ip: "192.168.56.2" if setup.has_key? 'syncedFolders' setup["syncedFolders"].each do |sync| diff --git a/home/.bashrc b/home/.bashrc new file mode 100644 index 0000000..abda085 --- /dev/null +++ b/home/.bashrc @@ -0,0 +1,121 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +case $- in + *i*) ;; + *) return;; +esac + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +#force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +else + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" + ;; +*) + ;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + alias grep='grep --color=auto' + alias fgrep='fgrep --color=auto' + alias egrep='egrep --color=auto' +fi + +# some more ls aliases +alias ll='ls -alF' +alias la='ls -A' +alias l='ls -CF' + +# Add an "alert" alias for long running commands. Use like so: +# sleep 10; alert +alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if ! shopt -oq posix; then + if [ -f /usr/share/bash-completion/bash_completion ]; then + . /usr/share/bash-completion/bash_completion + elif [ -f /etc/bash_completion ]; then + . /etc/bash_completion + fi +fi +export TERM='xterm-256color' + +export NVM_DIR="/home/vagrant/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm +source ~/.nvm/nvm.sh +nvm use 0.10 +PATH=$PATH:${GOPATH//://bin:}/bin diff --git a/home/.vimrc b/home/.vimrc index 2066ea8..6955372 100644 --- a/home/.vimrc +++ b/home/.vimrc @@ -25,7 +25,7 @@ endfun let g:vim_addon_manager.scms.git.clone=['MyGitCheckout'] call SetupVAM() -VAMActivate The_NERD_tree jellybeans vim-addon-commenting github:geekjuice/vim-spec vim-autoformat github:sickill/vim-monokai tlib vim-snippets snipmate matchit.zip github:airblade/vim-gitgutter Tagbar powerline fugitive github:editorconfig/editorconfig-vim github:tpope/vim-cucumber github:digitaltoad/vim-jade github:kristijanhusak/vim-multiple-cursors +VAMActivate The_NERD_tree jellybeans vim-addon-commenting github:geekjuice/vim-spec vim-autoformat github:sickill/vim-monokai tlib vim-snippets snipmate matchit.zip github:airblade/vim-gitgutter Tagbar powerline fugitive github:editorconfig/editorconfig-vim github:tpope/vim-cucumber github:digitaltoad/vim-jade github:kristijanhusak/vim-multiple-cursors github:nsf/gocode github:fatih/vim-go github:vim-jp/vim-go-extra github:rjohnsondev/vim-compiler-go github:ervandew/supertab colorscheme jellybeans @@ -65,6 +65,13 @@ nmap :NERDTreeToggle nmap :TagbarToggle let g:NERDTreeDirArrows=0 + +"Super tab settings - uncomment the next 4 lines +let g:SuperTabDefaultCompletionType = 'context' +let g:SuperTabContextDefaultCompletionType = "" +let g:SuperTabDefaultCompletionTypeDiscovery = ["&omnifunc:","&completefunc:"] +let g:SuperTabClosePreviewOnPopupClose = 1 + "map t :call RunCurrentSpecFile() "map s :call RunNearestSpec() "map l :call RunLastSpec() From 8770912813fce5f8e7c8bc25080e51f246833632 Mon Sep 17 00:00:00 2001 From: REAANDREW Date: Sun, 8 Mar 2015 09:40:37 +0000 Subject: [PATCH 02/10] Adding golang install, golang env variables and the vim-go-compiler to the vimrc --- bootstrap.sh | 16 ++++++++++++++++ home/.bashrc | 6 +++++- home/.vimrc | 9 +-------- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index e113191..76fb604 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -45,6 +45,22 @@ case $(id -u) in curl -sSL https://get.docker.com/ | sudo sh fi + if ! hash go 2>/dev/null; then + echo "Installing golang" + VERSION="1.4" + OS="linux" + ARCH="amd64" + + FILE="go$VERSION.$OS-$ARCH.tar.gz" + + if [ ! -e $FILE ] + then + wget "https://storage.googleapis.com/golang/$FILE" + fi + + sudo tar -C /usr/local -xzf "$FILE" + fi + if ! hash fig 2>/dev/null; then echo "Installing fig" sudo pip install -U fig diff --git a/home/.bashrc b/home/.bashrc index abda085..85c58d2 100644 --- a/home/.bashrc +++ b/home/.bashrc @@ -118,4 +118,8 @@ export NVM_DIR="/home/vagrant/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm source ~/.nvm/nvm.sh nvm use 0.10 -PATH=$PATH:${GOPATH//://bin:}/bin +mkdir -p $HOME/go +export GOROOT=/usr/local/go +export PATH=$PATH:$GOROOT/bin +export GOPATH=$HOME/go +export PATH=$PATH:${GOPATH//://bin:}/bin diff --git a/home/.vimrc b/home/.vimrc index 6955372..107f25b 100644 --- a/home/.vimrc +++ b/home/.vimrc @@ -25,7 +25,7 @@ endfun let g:vim_addon_manager.scms.git.clone=['MyGitCheckout'] call SetupVAM() -VAMActivate The_NERD_tree jellybeans vim-addon-commenting github:geekjuice/vim-spec vim-autoformat github:sickill/vim-monokai tlib vim-snippets snipmate matchit.zip github:airblade/vim-gitgutter Tagbar powerline fugitive github:editorconfig/editorconfig-vim github:tpope/vim-cucumber github:digitaltoad/vim-jade github:kristijanhusak/vim-multiple-cursors github:nsf/gocode github:fatih/vim-go github:vim-jp/vim-go-extra github:rjohnsondev/vim-compiler-go github:ervandew/supertab +VAMActivate The_NERD_tree jellybeans vim-addon-commenting github:geekjuice/vim-spec vim-autoformat github:sickill/vim-monokai tlib vim-snippets snipmate matchit.zip github:airblade/vim-gitgutter Tagbar powerline fugitive github:editorconfig/editorconfig-vim github:tpope/vim-cucumber github:digitaltoad/vim-jade github:kristijanhusak/vim-multiple-cursors vim-go github:rjohnsondev/vim-compiler-go colorscheme jellybeans @@ -65,13 +65,6 @@ nmap :NERDTreeToggle nmap :TagbarToggle let g:NERDTreeDirArrows=0 - -"Super tab settings - uncomment the next 4 lines -let g:SuperTabDefaultCompletionType = 'context' -let g:SuperTabContextDefaultCompletionType = "" -let g:SuperTabDefaultCompletionTypeDiscovery = ["&omnifunc:","&completefunc:"] -let g:SuperTabClosePreviewOnPopupClose = 1 - "map t :call RunCurrentSpecFile() "map s :call RunNearestSpec() "map l :call RunLastSpec() From 2e5a751208f98dfeca25f75bc0b90e3fcc7fbb54 Mon Sep 17 00:00:00 2001 From: James Allen Date: Thu, 5 Feb 2015 13:51:56 +0000 Subject: [PATCH 03/10] Change name of vm. Increased history limit. Added wemux attached users to wemux status bar --- Vagrantfile | 2 +- bootstrap.sh | 5 +++++ home/.tmux.conf | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Vagrantfile b/Vagrantfile index 38ce6a0..5193f35 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -44,7 +44,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.ssh.forward_agent = true config.vm.provider :virtualbox do |vb| - vb.name = "devenv" + vb.name = "jamlen-devenv" vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] vb.customize ["modifyvm", :id, "--memory", "4096"] end diff --git a/bootstrap.sh b/bootstrap.sh index 76fb604..b43e06e 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -1,5 +1,10 @@ #!/usr/bin/env bash +# +# TODO: Replace lots of this with reading the config.json file via jq rather than +# relying on arg being passed to the script +# + if [ $# -lt 1 ] ; then echo "You must specify at least 1 argument." exit 1 diff --git a/home/.tmux.conf b/home/.tmux.conf index 75e6fab..b31a8c6 100644 --- a/home/.tmux.conf +++ b/home/.tmux.conf @@ -31,6 +31,8 @@ set-option -g display-panes-colour colour166 #orange # clock set-window-option -g clock-mode-colour green #green +# set the scrollback history limit +set-option -g history-limit 5000 set -g status-interval 1 set -g status-justify centre # center align window list From 387396c049a8de0dd2c4e46b14256626f4f17434 Mon Sep 17 00:00:00 2001 From: REAANDREW Date: Sun, 22 Feb 2015 22:32:00 +0000 Subject: [PATCH 04/10] Updating with some GO goodness --- home/.vimrc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/home/.vimrc b/home/.vimrc index 107f25b..6955372 100644 --- a/home/.vimrc +++ b/home/.vimrc @@ -25,7 +25,7 @@ endfun let g:vim_addon_manager.scms.git.clone=['MyGitCheckout'] call SetupVAM() -VAMActivate The_NERD_tree jellybeans vim-addon-commenting github:geekjuice/vim-spec vim-autoformat github:sickill/vim-monokai tlib vim-snippets snipmate matchit.zip github:airblade/vim-gitgutter Tagbar powerline fugitive github:editorconfig/editorconfig-vim github:tpope/vim-cucumber github:digitaltoad/vim-jade github:kristijanhusak/vim-multiple-cursors vim-go github:rjohnsondev/vim-compiler-go +VAMActivate The_NERD_tree jellybeans vim-addon-commenting github:geekjuice/vim-spec vim-autoformat github:sickill/vim-monokai tlib vim-snippets snipmate matchit.zip github:airblade/vim-gitgutter Tagbar powerline fugitive github:editorconfig/editorconfig-vim github:tpope/vim-cucumber github:digitaltoad/vim-jade github:kristijanhusak/vim-multiple-cursors github:nsf/gocode github:fatih/vim-go github:vim-jp/vim-go-extra github:rjohnsondev/vim-compiler-go github:ervandew/supertab colorscheme jellybeans @@ -65,6 +65,13 @@ nmap :NERDTreeToggle nmap :TagbarToggle let g:NERDTreeDirArrows=0 + +"Super tab settings - uncomment the next 4 lines +let g:SuperTabDefaultCompletionType = 'context' +let g:SuperTabContextDefaultCompletionType = "" +let g:SuperTabDefaultCompletionTypeDiscovery = ["&omnifunc:","&completefunc:"] +let g:SuperTabClosePreviewOnPopupClose = 1 + "map t :call RunCurrentSpecFile() "map s :call RunNearestSpec() "map l :call RunLastSpec() From 647259abd90a8c1cd91366c9477bf571454a7d19 Mon Sep 17 00:00:00 2001 From: REAANDREW Date: Sat, 28 Mar 2015 05:33:03 +0000 Subject: [PATCH 05/10] minor updates --- .gitignore | 2 ++ config.example.json | 27 --------------------------- 2 files changed, 2 insertions(+), 27 deletions(-) delete mode 100644 config.example.json diff --git a/.gitignore b/.gitignore index b2a831e..9d65825 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +/home/.ssh/ +.DS_Store .vagrant/ *.json *.box diff --git a/config.example.json b/config.example.json deleted file mode 100644 index 9bc1ad5..0000000 --- a/config.example.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "syncedFolders": [{ - "source": "../dev", - "dest": "/usr/src/dev" - }, { - "source": "../dev/test-project", - "dest": "/usr/src/test" - }], - "git": { - "version": "2.1.2", - "user": { - "name": "James Allen", - "email": "someone@somewhere.com" - } - }, - "proxy": { - "useSystemProxy": true - }, - "npm": { - "useSystemProxy": true, - "registry": "http://mynpmregistry.org/" - }, - "hosts": [{ - "ip": "192.168.1.25", - "names": ["somednsname.local", "somednsname"] - }] -} From d9a77cc1394eb9552d908b365947e5df24824e50 Mon Sep 17 00:00:00 2001 From: REAANDREW Date: Sat, 28 Mar 2015 07:07:08 +0000 Subject: [PATCH 06/10] Changed the pip installation from apt-get to a wget from their site and manual install. The apt-get install is not stable and has an on-going bug Replace fig with docker-compose Improved the golang installation making sure all the relevant ENV variables are set and home path for development --- Vagrantfile | 2 +- bootstrap.sh | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 38ce6a0..2952240 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -69,7 +69,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.provision :file, source: "./home/.gitconfig", destination: "~/.gitconfig" config.vm.provision :ventriloquist do |env| - env.packages << %w( tmux build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext libz-dev checkinstall exuberant-ctags curl python-pip vim-nox cmake dstat gnuplot gdb unzip autoconf automake libtool ) + env.packages << %w( tmux build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext libz-dev checkinstall exuberant-ctags curl vim-nox cmake dstat gnuplot gdb unzip autoconf automake libtool ) end args = bootstrap_args setup diff --git a/bootstrap.sh b/bootstrap.sh index b43e06e..5632804 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -45,6 +45,12 @@ case $(id -u) in git config --global user.email "$git_email" fi + if ! hash pip 2>/dev/null; then + echo "Installing pip" + wget https://bootstrap.pypa.io/get-pip.py + sudo python get-pip.py + fi + if ! hash docker 2>/dev/null; then echo "Installing docker" curl -sSL https://get.docker.com/ | sudo sh @@ -64,12 +70,17 @@ case $(id -u) in fi sudo tar -C /usr/local -xzf "$FILE" + echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.profile + echo 'mkdir -p $HOME/go' >> $HOME/.profile + echo 'export GOROOT=/usr/local/go' >> $HOME/.profile + echo 'export PATH=$PATH:$GOROOT/bin' >> $HOME/.profile + echo 'export GOPATH=$HOME/go' >> $HOME/.profile + echo 'export PATH=$PATH:${GOPATH//://bin:}/bin' >> $HOME/.profile fi - if ! hash fig 2>/dev/null; then - echo "Installing fig" - sudo pip install -U fig - #sudo curl -L https://github.com/docker/fig/releases/download/1.0.0/fig-`uname -s`-`uname -m` > /usr/local/bin/fig; sudo chmod +x /usr/local/bin/fig + if ! hash dockercompose 2>/dev/null; then + echo "Installing docker-compose" + sudo pip install -U docker-compose fi if ! grep -qe "^export TERM='xterm-256color'$"~/.bashrc; then From cb224f2532bacbc857c36663fe0d70c0d2bf17e9 Mon Sep 17 00:00:00 2001 From: REAANDREW Date: Sat, 28 Mar 2015 07:12:55 +0000 Subject: [PATCH 07/10] Putting the config.exampe.json file back in. Deleted it by mistake --- config.example.json | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 config.example.json diff --git a/config.example.json b/config.example.json new file mode 100644 index 0000000..9bc1ad5 --- /dev/null +++ b/config.example.json @@ -0,0 +1,27 @@ +{ + "syncedFolders": [{ + "source": "../dev", + "dest": "/usr/src/dev" + }, { + "source": "../dev/test-project", + "dest": "/usr/src/test" + }], + "git": { + "version": "2.1.2", + "user": { + "name": "James Allen", + "email": "someone@somewhere.com" + } + }, + "proxy": { + "useSystemProxy": true + }, + "npm": { + "useSystemProxy": true, + "registry": "http://mynpmregistry.org/" + }, + "hosts": [{ + "ip": "192.168.1.25", + "names": ["somednsname.local", "somednsname"] + }] +} From 91e1b798d9dbb9e229ca3304cb9d097544acbf18 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 28 Mar 2015 07:45:49 +0000 Subject: [PATCH 08/10] Did a manual install of git-flow as again the apt-get install did not work correctly --- bootstrap.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bootstrap.sh b/bootstrap.sh index 5632804..d29a084 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -44,6 +44,13 @@ case $(id -u) in git config --global user.name "$git_name" git config --global user.email "$git_email" fi + + if ! hash "git flow" 2>/dev/null; then + echo "git flow" + git clone --recursive git://github.com/nvie/gitflow.git + (cd gitflow && sudo make prefix=/opt/local install) + sudo ln -s /opt/local/bin/git-flow /usr/bin/git-flow + fi if ! hash pip 2>/dev/null; then echo "Installing pip" From 37103f8e65cb9893a89049bc54f3d1736316fdaf Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 28 Mar 2015 07:57:56 +0000 Subject: [PATCH 09/10] Fixed the git-flow install and added to path instead of soft linking --- bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap.sh b/bootstrap.sh index d29a084..47c600f 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -49,7 +49,7 @@ case $(id -u) in echo "git flow" git clone --recursive git://github.com/nvie/gitflow.git (cd gitflow && sudo make prefix=/opt/local install) - sudo ln -s /opt/local/bin/git-flow /usr/bin/git-flow + echo 'export PATH=$PATH:/opt/local/bin' >> $HOME/.profile fi if ! hash pip 2>/dev/null; then From b2c98a060f51148de617249222239e447ff23fd8 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 10 May 2015 18:04:46 +0100 Subject: [PATCH 10/10] Updating the .vimrc --- home/.vimrc | 231 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 186 insertions(+), 45 deletions(-) diff --git a/home/.vimrc b/home/.vimrc index 6955372..ad70057 100644 --- a/home/.vimrc +++ b/home/.vimrc @@ -1,32 +1,39 @@ " put this line first in ~/.vimrc -set nocompatible | filetype indent plugin on | syn on - -fun! SetupVAM() - let c = get(g:, 'vim_addon_manager', {}) - let g:vim_addon_manager = c - let c.plugin_root_dir = expand('$HOME', 1) . '/.vim/vim-addons' - " most used options you may want to use: - " let c.log_to_buf = 1 - " let c.auto_install = 0 - let &rtp.=(empty(&rtp)?'':',').c.plugin_root_dir.'/vim-addon-manager' - if !isdirectory(c.plugin_root_dir.'/vim-addon-manager/autoload') - execute '!git clone --depth=1 https://github.com/MarcWeber/vim-addon-manager ' - \ shellescape(c.plugin_root_dir.'/vim-addon-manager', 1) - endif - call vam#ActivateAddons([], {'auto_install' : 0}) - call vam#ActivateAddons(['powerline']) -endfun - -let g:vim_addon_manager = {'scms': {'git': {}}} -fun! MyGitCheckout(repository, targetDir) - let a:repository.url = substitute(a:repository.url, '^git://github', 'http://github', '') - return vam#utils#RunShell('git clone --depth=1 $.url $p', a:repository, a:targetDir) -endfun -let g:vim_addon_manager.scms.git.clone=['MyGitCheckout'] - -call SetupVAM() -VAMActivate The_NERD_tree jellybeans vim-addon-commenting github:geekjuice/vim-spec vim-autoformat github:sickill/vim-monokai tlib vim-snippets snipmate matchit.zip github:airblade/vim-gitgutter Tagbar powerline fugitive github:editorconfig/editorconfig-vim github:tpope/vim-cucumber github:digitaltoad/vim-jade github:kristijanhusak/vim-multiple-cursors github:nsf/gocode github:fatih/vim-go github:vim-jp/vim-go-extra github:rjohnsondev/vim-compiler-go github:ervandew/supertab - +set nocompatible | syn on +filetype off + +" set the runtime path to include Vundle and initialize +set rtp+=~/.vim/bundle/Vundle.vim +call vundle#begin() + +Plugin 'gmarik/Vundle.vim' +Plugin 'scrooloose/nerdtree' +Plugin 'nanotech/jellybeans.vim' +Plugin 'vim-addon-commenting' +Plugin 'geekjuice/vim-spec' +Plugin 'Chiel92/vim-autoformat' +Plugin 'sickill/vim-monokai' +Plugin 'tomtom/tlib_vim' +Plugin 'airblade/vim-gitgutter' +Plugin 'vim-scripts/Tagbar' +Plugin 'tpope/vim-fugitive' +Plugin 'editorconfig/editorconfig-vim' +Plugin 'tpope/vim-cucumber' +Plugin 'digitaltoad/vim-jade' +Plugin 'kristijanhusak/vim-multiple-cursors' +Plugin 'nsf/gocode' +Plugin 'fatih/vim-go' +Plugin 'vim-jp/vim-go-extra' +Plugin 'rjohnsondev/vim-compiler-go' +Plugin 'Shougo/neocomplete' +Plugin 'Shougo/neosnippet' +Plugin 'reaandrew/neosnippet-snippets' +Plugin 'derekwyatt/vim-scala' + +call vundle#end() " required +filetype plugin indent on " required +filetype plugin on +set omnifunc=syntaxcomplete#Complete colorscheme jellybeans @@ -55,25 +62,159 @@ set foldnestmax=10 nnoremap za set foldmethod=indent - syntax on -filetype plugin indent on - noremap :Autoformat nmap :NERDTreeToggle nmap :TagbarToggle -let g:NERDTreeDirArrows=0 - - -"Super tab settings - uncomment the next 4 lines -let g:SuperTabDefaultCompletionType = 'context' -let g:SuperTabContextDefaultCompletionType = "" -let g:SuperTabDefaultCompletionTypeDiscovery = ["&omnifunc:","&completefunc:"] -let g:SuperTabClosePreviewOnPopupClose = 1 - -"map t :call RunCurrentSpecFile() -"map s :call RunNearestSpec() -"map l :call RunLastSpec() -"map a :call RunAllSpecs() - +let g:NERDTreeDirArrows=1 + +let g:EclimCompletionMethod = 'omnifunc' +if !exists('g:neocomplete#force_omni_input_patterns') + let g:neocomplete#force_omni_input_patterns = {} +endif +let g:neocomplete#force_omni_input_patterns.java = '\k\.\k*' +let g:neocomplete#force_omni_input_patterns.scala = '\k\.\k*' + +highlight Normal ctermbg=none +highlight NonText ctermbg=none + +let g:Powerline_symbols = "fancy" +source /home/vagrant/.local/lib/python2.7/site-packages/powerline/bindings/vim/plugin/powerline.vim +set laststatus=2 + +" GOLANG settings + +au FileType go nmap r (go-run) +au FileType go nmap b (go-build) +au FileType go nmap t (go-test) +au FileType go nmap c (go-coverage) +au FileType go nmap ds (go-def-split) +au FileType go nmap dv (go-def-vertical) +au FileType go nmap dt (go-def-tab) +au FileType go nmap gd (go-doc) +au FileType go nmap gv (go-doc-vertical) +au FileType go nmap gb (go-doc-browser) +au FileType go nmap s (go-implements) +au FileType go nmap i (go-info) +au FileType go nmap e (go-rename) + +let g:go_play_open_browser = 0 +let g:go_fmt_fail_silently = 1 +let g:go_fmt_command = "goimports" +let g:go_fmt_autosave = 1 +let g:go_highlight_functions = 1 +let g:go_highlight_methods = 1 +let g:go_highlight_structs = 1 +let g:go_highlight_operators = 1 +let g:go_highlight_build_constraints = 1 + +" Neo Complete +" +" + +"Note: This option must set it in .vimrc(_vimrc). NOT IN .gvimrc(_gvimrc)! +" Disable AutoComplPop. +let g:acp_enableAtStartup = 0 +" Use neocomplete. +let g:neocomplete#enable_at_startup = 1 +" Use smartcase. +let g:neocomplete#enable_smart_case = 1 +" Set minimum syntax keyword length. +let g:neocomplete#sources#syntax#min_keyword_length = 3 +let g:neocomplete#lock_buffer_name_pattern = '\*ku\*' + +" Define dictionary. +let g:neocomplete#sources#dictionary#dictionaries = { + \ 'default' : '', + \ 'vimshell' : $HOME.'/.vimshell_hist', + \ 'scheme' : $HOME.'/.gosh_completions' + \ } + +" Define keyword. +if !exists('g:neocomplete#keyword_patterns') + let g:neocomplete#keyword_patterns = {} +endif +let g:neocomplete#keyword_patterns['default'] = '\h\w*' + +" Plugin key-mappings. +inoremap neocomplete#undo_completion() +inoremap neocomplete#complete_common_string() + +" Recommended key-mappings. +" : close popup and save indent. +inoremap =my_cr_function() +function! s:my_cr_function() + return neocomplete#close_popup() . "\" + " For no inserting key. + "return pumvisible() ? neocomplete#close_popup() : "\" +endfunction +" : completion. +inoremap pumvisible() ? "\" : "\" +" , : close popup and delete backword char. +inoremap neocomplete#smart_close_popup()."\" +inoremap neocomplete#smart_close_popup()."\" +inoremap neocomplete#close_popup() +inoremap neocomplete#cancel_popup() +" Close popup by . +"inoremap pumvisible() ? neocomplete#close_popup() : "\" + +" For cursor moving in insert mode(Not recommended) +"inoremap neocomplete#close_popup() . "\" +"inoremap neocomplete#close_popup() . "\" +"inoremap neocomplete#close_popup() . "\" +"inoremap neocomplete#close_popup() . "\" +" Or set this. +"let g:neocomplete#enable_cursor_hold_i = 1 +" Or set this. +"let g:neocomplete#enable_insert_char_pre = 1 + +" AutoComplPop like behavior. +"let g:neocomplete#enable_auto_select = 1 + +" Shell like behavior(not recommended). +"set completeopt+=longest +"let g:neocomplete#enable_auto_select = 1 +"let g:neocomplete#disable_auto_complete = 1 +"inoremap pumvisible() ? "\" : "\\" + +" Enable omni completion. +autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS +autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags +autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS +autocmd FileType python setlocal omnifunc=pythoncomplete#Complete +autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags + +" Enable heavy omni completion. +if !exists('g:neocomplete#sources#omni#input_patterns') + let g:neocomplete#sources#omni#input_patterns = {} +endif +"let g:neocomplete#sources#omni#input_patterns.php = '[^. \t]->\h\w*\|\h\w*::' +"let g:neocomplete#sources#omni#input_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)' +"let g:neocomplete#sources#omni#input_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::' + +" For perlomni.vim setting. +" https://github.com/c9s/perlomni.vim +let g:neocomplete#sources#omni#input_patterns.perl = '\h\w*->\h\w*\|\h\w*::' + + +" Neo-snippets +" +" +" Plugin key-mappings. +imap (neosnippet_expand_or_jump) +smap (neosnippet_expand_or_jump) +xmap (neosnippet_expand_target) + +" SuperTab like snippets behavior. +imap neosnippet#expandable_or_jumpable() ? +\ "\(neosnippet_expand_or_jump)" +\: pumvisible() ? "\" : "\" +smap neosnippet#expandable_or_jumpable() ? +\ "\(neosnippet_expand_or_jump)" +\: "\" + +" For snippet_complete marker. +if has('conceal') + set conceallevel=2 concealcursor=niv +endif