joy : Tab becomes Esc, just like Bill Joy!
script karma |
Rating 5/4,
Downloaded by 826 |
Comments, bugs, improvements
|
Vim wiki
|
created by |
Ryan King |
|
script type |
utility |
|
description |
Esc key where Bill Joy had his.
// Introduction //
tl;dr:
:imap <tab> <esc>
(See: https://en.wikipedia.org/wiki/Vi#Creation )
IBM made some really odd decisions in popularizing the current keyboard, so
we're taking the power back.
The :imap above is the real heart of vim-joy: just make it so hitting tab in Insert mode gets you out into Normal mode. The only extra complexity in this script is due to the "Training Wheels" needed to get used
to not being able to hit tab normally. The <Tab>=<Esc> thing is is most surprising when:
* When on an empty line, meaning "increase indent". Use <C-t> instead.
* When in the middle of a line, and trying to line things up. I don't have an exact solution for this, other than to do the work in Normal mode (e.g. with
<C-v> combined with << and >>)
To affect the behavior of this plugin, you can either:
let g:joy_pure = 1
Commit to using <C-t> instead of <Tab> for indentation. At this point it
becomes identical in behavior to Insert Mode <Tab> == <Esc>.
let g:joy_mixed = 1
To turn off the nag message, and forget about <C-t> for indent.
// Temporarily Disabling //
Sometimes you want to affect the behavior only for this session (e.g. for pair
programming with someone who isn't feeling it)
To go back to impure mode:
:unlet g:joy_pure
To make <Tab> be default in behavior:
:unimap <Tab>
// Thanks //
Thanks to tpope, as always!
// About //
Grab the latest version or report a bug on Github: http://github.com/rking/vim-joy |
|
install details |
If you don't have a preferred installation method, I recommend
installing pathogen.vim: https://github.com/tpope/vim-pathogen —
then simply copy and paste:
cd ~/.vim/bundle
git clone https://github.com/rking/vim-joy.git
Once you run :Helptags you can view the manual with :help joy
|
|
script versions (upload new version)
Click on the package to download.
ip used for rating: 44.220.184.63
|