Skip to content

rnz/vimrc

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

72 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

The Ultimate .vimrc

Forked from amix/vimrc with custom modifications. This is my Ultimate .vimrc

There are two versions:

  • Basic: If you want something small just copy basic.vim into your ~/.vimrc and you will have a great basic setup
  • Awesome: This includes a ton of useful plugins, color schemes and configurations

I would of course recommend using the awesome version.

How to install the Basic version?

The basic version is basically just one file and no plugins. You can check out basic.vim.

This is useful to install on remote servers where you don't need many plugins and you don't do many edits.

git clone git://github.com/LeoAdamek/vimrc.git ~/.vim_runtime sh ~/.vim_runtime/install_basic_vimrc.sh 

How to install the Awesome version?

The awesome version includes a lot of great plugins, configurations and colour schemes that make Vim a lot better. To install it simply do following:

git clone git://github.com/LeoAdamek/vimrc.git ~/.vim_runtime sh ~/.vim_runtime/install_awesome_vimrc.sh 

How to install on Windows?

  • Install the Github for Windows Client And go from there.
  • Run cd ..\.. (from Documents\GitHub - go to your home folder.)
  • Run git clone https://github.com/LeoAdamek/vimrc.git .vim_runtime
  • Run sh .vim_runtime/install_awesome_vimrc.sh and enjoy! ๐Ÿ‘ :neckbeard:

Recommended Fonts

It's best to use a small, bitmap monospace font, readable at about 8pt, e.g.

  • Proggy Fonts
  • ProFont

Believe it.

How to update to latest version?

Simply just do a git rebase!

cd ~/.vim_runtime git pull --rebase 

Screenshots

Windows, editing a demo PHP class:

Windows PHP

Screenshots Pending for Linux (gVim in GNOME)

What plugins are included?

I recommend reading the docs of these plugins to understand them better. Each of them provide a much better Vim experience!

  • [MiniBufExplorer][MiniBufExplorer]: replaces Vim's tabs, allows use of NERDTree and Tagbar.
  • [TagBar][TagBar]: View tags (classes, functions, constants, variables etc.) inside of the current buffer -- Powered by ctags, not Windows compatible ๐Ÿ‘Ž
  • pathogen.vim: Manages the runtime path of the plugins
  • YankRing: Maintains a history of previous yanks, changes and deletes
  • snipMate.vim: snipMate.vim aims to be a concise vim script that implements some of TextMate's snippets features in Vim
  • bufexplorer.zip: Buffer Explorer / Browser. This plugin can be opened with <leader+o>
  • NERD Tree: A tree explorer plugin for vim
  • ack.vim: Vim plugin for the Perl module / CLI script 'ack'
  • vim-powerline: The ultimate vim statusline utility
  • ctrlp.vim: Fuzzy file, buffer, mru and tag finder. In my config it's mapped to <Ctrl+F>, because <Ctrl+P> is used by YankRing
  • mru.vim: Plugin to manage Most Recently Used (MRU) files. Includes my own fork which adds syntax highlighting to MRU. This plugin can be opened with <leader+f>
  • open_file_under_cursor.vim: Open file under cursor when pressing gf

What color schemes are included?

What modes are included?

How to include your own stuff?

* Your own configs -- Put them in `~/.vim_runtime/my_configs.vim` * Extra Plugin -- Using [Pathogen][pathogen] Just put them in `~/.vim_runtime/sources_forked/` or `~/.vim_runtime/sources_non_forked` 

Plugin related mappings

Open bufexplorer and see and manage the current buffers:

map <leader>o :BufExplorer<cr> 

Open MRU.vim and see the recently open files:

map <leader>f :MRU<CR> 

Open ctrlp.vim plugin:

let g:ctrlp_map = '<c-f>' 

Open PeepOpen plugin:

map <leader>j :PeepOpen<cr> 

Managing the NERD Tree plugin:

map <leader>nn :NERDTreeToggle<cr> map <leader>nb :NERDTreeFromBookmark map <leader>nf :NERDTreeFind<cr> 

Normal mode mappings

Fast saving of a buffer:

nmap <leader>w :w!<cr> 

