Terminal multiplexer, like screen only better IMO.
This book fast tracked me into it.
Manage tmux sessions
See My config.
http://www.thejach.com/view/2012/07/vims_learning_curve_is_wrong
Don't learn shortcuts or cheat sheets, it's a language
Be in normal mode as much as possible
Key | Motion |
---|---|
^ | Beginning of line |
$ | End of line |
0 | First column |
i = in, a = all (around)
Obj | Text object |
---|---|
iw | inside word |
i( | Inside brackets |
i" | Inside quotes |
ip | Inside paragraph |
:h text-objects
Travelling Without Moving, Jamiroquai
Command | Motion |
---|---|
f / F | Find char to right/left |
t / T | Till char to right/left |
; | Repeat find/till |
, | Repeat find/till in opposite direction/till in opposite direction |
% | Find match |
Motions and verbs can be preceded with count.
key | Verb |
---|---|
d | Delete with motion |
c | Change. Delete by motion and switch to insert mode |
y | Yank, aka copy, with motion |
= | Format/filter |
Command | Result |
---|---|
ci( | Change in () |
cit | Change inside tag |
c2t, | Change till 2nd comma |
Action | Result |
---|---|
. | Repeat last change |
=i{ | Format inside curly brackets (e.g: js, golang} |
=it | Format inside tag |
ci( | Change inside () |
5dd | Delete 5 lines |
yat | Copy all tag |
% | Find match |
gq<motion> | Format to text width |
CTRL-A, CTRL-X | Increment/Decrement numbers |
:set rnu | Relative numbers |
Action | Completion |
---|---|
CTRL-N | Simple completion from open buffers |
CTRL-X CTRL-F | Filesystem completion |
CTRL-X CTRL-O | Omni completion |
Action | Result |
---|---|
m<lowercase letter> | Bookmark in current buffer |
m<uppercase letter> | Bookmark Across buffers |
`<letter> | Goto bookmarked letter |
Bookmark | Meaning |
---|---|
. | Move to previous edit |
, | Move to cursor position before jump |
binding | Action |
---|---|
jj | <Esc> |
, | <Leader> |
<Leader>v | Load .vimrc |
<Leader>V | Activate changes to .vimrc |
<F2> | Close current split (window) |
<Leader>S | Remove trailing whitespace |
<CTRL>hjkl | Window movement commands |
<Leader>d | Delete buffer, keep the split |
-, + | Resize horizontal splits |
<ALT>< <ALT>> | Resize vertical splits |
<F9> | Toggle logical (RTL) editing |
IMO the worst part of VIM, plugins run synchronously
Buffer explorer
I prefer splits over tabs
Git wrapper, simply great
The Fugitive Series at VimCasts
And vim-lawrencium for mercurial
Aasynchronous commands dispatcher
When inside tmux, opens a split, runs in it and captures the output.
Fugitive will use it for :Gpush, :Gpull
:Dispatch ./manage.py compilemessages -l he
:Dispatch gulp test
all about "surroundings": parentheses, brackets, quotes, XML tags, and more.
Easily delete, change and add such surroundings in pairs.
Frontend for the ack command
Custom shortcut: g*
Syntax checking hacks for vim
Fuzzy file, buffer, mru, tag, etc finder
Custom shortcut: gr for CtrlPBufTag
Tree explorer
TextMate's snippets features in Vim
Insert or delete brackets, parens, quotes in pair.
Extended % matching for HTML, LaTeX, and many other languages.
MatchTag, highlight maching tag
Sublime Text style multiple selections for Vim
simplifies the transition between multiline and single-line code
extensible & universal commenting vim plugin that also handles embedded filetypes
gc<motion>
Or visual selection + gc
PyLint, Rope, Pydoc, breakpoints from box.
Trying it for python auto completion, navigation, etc
Also for Django's translations files
\m Next untranslated string |
\p Prev untranslated string |
\c Copy msgid to msgstr |
https://github.com/MeirKriheli/dotvim
Learn, use, fork
Questions ?