Improving keybindings to not interfere with standard things
This commit is contained in:
31
README.md
31
README.md
@@ -134,10 +134,13 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
|
||||
Navigation
|
||||
|
||||
* ,f - instantly Find definition of class (must have exuberant ctags installed)
|
||||
* Ctrl-j and Ctrl-k to move up and down roughly by functions
|
||||
* Ctrl-\ - Show NerdTree (project finder) and expose current file
|
||||
* ,, or z,, - use EasyMotion - type that and then type one of the highlighted letters.
|
||||
* ,z - jump back and forth between last two buffers
|
||||
* ,, or z,, - use EasyMotion - type that and then type one of the highlighted letters.
|
||||
|
||||
* Ctrl-j and Ctrl-k to move up and down roughly by functions
|
||||
* Ctrl-\ - Show current file in nerd tree
|
||||
* Ctrl-O - Old cursor position - this is a standard mapping but very useful, so included here
|
||||
* Ctrl-I - opposite of Ctrl-O (again, this is standard)
|
||||
|
||||
LustyJuggler
|
||||
|
||||
@@ -148,14 +151,15 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
|
||||
|
||||
Rails
|
||||
|
||||
* \ss to run specs, \ll to run a given spec on a line - using my vim-ruby-conque plugin (https://github.com/skwp/vim-ruby-conque)
|
||||
* ,ru - Rails Unittest - synonym for :AV from rails.vim, opens up the corresponding test/spec to the file you're looking for, in a vertical split
|
||||
* ,lm ,lc ,ls - rails specific lusty juggler file finders (models, controllers, specs, etc) - just use the letter for what you want after ,l
|
||||
* \ss to run specs, \ll to run a given spec on a line - using my vim-ruby-conque plugin (https://github.com/skwp/vim-ruby-conque)
|
||||
|
||||
Search
|
||||
|
||||
* Cmd-* - highlight all occurrences of current word (similar to regular * except doesn't move)
|
||||
* ,hl - toggle search highlight on and off
|
||||
* K - git grep for the Kurrent word under the cursor
|
||||
* ,gcw - GitGrep the current word under the cursor
|
||||
* ,gg - GitGrep command line with a quote pretyped (close the quote yourself)
|
||||
* ,gcp - GitGrep Current Partial to find references to the current view partial
|
||||
* // - clear the search
|
||||
@@ -168,7 +172,7 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
|
||||
RSI-reduction
|
||||
|
||||
* Cmd-k and Cmd-d to type underscores and dashes (use ), since they are so common in code but so far away from home row
|
||||
* W - write a file (instead of :w, saving you keystrokes for the most common vim operation)
|
||||
* ; instead of : - avoid Shift for common tasks, just hit semicolon to get to ex mode
|
||||
|
||||
Buffer/Window Manipulation
|
||||
|
||||
@@ -176,12 +180,17 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke
|
||||
* \Q - Kill a buffer completely (normally :bw)
|
||||
* vv and ss - vertical and horizontal split windows by double tapping
|
||||
* H,L,I,M - to move left, right, up, down between windows
|
||||
|
||||
Convenience
|
||||
* Cmd-H and Cmd-L - left an right on tabs
|
||||
* Use Cmd-1..Cmd-0 to switch to a specific tab number (like iTerm)
|
||||
|
||||
* cf - Copy Filename of current file into system (not vi) paste buffer
|
||||
* Cc - (Current command) copies the command under your cursor and executes it in vim. Great for testing single line changes to vimrc.
|
||||
* gcc (comment a line) via tComment, and gcp custom alias to comment a paragraph
|
||||
Utility
|
||||
|
||||
* ,cf - Copy Filename of current file into system (not vi) paste buffer
|
||||
* ,cc - (Current command) copies the command under your cursor and executes it in vim. Great for testing single line changes to vimrc.
|
||||
* ,yw - yank a word from anywhere within the word (so you don't have to go to the beginning of it)
|
||||
* ,ow - overwrite a word with whatever is in your yank buffer - you can be anywhere on the word. saves having to visually select it
|
||||
* gcc (comment a line) via tComment (standard)
|
||||
* gcp (comment a paragraph) added
|
||||
* ,t - Command-T fuzzy file selector (alternative to PeepOpen / LustyJuggler)
|
||||
|
||||
Included vim plugins
|
||||
|
||||
@@ -2,9 +2,15 @@
|
||||
" General vim sanity improvements
|
||||
" ========================================
|
||||
"
|
||||
" alias yw to yank the entire word even if the
|
||||
" cursor is inside the word
|
||||
nnoremap yw yaw
|
||||
" alias yw to yank the entire word 'yank inner word'
|
||||
" even if the cursor is halfway inside the word
|
||||
" FIXME: will not properly repeat when you use a dot (tie into repeat.vim)
|
||||
nnoremap ,yw yiww
|
||||
|
||||
" ,ow = 'overwrite word', replace a word with what's in the yank buffer
|
||||
" FIXME: will not properly repeat when you use a dot (tie into repeat.vim)
|
||||
nnoremap ,ow viwp
|
||||
|
||||
"make Y consistent with C and D
|
||||
nnoremap Y y$
|
||||
|
||||
@@ -24,16 +30,13 @@ imap <silent> <D-d> _
|
||||
imap <silent> <D-K> -
|
||||
imap <silent> <D-D> -
|
||||
|
||||
" alias W to write the file instead of :w
|
||||
nnoremap W :w<CR>
|
||||
|
||||
" Don't have to use Shift to get into command mode, just hit semicolon
|
||||
nnoremap ; :
|
||||
|
||||
" ================== rails.vim
|
||||
"
|
||||
" Open corresponding unit test/spec in a vertical split
|
||||
nmap ,rt :AV<CR>
|
||||
" Open corresponding unittest (or spec), alias for :AV in rails.vim
|
||||
nmap ,ru :AV<CR>
|
||||
|
||||
" ==== NERD tree
|
||||
nmap ,n :NERDTreeToggle<CR>
|
||||
@@ -72,6 +75,22 @@ nnoremap <silent> L <C-w>l
|
||||
nnoremap <silent> I <C-w>k
|
||||
nnoremap <silent> M <C-w>j
|
||||
|
||||
" Move between tabs with Cmd-Shift-H and Cmd-Shift-L
|
||||
map <silent> <D-H> :tabprevious<cr>
|
||||
map <silent> <D-L> :tabnext<cr>
|
||||
|
||||
" Use numbers to pick the tab you want (like iTerm)
|
||||
map <silent> <D-1> :tabn 1<cr>
|
||||
map <silent> <D-2> :tabn 2<cr>
|
||||
map <silent> <D-3> :tabn 3<cr>
|
||||
map <silent> <D-4> :tabn 4<cr>
|
||||
map <silent> <D-5> :tabn 5<cr>
|
||||
map <silent> <D-6> :tabn 6<cr>
|
||||
map <silent> <D-7> :tabn 7<cr>
|
||||
map <silent> <D-8> :tabn 8<cr>
|
||||
map <silent> <D-9> :tabn 9<cr>
|
||||
map <silent> <D-0> :tabn 0<cr>
|
||||
|
||||
" Create window splits easier. The default
|
||||
" way is Ctrl-w,v and Ctrl-w,s. I remap
|
||||
" this to vv and ss
|
||||
@@ -99,16 +118,16 @@ imap <silent> <C-J> <% %><Esc>2hi
|
||||
|
||||
" copy current filename into system clipboard - mnemonic: (c)urrent(f)ilename
|
||||
" this is helpful to paste someone the path you're looking at
|
||||
nnoremap <silent> cf :let @* = expand("%:p")<CR>
|
||||
nnoremap <silent> ,cf :let @* = expand("%:p")<CR>
|
||||
|
||||
"Clear current search highlight by double tapping //
|
||||
nmap <silent> // :nohlsearch<CR>
|
||||
|
||||
" (C)opy (c)ommand - which allows us to execute
|
||||
" (c)opy (c)ommand - which allows us to execute
|
||||
" the line we're looking at (it does so by yy-copy, colon
|
||||
" to get to the command mode, C-f to get to history editing
|
||||
" p to paste it, C-c to return to command mode, and CR to execute
|
||||
nmap <silent> Cc yy:<C-f>p<C-c><CR>
|
||||
nmap <silent> ,cc yy:<C-f>p<C-c><CR>
|
||||
|
||||
" Type ,hl to toggle highlighting on/off, and show current value.
|
||||
noremap ,hl :set hlsearch! hlsearch?<CR>
|
||||
@@ -117,10 +136,6 @@ noremap ,hl :set hlsearch! hlsearch?<CR>
|
||||
" http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches
|
||||
nnoremap <D-*> :let @/='\<<C-R>=expand("<cword>")<CR>\>'<CR>:set hls<CR>
|
||||
|
||||
" After repeating a command, return the cursor to where it started
|
||||
" http://vim.wikia.com/wiki/VimTip1142
|
||||
nmap . .`[
|
||||
|
||||
" These are very similar keys. Typing 'a will jump to the line in the current
|
||||
" file marked with ma. However, `a will jump to the line and column marked
|
||||
" with ma. It’s more useful in any case I can imagine, but it’s located way
|
||||
@@ -129,5 +144,8 @@ nmap . .`[
|
||||
nnoremap ' `
|
||||
nnoremap ` '
|
||||
|
||||
" Abbreviations to use...snippets that are expanded with space
|
||||
" ============================
|
||||
" Abbreviations to use...
|
||||
" ============================
|
||||
" snippets that are expanded with space
|
||||
abbr pry! require 'pry'; binding.pry
|
||||
|
||||
Reference in New Issue
Block a user