Treat long lines as break lines (useful when moving around in them):

map j gj map k gk 

Map <Space> to / (search) and <Ctrl>+<Space> to ? (backwards search):

map <space> / map <c-space> ? map <silent> <leader><cr> :noh<cr> 

Disable highlight when <leader><cr> is pressed:

map <silent> <leader><cr> :noh<cr> 

Smart way to move between windows:

map <C-j> <C-W>j map <C-k> <C-W>k map <C-h> <C-W>h map <C-l> <C-W>l 

Closing of current buffer(s):

" Close current buffer map <leader>bd :Bclose<cr> " Close all buffers map <leader>ba :1,1000 bd!<cr> 

Useful mappings for managing tabs:

map <leader>tn :tabnew<cr> map <leader>to :tabonly<cr> map <leader>tc :tabclose<cr> map <leader>tm :tabmove " Opens a new tab with the current buffer's path " Super useful when editing files in the same directory map <leader>te :tabedit <c-r>=expand("%:p:h")<cr>/ 

Switch CWD to the directory of the open buffer:

map <leader>cd :cd %:p:h<cr>:pwd<cr> 

Open vimgrep and put the cursor in the right position:

map <leader>g :vimgrep // **/*.<left><left><left><left><left><left><left> 

Vimgreps in the current file:

map <leader><space> :vimgrep // <C-R>%<C-A><right><right><right><right><right><right><right><right><right> 

Remove the Windows ^M - when the encodings gets messed up:

noremap <leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm 

Quickly open a buffer for scripbble:

map <leader>q :e ~/buffer<cr> 

Toggle paste mode on and off:

map <leader>pp :setlocal paste!<cr> 

Insert mode mappings

Quickly insert parenthesis/brackets/etc.:

inoremap $1 ()<esc>i inoremap $2 []<esc>i inoremap $3 {}<esc>i inoremap $4 {<esc>o}<esc>O inoremap $q ''<esc>i inoremap $e ""<esc>i 

Visual mode mappings

Visual mode pressing * or # searches for the current selection:

vnoremap <silent> * :call VisualSelection('f')<CR> vnoremap <silent> # :call VisualSelection('b')<CR> 

When you press gv you vimgrep after the selected text:

vnoremap <silent> gv :call VisualSelection('gv')<CR> 

When you press <leader>r you can search and replace the selected text:

vnoremap <silent> <leader>r :call VisualSelection('replace')<CR> 

Surround the visual selection in parenthesis/brackets/etc.:

vnoremap $1 <esc>`>a)<esc>`<i(<esc> vnoremap $2 <esc>`>a]<esc>`<i[<esc> vnoremap $3 <esc>`>a}<esc>`<i{<esc> vnoremap $$ <esc>`>a"<esc>`<i"<esc> vnoremap $q <esc>`>a'<esc>`<i'<esc> vnoremap $e <esc>`>a"<esc>`<i"<esc> 

Command line mappings

$q is super useful when browsing on the command line. It deletes everything until the last slash:

cno $q <C-\>eDeleteTillSlash()<cr> 

Bash like keys for the command line:

cnoremap <C-A>	<Home> cnoremap <C-E>	<End> cnoremap <C-K>	<C-U> cnoremap <C-P> <Up> cnoremap <C-N> <Down> 

Spell checking

Pressing <leader>ss will toggle and untoggle spell checking

map <leader>ss :setlocal spell!<cr> 

Shortcuts using <leader> instead of special chars

map <leader>sn ]s map <leader>sp [s map <leader>sa zg map <leader>s? z= 

Cope

Do :help cope if you are unsure what cope is. It's super useful!

When you search with vimgrep, display your results in cope by doing: <leader>cc

To go to the next search result do: <leader>n

To go to the previous search results do: <leader>p

Vimscript mappings:

map <leader>cc :botright cope<cr> map <leader>co ggVGy:tabnew<cr>:set syntax=qf<cr>pgg map <leader>n :cn<cr> map <leader>p :cp<cr> 

Useful blog tips regarding my Vim setup

About

The ultimate Vim configuration: vimrc

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Vim Script 95.7%
  • Python 4.3%