All Projects → humiaozuzu → Dot Vimrc

humiaozuzu / Dot Vimrc

Maple's vim config files

Programming Languages

Vim Script
2826 projects

Projects that are alternatives of or similar to Dot Vimrc

Vim Argumentative
Argumentative aids with manipulating and moving between function arguments.
Stars: ✭ 169 (-92.29%)
Mutual labels:  viml
Vim Pipe
Send a vim buffer through a command and instantly see the output.
Stars: ✭ 178 (-91.88%)
Mutual labels:  viml
Vim Glsl
Vim runtime files for OpenGL Shading Language
Stars: ✭ 184 (-91.61%)
Mutual labels:  viml
Vim Shell
Improved integration between Vim and its environment (fullscreen, open URL, background command execution)
Stars: ✭ 171 (-92.2%)
Mutual labels:  viml
Snipmate.vim
snipMate.vim aims to be a concise vim script that implements some of TextMate's snippets features in Vim.
Stars: ✭ 2,051 (-6.43%)
Mutual labels:  viml
Neovim Config
Neovim configuration
Stars: ✭ 180 (-91.79%)
Mutual labels:  viml
Stackanswers.vim
Vim plugin to fetch and display answers from Stack Overflow
Stars: ✭ 165 (-92.47%)
Mutual labels:  viml
Github.vim
Another github v3 api implemented in vim script
Stars: ✭ 187 (-91.47%)
Mutual labels:  viml
Jshint.vim
A plugin that integrates JSHint with Vim
Stars: ✭ 177 (-91.93%)
Mutual labels:  viml
Vimclojure
A filetype, syntax and indent plugin for Clojure
Stars: ✭ 182 (-91.7%)
Mutual labels:  viml
Zoomwin
Zoom in/out of windows (toggle between one window and multi-window)
Stars: ✭ 173 (-92.11%)
Mutual labels:  viml
Vimconf
Extensive vimrc with super easy install and everything in the vimrc is explained!
Stars: ✭ 175 (-92.02%)
Mutual labels:  viml
Tabman.vim
Tab management for Vim
Stars: ✭ 180 (-91.79%)
Mutual labels:  viml
Detectindent
Vim script for automatically detecting indent settings
Stars: ✭ 169 (-92.29%)
Mutual labels:  viml
Vimfiles
Ruby/Rails centric vimfiles with support for Git, RVM and more.
Stars: ✭ 185 (-91.56%)
Mutual labels:  viml
Vim Subversive
Vim plugin providing operator motions to quickly replace text
Stars: ✭ 168 (-92.34%)
Mutual labels:  viml
Vim Lua Ftplugin
Lua file type plug-in for the Vim text editor
Stars: ✭ 178 (-91.88%)
Mutual labels:  viml
Textobj Word Column.vim
Adds text-objects for word-based columns in Vim.
Stars: ✭ 189 (-91.38%)
Mutual labels:  viml
W3m.vim
w3m plugin for vim
Stars: ✭ 186 (-91.51%)
Mutual labels:  viml
Eregex.vim
Perl/Ruby style regexp notation for Vim
Stars: ✭ 180 (-91.79%)
Mutual labels:  viml

Maple's Vim config

I use vundle to manage my plugins, which makes my .vim directory clean and tidy. If you are new to vim, the following two posts

will be good for you.

Most of the time we are writing code so we need:

Code Completions

Such as completions for variable names and function names(neocomplcache), expanding snippets(snipMate), auto closing brackets/brace/quote(delimitMate) and fast expand expressions to HTML(ZenCoding).

  • neocomplcache - Ultimate auto completion system for Vim.
  • snipMate - Plugin for using TextMate-style snippets in Vim.
  • supertab - Perform all your vim insert mode completions with Tab.
  • ZenCoding - High speed HTML and CSS coding.
  • delimitMate - Provides auto-balancing and some expansions for parens, quotes, etc.

Shortcuts

  • Tab -> Rotate across the completion list
  • Tab -> Expand snippets or jump to the next placeholder of snippet
  • Ctrl + j -> Call zen-coding expansion on html tags

Dependencies

Compile Vim with --enable-pythoninterp and --enable-rubyinterp to enable powerful syntax completion supplied by neocomplcache.

brew install macvim --override-system-vim  # OS X
yaourt -S gvim                             # ArchLinux
sudo apt-get install vim-gtk               # Ubuntu

Tutorial

:help zencoding

Movie teaching zencoding.vim

Screenshots

Completions Snippets

Sometimes we need to jump to previous positions to copy/paste or do some fixes:

Fast navigation

  • matchit - Extended % matching for HTML, LaTeX, and many other languages.
  • EasyMotion - Vim motions on speed!

Tutorial

:help easymotion

Shortcuts

  • % -> Jump between brackets and html/xml tags
  • <leader> + w -> Beginning of the word.
  • <leader> + f + {char} -> Find {char} to the right.

Doing fixes should be as fast as possible!

Fast editing

  • surround - Easily delete, change and add such surroundings in pairs.
  • nerdcommenter - Easy commenting of code for many filetypes.
  • Gundo - visualize your Vim undo tree.
  • tabular - Vim script for text filtering and alignment.
  • IndentGuides - A Vim plugin for visually displaying indent levels in code.

