Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m-abs/vimrc2014
My own private VIM config, based on https://github.com/amix/vimrc
https://github.com/m-abs/vimrc2014
Last synced: 29 days ago
JSON representation
My own private VIM config, based on https://github.com/amix/vimrc
- Host: GitHub
- URL: https://github.com/m-abs/vimrc2014
- Owner: m-abs
- Created: 2014-11-30T15:59:49.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-05-12T20:11:31.000Z (over 8 years ago)
- Last Synced: 2024-04-13T16:25:58.272Z (9 months ago)
- Language: VimL
- Size: 113 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My vimrc
I've been using [The Ultimate vimrc](https://github.com/amix/vimrc) for years, but I didn't used most of the plugins or settings that amix had included.
However I liked the way he includes and loads the plugins, so I've finally made my fork of his setup, only with the modules I personally need.# From origin README.md:
# The Ultimate vimrc
Over the last 8 years I have used and tweaked Vim. This is my Ultimate vimrc.
There are two versions:
* **Basic**: If you want something small just copy [basic.vim](https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim) into your ~/.vimrc and you will have a great basic setup
* **Awesome**: This includes a ton of useful plugins, color schemes and configurationsI 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](https://github.com/amix/vimrc/blob/master/vimrcs/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 [email protected]:m-abs/vimrc2014.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 color schemes that make Vim a lot better. To install it simply do following:git clone [email protected]:m-abs/vimrc2014.git ~/.vim_runtime
sh ~/.vim_runtime/install_awesome_vimrc.sh## How to install on Windows?
Use [msysgit](http://msysgit.github.com/) to checkout the repository and run the installation instructions above. No special instructions needed ;-)
## How to update to latest version?
Simply just do a git rebase!
cd ~/.vim_runtime
git pull --rebase## Some screenshots
Colors when editing a Python file:
![Screenshot 1](http://files1.wedoist.com/e952fdb343b1e617b90d256e474d0370/as/screenshot_1.png)Opening recently opened files [mru.vim](https://github.com/vim-scripts/mru.vim):
![Screenshot 2](http://files1.wedoist.com/1967b0e48af40e513d1a464e08196990/as/screenshot_2.png)[NERD Tree](https://github.com/scrooloose/nerdtree) plugin in a terminal window:
![Screenshot 3](http://files1.wedoist.com/b1509d7ed9e9f357e8d04797f9fad67b/as/screenshot3.png)This vimrc even works on Windows!
![Screenshot 4](http://files1.wedoist.com/4e85163d97b81422240c822c82022f2f/as/screenshot_4.png)## 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!
* [pathogen.vim](https://github.com/tpope/vim-pathogen): Manages the runtime path of the plugins
* [YankRing](https://github.com/vim-scripts/YankRing.vim): Maintains a history of previous yanks, changes and deletes
* [snipMate.vim](https://github.com/garbas/vim-snipmate): snipMate.vim aims to be a concise vim script that implements some of TextMate's snippets features in Vim
* [bufexplorer.zip](https://github.com/vim-scripts/bufexplorer.zip): Buffer Explorer / Browser. This plugin can be opened with ``
* [NERD Tree](https://github.com/scrooloose/nerdtree): A tree explorer plugin for vim
* [ack.vim](github.com/mileszs/ack.vim): Vim plugin for the Perl module / CLI script 'ack'
* [vim-powerline](https://github.com/Lokaltog/vim-powerline): The ultimate vim statusline utility
* [ctrlp.vim](https://github.com/kien/ctrlp.vim): Fuzzy file, buffer, mru and tag finder. In my config it's mapped to ``, because `` is used by YankRing
* [mru.vim](https://github.com/vim-scripts/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 ``
* [open_file_under_cursor.vim](https://github.com/amix/open_file_under_cursor.vim): Open file under cursor when pressing `gf`## What color schemes are included?
* [peaksea](https://github.com/vim-scripts/peaksea): My favorite!
* [vim-colors-solarized](https://github.com/altercation/vim-colors-solarized)
* [vim-irblack](https://github.com/wgibbs/vim-irblack)
* [mayansmoke](https://github.com/vim-scripts/mayansmoke)
* [vim-pyte](https://github.com/therubymug/vim-pyte)## What modes are included?
* [vim-coffee-script](https://github.com/kchmck/vim-coffee-script)
* [vim-less](https://github.com/groenewege/vim-less)
* [vim-bundle-mako](https://github.com/sophacles/vim-bundle-mako)
* [vim-markdown](https://github.com/tpope/vim-markdown)## How to include your own stuff?
After you have installed the setup you can create **~/.vim_runtime/my_configs.vim** to fill in any configurations that are important for you. For instance, my **my_configs.vim** looks like this:
~/.vim_runtime (master)> cat my_configs.vim
map ct :cd ~/Desktop/Todoist/todoist
map cw :cd ~/Desktop/Wedoist/wedoistYou can also install your own plugins, for instance, via pathogen we can install [vim-rails](https://github.com/tpope/vim-rails):
cd ~/.vim_runtime
git clone git://github.com/tpope/vim-rails.git sources_plugins/vim-rails
Now you have vim-rails installed ;-)## Key Mappings
### Plugin related mappings
Open [bufexplorer](https://github.com/vim-scripts/bufexplorer.zip) and see and manage the current buffers:
map o :BufExplorerOpen [MRU.vim](https://github.com/vim-scripts/mru.vim) and see the recently open files:
map f :MRU
Open [ctrlp.vim](https://github.com/kien/ctrlp.vim) plugin:
let g:ctrlp_map = ''Open [PeepOpen](https://peepcode.com/products/peepopen) plugin:
map j :PeepOpen
Managing the [NERD Tree](https://github.com/scrooloose/nerdtree) plugin:
map nn :NERDTreeToggle
map nb :NERDTreeFromBookmark
map nf :NERDTreeFind### Normal mode mappings
Fast saving of a buffer:nmap w :w!
Treat long lines as break lines (useful when moving around in them):
map j gj
map k gk
Map `` to `/` (search) and `+` to `?` (backwards search):
map /
map ?
map :nohDisable highlight when `` is pressed:
map :nohSmart way to move between windows:
map j
map k
map h
map lClosing of current buffer(s):
" Close current buffer
map bd :Bclose
" Close all buffers
map ba :1,1000 bd!
Useful mappings for managing tabs:
map tn :tabnew
map to :tabonly
map tc :tabclose
map tm :tabmove
" Opens a new tab with the current buffer's path
" Super useful when editing files in the same directory
map te :tabedit =expand("%:p:h")/
Switch CWD to the directory of the open buffer:
map cd :cd %:p:h:pwd
Open vimgrep and put the cursor in the right position:
map g :vimgrep // **/*.Vimgreps in the current file:
map :vimgrep // %Remove the Windows ^M - when the encodings gets messed up:
noremap m mmHmt:%s///ge'tzt'm
Quickly open a buffer for scripbble:
map q :e ~/bufferToggle paste mode on and off:
map pp :setlocal paste!### Insert mode mappings
Quickly insert parenthesis/brackets/etc.:
inoremap $1 ()i
inoremap $2 []i
inoremap $3 {}i
inoremap $4 {o}O
inoremap $q ''i
inoremap $e ""i
inoremap $t <>iInsert the current date and time (useful for timestamps):
iab xdate =strftime("%d/%m/%y %H:%M:%S")
### Visual mode mappings
Visual mode pressing `*` or `#` searches for the current selection:
vnoremap * :call VisualSelection('f')
vnoremap # :call VisualSelection('b')When you press gv you vimgrep after the selected text:
vnoremap gv :call VisualSelection('gv')
When you press `r` you can search and replace the selected text:
vnoremap r :call VisualSelection('replace')
Surround the visual selection in parenthesis/brackets/etc.:
vnoremap $1 `>a)`
vnoremap $2 `>a]`
vnoremap $3 `>a}`
vnoremap $$ `>a"`
vnoremap $q `>a'`
vnoremap $e `>a"`
### Command line mappings
$q is super useful when browsing on the command line. It deletes everything until the last slash:
cno $q eDeleteTillSlash()
Bash like keys for the command line:
cnoremap
cnoremap
cnoremapcnoremap
cnoremap### Spell checking
Pressing `ss` will toggle and untoggle spell checkingmap ss :setlocal spell!
Shortcuts using `` instead of special chars
map sn ]s
map sp [s
map sa zg
map 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:
`cc`To go to the next search result do:
`n`To go to the previous search results do:
`p`Vimscript mappings:
map cc :botright cope
map co ggVGy:tabnew:set syntax=qfpgg
map n :cn
map p :cp## Useful blog tips regarding my Vim setup
* [Vim: Annotate strings with gettext (the macro way)](http://amix.dk/blog/post/19678#Vim-Annotate-strings-with-gettext-the-macro-way)
* [vimgrep: Searching through multiple file extensions](http://amix.dk/blog/post/19672#vimgrep-Searching-through-multiple-file-extensions)
* [Filtering through vimgrep results using regular expressions](http://amix.dk/blog/post/19666#Filtering-through-vimgrep-results-using-regular-expressions)
* [PeepOpen - File auto completion for Mac editors](http://amix.dk/blog/post/19601#PeepOpen-File-auto-completion-for-Mac-editors)
* [Vim 7.3: Persistent undo and encryption!](http://amix.dk/blog/post/19548#Vim-7-3-Persistent-undo-and-encryption)
* [Vim tips: Visual Search](http://amix.dk/blog/post/19334#Vim-tips-Visual-Search)
* [Folding in Vim](http://amix.dk/blog/post/19132#Folding-in-Vim)