/gavim

[unmaintained] My old vimfiles. See the link for the current one:

Primary LanguageVim Script

*This repository is no longer maintained.*

My current vim files are: https://github.com/gaveen/vimfiles


gavim - A bunch of Vim configuration files
==========================================

Vim is by far one of the most powerful text editors around. And this
distribution of Vim files named "gavim" contains some tweaks & tricks.
Therefore if you are new to Vim, please take a little time to learn
proper Vim usage before using a distribution like this.

I've tried to strike a balance between convenience and preservation
of the Vim way. Hopefully, I'm not impairing the Vim-fu of those few
who have started using 'gavim'. :) Additionally, gavim makes using
Vim for things like coding and configuration editing easier.

I have been using this on a host of different Linux distributions
without trouble. So I believe it works fine on decent Linux systems.
Let me know if you find bugs or think of any improvements.


How to use (without Git)
------------------------
1. Download the latest archive from:
    https://dl.dropbox.com/u/435850/gavim.tar.xz
    Eg: $ wget -c https://dl.dropbox.com/u/435850/gavim.tar.xz
2. Extract the downloaded XZ compressed tar file: gavim.tar.xz
    Eg: $ tar xJvf gavim.tar.xz
3. Rename the extracted directory 'gavim-xxxxxxxx' to 'gavim'
    Eg: $ mv gavim-xxxxxxxx gavim
4. Then you can place "gavim" somewhere and link .vim & .vimrc
    Eg: $ mv gavim ~/Apps/
        $ ln -s ~/Apps/gavim/.vim ~/.vim
        $ ln -s ~/Apps/gavim/.vimrc ~/.vimrc
  Or,
  copy the contents of gavim (i.e.: .vim & .vimrc) to your home
  directory. But I recommend you use the above method instead.
    Eg: $ cp -r gavim/.vim* ~/


How to use (with Git)
---------------------
1. Clone the repository: https://github.com/gaveen/gavim.git
2. In the cloned directory run:
   $ git submodule update --init
3. Delete conflicting snippets by running:
   $ rm -rf ./.vim/bundle/plugin-snipmate/snippets
4. Link (Eg: using ln -s) the following files:
  I)  .vim/ as ~/.vim
  II) .vimrc as ~/.vimrc


How to update (with Git)
------------------------
1. In the cloned directory run:
   $ git pull && git submodule update


Tricks
------
Here are some of the significant tweaks I've made. Please read the
comments in the .vimrc file to understand how these are set.

Notes if you are new to Vim:
    # Insert mode is only for entering text. Everything else is
      done in other modes such as Normal/Command mode.
    # a buffer to Vim is similar to what a tab is to a web browser.

  - Map Leader Key to:                              ,
      Therefore <leader>t means ,t
  - Function Key shortcuts
      Map F1 as Esc to avoid mistakes:              <F1>
      Toggle auto-indenting when pasting:           <F2>
      Toggle auto-completing matching pairs:        <F3>
      Toggle spell checking (default lang: en_US):  <F4>
      Apply main color scheme:                      <F5>
      Apply alternative color scheme:               <F6>
      Go to previous buffer:                        <F7>
      Go to next buffer:                            <F8>
      Trigger jump to buffer:                       <F9>
      Trigger show a margin:                        <F10>
      Toggle fullscreen in gvim (default: disabled) <F11>
    Shortcuts F9, F10 require an input before <CR>
  - Shortcuts for system clipboard operations
    in setups which support them
      Regular Copy, Cut & Paste remains:            y,x and p
      Copy to clipboard:                            <leader>y
      Cut to clipboard:                             <leader>x
      Paste from clipboard:                         <leader>p
  - Save a file with 'sudo' privileges:             :w!!
  - Compare the changes since the last save:        <leader>?
  - Toggle directory tree pane:                     <leader>d
  - Toggle tagbar pane:                             <leader>t
  - Terminal withing Vim (exit with :q):            <leader>c
  - Toggle temporary jotting area (not saved):      <leader>s
  - See and manage all open buffers:                <leader>be
  - Toggle commenting the selection:                <leader>c<space>
  - Clear highlighting the searched patterns:       <leader><space>
  - Trigger jump to word motion:                    <leader><leader>w
  - Toggle displaying non-printable characters:     <leader>l
  - Remove trailing whitespaces in current file:    <leader>W
  - Hard-wrap lines in the current paragraph:       <leader>Q
  - Fuzzy find pattern in files, buffers, etc.:     <ctrl>p
  - Auto-complete (word/syntax) [in Insert mode]:   <ctrl>n
  - Auto-complete code snippets [in Insert mode]:   <tab>
  - Toggle code folds based on syntax:              za
  - Spelling suggestion for the word under cursor:  z=
  - Jump to matching other of a pair (same as %):   <tab>
  - Automatic completion of matching pairs
      Eg: (), [], {}, '', "", etc.
  - Default to use 2 spaces instead of tab character
      Exceptions configured for: go, python, shell
  - Show non printable characters such as: tab, trailing spaces
  - List and indicate open/active buffers in the bottom status bar
  - Refactoring support for Ruby
      via ruby-refactoring plugin
  - Syntax highlighting for many file types
      With additional support for Go, Puppet and Ruby on Rails, etc.
  - Work with revision control systems via vcscommand plugin
      With advanced support for Git via fugitive and gitv plugins
  - Disabled (by default) shortcut for full screen gvim if supported
  - Patterns are case insensitive when uppercase letters are not used
  - A load of colorschemes to choose from (both dark and light)


