diff --git a/.gitmodules b/.gitmodules index a87d0b8..04fae54 100644 --- a/.gitmodules +++ b/.gitmodules @@ -172,3 +172,9 @@ [submodule "vim/bundle/int3-vim-extradite"] path = vim/bundle/int3-vim-extradite url = https://github.com/int3/vim-extradite +[submodule "vim/bundle/vim-scripts-argtextobj"] + path = vim/bundle/vim-scripts-argtextobj + url = https://github.com/vim-scripts/argtextobj.vim +[submodule "vim/bundle/bootleq-vim-textobj-rubysymbol"] + path = vim/bundle/bootleq-vim-textobj-rubysymbol + url = https://github.com/bootleq/vim-textobj-rubysymbol diff --git a/README.md b/README.md index 6aa4f9e..4ecf627 100644 --- a/README.md +++ b/README.md @@ -203,8 +203,8 @@ files contain key mappings as well (TODO: probably will move them out to skwp-ke **Window Navigation** * H L I M - to move left, right, up, down between windows - * Q - Quit a window, keep buffer alive (Ctrl-w,c) - * \Q - Quit window, kill buffer (:bw) + * Q - Quit window, kill buffer (:bw) + * \Q - Quit a window, keep buffer alive (Ctrl-w,c) **Splits** @@ -268,8 +268,17 @@ Included vim plugins * ruby.vim - lots of general enhancements for ruby dev * necomplcache - intelligent and fast complete as you type, and added Command-Space to select a completion (same as Ctrl-N) * snipMate - offers textmate-like snippet expansion + scrooloose-snippets . try hitting TAB after typing a snippet - * textobj-rubyblock - provides visual block selection specific to ruby. try var/vir to select a ruby block - * vim-indentobject - manipulation of blocks by their indentation (great for yaml) use vai/vii to select around an indent block + + **TextObjects** + + The things in this section provide new "objects" to work with your standard verbs such as yank/delete/change/=(codeformat), etc + + * textobj-rubyblock - ruby blocks become vim textobjects denoted with 'r'. try var/vir to select a ruby block, dar/dir for delete car/cir for change, =ar/=ir for formatting, etc + * vim-indentobject - manipulate chunks of code by indentation level (great for yaml) use vai/vii to select around an indent block, same as above applies + * argtextobj - manipulation of function arguments as an "a" object, so vaa/via, caa/cia, daa/dia, etc.. + * textobj-datetime - gives you 'da' (date), 'df' (date full) and so on text objects. useable with all standard verbs + * vim-textobj-entire - gives you 'e' for entire document. so vae (visual around entire document), and etc + * vim-textobj-rubysymbol - gives you ':' textobj. so va: to select a ruby symbol. da: to delete a symbol..etc **Utils** diff --git a/vim/bundle/bootleq-vim-textobj-rubysymbol b/vim/bundle/bootleq-vim-textobj-rubysymbol new file mode 160000 index 0000000..7fd2a8b --- /dev/null +++ b/vim/bundle/bootleq-vim-textobj-rubysymbol @@ -0,0 +1 @@ +Subproject commit 7fd2a8bde1be3030dccddaa6e2be16bac4f2c881 diff --git a/vim/bundle/vim-scripts-argtextobj b/vim/bundle/vim-scripts-argtextobj new file mode 160000 index 0000000..f3fbe42 --- /dev/null +++ b/vim/bundle/vim-scripts-argtextobj @@ -0,0 +1 @@ +Subproject commit f3fbe427f7b4ec436416a5816d714dc917dc530b diff --git a/vim/plugin/settings/skwp-keymap.vim b/vim/plugin/settings/skwp-keymap.vim index bd49365..a1de3f9 100644 --- a/vim/plugin/settings/skwp-keymap.vim +++ b/vim/plugin/settings/skwp-keymap.vim @@ -111,13 +111,13 @@ map :tabn 0 nnoremap vv v nnoremap ss s -" Remap Q to close a window -nnoremap Q c +" Use Q to kill a buffer +nnoremap Q :bw -" Use \Q to kill the buffer entirely -nnoremap Q :bw +" Remap \Q to close a window (leave buffer open in memory) +nnoremap Q c -"open the taglist (method browser) using ,t +"open the taglist (method browser) using ,t nnoremap ,T :TlistToggle " create <%= foo %> erb tags using Ctrl-k in edit mode