Tutorial

:help text-objexts
:help surround
:help tabular

Shortcuts

  • % -> Jump between brackets and html/xml tags
  • <leader> + c + <space> -> Toggle comment
  • F3 -> Toggle Gundo viewer
  • F4 -> Toggle Indent Guides

IDE features

  • nerdtree - A tree explorer plugin for navigating the filesystem.
  • tabbar - Add tab bar and quickt tab switch with alt+1~9.
  • tagbar - Displays the tags of the current file in a sidebar.
  • ack-vim - Front for the Perl module App::Ack.
  • ctrlp - Fuzzy file, buffer, mru and tag finder.
  • powerline - The ultimate vim statusline utility.
  • fugitive - a Git wrapper so awesome, it should be illegal.
  • syntastic - Syntax checking hacks for vim.

Dependencie

yaourt -S ack ctags                  # ArchLinux
sudo apt-get install ack-grep ctags  # Ubuntu
brew install ack ctags               # OS X

For syntax check tools:

Languages Lint Tools Install guide
C gcc built-in
CPP g++ built-in
CoffeeScript coffee npm install -g coffeelint
CSS csslint npm install -g csslint
Erlang escript built-in
Go go built-in
Haml haml built-in
Haskell ghc-mod cabal install ghc-mod
HTML tidy built-in
Java javac built-in
Javascript jshint npm install -g jshint
Json jsonlint npm install -g jsonlint
Less lessc built-in
Lisp clisp built-in
Lua luac built-in
Perl perl built-in
PHP php built-in
Puppet puppet built-in
Python pyflakes sudo pip install pyflakes
Ruby ruby built-in
Scala scala built-in
Sass sass built-in
Scss scss/compass gem install compass
XML xmllint built-in
YAML js-yaml npm install -g js-yaml

Shortcuts

  • F5 -> Toggle Nerd-Tree file viewer
  • F6 -> Toggle tagbar
  • Ctrl + p -> Toggle ctrlp
  • Alt + 1~9 -> Switch between multiple buffers
  • Ctrl + h/j/k/l -> Moving between spilt windows
  • :Ack or <leader> + a -> Toggle Ack searching

Screenshots

Vim IDE 1 Vim IDE 2

Other Utils

  • fcitx-status - automatic change status of fcitx in vim.
  • togglemouse - Toggles the mouse focus between Vim and your terminal emulator, allowing terminal emulator mouse commands, like copy/paste.

Shortcuts

  • F12 -> Toggle Mouse

Better syntax/indent for language enhancement

  • Server
    • php
    • go
    • rails
    • jinja
    • jade
  • Web
    • html5
    • haml
    • javascript
    • jquery
    • coffeescript
    • less
    • stylus
    • handlebar
  • Markup language
    • markdown
    • textile
  • FPs
    • racket
    • clojure
    • scale

Themes

  • blackboard - Textmate's Blackboard theme for vim (with iTerm2 theme)
  • molokai - A port of the monokai scheme for TextMate
  • solarized - precision colorscheme for the vim text editor
  • vividchalk - colorscheme based on the Vibrant Ink theme for TextMate
  • distinguished - A dark vim color scheme for 256-color terminals.
  • tomorrow - Tomorrow Theme for Vim
  • fisa - soft color scheme for terminals with 256 colors Clone in Mac

Additional functions

  1. File encoding auto detection
  • Hightlight current line and column
  • Automatically jump to the last edited location
  • :w/:wq error correction
  • Remove trailing white space(run :FixWhitespace in vim)
  • Code folding is disabled, enable it as you wish
  • w!! to write if you forget add sudo
  • Indent style:
    • JavaScript - Use soft-tabs with a two space indent(According to this Post).
    • HTML/CSS - Use soft-tabs with a two space indent(According to Google and Github's HTML/CSS style guide, just Google it).
    • PHP - Use soft-tabs with a two space indent(According to Apache PHP Style Guide).
    • Python - Use soft-tabs with a four space indent(PEP8).

Installation

  1. Backup your old vim configuration files:

     mv ~/.vim ~/.vim.orig
     mv ~/.vimrc ~/.vimrc.orig
    
  2. Clone and install this repo:

     git clone git://github.com/humiaozuzu/dot-vimrc.git ~/.vim
     ln -s ~/.vim/vimrc ~/.vimrc
    
  3. Setup Vundle:

     git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
    
  4. Install bundles. Launch vim(ignore the errors and they will disappear after installing needed plugins)and run:

     :BundleInstall
    

Thst's it!

For installation on Windows, please refer to this post: http://blog.yoxyue.com/post/gvim-on-win7 (Thanks to yoxyue)

How to manage this vimrc?

All plugins are listed in file bundles.vim with detailed comments, just add plugins as you like.

  1. :BundleClean to clean up unused plugins
  2. :BundleInstall to install newly added plugins
  3. :BundleInstall! to upgrade all plugins

Other configurations are also well organized in vimrc.

Known issues

  • Compeletions are not well supported for statically typed languages(c/c++)
  • Snippets are not shown in completions popups
  • May has some conflicts with GVIM
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].