Help Documentation
------------------
Since Vim is an advanced editor and plugins add even more features,
it's out of the scope of this document to provide extensive help.
But here's how you can find the help.

Vim comes with extensive help documentation. To find out more about a
given topic, access the vim help by typing :h {topic}.
Eg: to find about Vim's text folding features, type :h folding

Also, please note that most of the plugins come with documentation.
Therefore please try to refer the relevant documetation the same way
to find out more about additional shortcuts & configuration options.
Eg: to find more about motion shortcuts enabled by EasyMotion plugin,
    type :h easymotion

If you can't seem to access plugin related help, there's a one-time
command to regenerate help documentation of plugins. Just type
:Helptags


Plugins
-------
I have included a set of plugins I find useful. Please find these
inside the .vim/bundle/ directory with names starting with "plugin-".
As for the current list, they are:
      ack, auto-pairs, bufexplorer, buftabs, conque, csapprox, ctrlp,
      easymotion, fugitive, gitv, go, guicolorscheme, matchit,
      nerdcommenter, nerdtree, pandoc, puppet, ruby-refactoring, rust
      rails, scratch, snipmate, surround, tagbar, vcscommand

Additionally I'm using Pathogen with Git submodules to manage Vim
plugins.


Dependencies
------------
Having the following ready in your system should ensure a smooth
experience. Lack of them would *not* break vim though. You can
pick what you want to use.

  # vim and/or gvim - at least try to use version 7.3 or above.
    Package: Fedora family => vim-enhanced / vim-X11,
             Debian family => vim (not default) / vim-gnome
  # git - to clone and update this repository and submodules
    Package: Fedora family => git, Debian family => git-core
  # ack - a better grep alternative if you plan to use :Ack
    Package: Fedora family => ack, Debian family => ack-grep
      if you use a Debian family OS, uncomment necessary line in vimrc
  # exuberant ctags - to use the tagbar feature
    Package: Fedora family => ctags, Debian family => exuberant-ctags
  # python - if you plan to use the Conque Terminal i.e., <leader>c
    Package: Fedora family => python, Debian family => python
  # vim-latex - Vim LaTeX Suite plugin to use vim as a LaTeX/TeX IDE
    Package: Fedora family => vim-latex, Debian => vim-latexsuite
  # wmctrl - if you want to use gvim in a full screen mode
    Package: Fedora family => wmctrl, Debian family => wmctrl
      if your window manager supports this, uncomment necessary lines


Credit should go to everyone who brought you vim, plugins, related
tools, documentation, provide help and more. Also a big thank you to
official vim docs, Vim Tips Wiki and #vim channel on Freenode.