All Projects → jonhiggs → Vim Readline

jonhiggs / Vim Readline

Licence: bsd-2-clause
Readline bindings for Insert Mode

Labels

Projects that are alternatives of or similar to Vim Readline

Maven Ide
maven-ide plugin
Stars: ✭ 15 (-54.55%)
Mutual labels:  viml
Vimrc
vgod's vimrc
Stars: ✭ 944 (+2760.61%)
Mutual labels:  viml
Php Vim
make vim as a php ide
Stars: ✭ 30 (-9.09%)
Mutual labels:  viml
Vim Composer
Composer in Vim
Stars: ✭ 21 (-36.36%)
Mutual labels:  viml
Vim Sol
On the Path of Illumination ! :)
Stars: ✭ 27 (-18.18%)
Mutual labels:  viml
Vim Dragvisuals
Vim global plugin for dragging virtual blocks
Stars: ✭ 28 (-15.15%)
Mutual labels:  viml
Morrowind
ports of the tango-based gedit "Oblivion" theme to other editors/ides
Stars: ✭ 14 (-57.58%)
Mutual labels:  viml
Vimix
Vimux with Elixir Mix Integration
Stars: ✭ 32 (-3.03%)
Mutual labels:  viml
Vim Monokai Refined
Port of Monokai Refined for TextMate/Sublime Text, using sickill's Coloration converter
Stars: ✭ 27 (-18.18%)
Mutual labels:  viml
Vim Llvmcov
The llvm-cov tool shows code coverage information for programs that are instrumented to emit profile data.
Stars: ✭ 30 (-9.09%)
Mutual labels:  viml
Vim Notebook
Vim plugin to annotate text, source code, etc
Stars: ✭ 21 (-36.36%)
Mutual labels:  viml
Vim Refact
Some refactoring stuff for Vim
Stars: ✭ 21 (-36.36%)
Mutual labels:  viml
Linters.vim
Automatically run linters over your code as you write it
Stars: ✭ 28 (-15.15%)
Mutual labels:  viml
Doxygentoolkit.vim
Doxygen plugin for vim
Stars: ✭ 20 (-39.39%)
Mutual labels:  viml
Dotfiles
Some of my configuration.
Stars: ✭ 31 (-6.06%)
Mutual labels:  viml
Vimgitlog
Git log and diff plugin for vim.
Stars: ✭ 15 (-54.55%)
Mutual labels:  viml
Cmdalias.vim
Create aliases for Vim commands.
Stars: ✭ 27 (-18.18%)
Mutual labels:  viml
Codeschool Vim Theme
codeschool vim theme
Stars: ✭ 32 (-3.03%)
Mutual labels:  viml
Vim Hl Var
Stars: ✭ 32 (-3.03%)
Mutual labels:  viml
Vim Yankring
Mirror of yankring.vim
Stars: ✭ 28 (-15.15%)
Mutual labels:  viml

Vim + Readline = <THIS!!!>

I love Vim. I love Readline.

Why am I always exiting from insert mode? Because I don't know the insert modes special keys.

Why are those special keys so different from Readline?

Some might say that I should be using Emacs; but I'm a Vim Man. I say, READLINE IN INSERT MODE!

Together, lets make it happen!

UPDATE 06/12/15: Automatically load the default maps, improved documentation and more functions.

UPDATE 04/12/15: A lot of the movement, killing, yanking and changing is done. This should be complete enough for most people but it can still be better.

Installation

Install with your favourite plugin manager (I like Vundle).

Usage

On start-up, the default key bindings will be loaded. I will endeavour to keep these defaults sane and avoid clashing with Vim's native key bindings.

You may of course extend or modify the defaults within your own personal configuration. Perhaps you'll append it to ~/.vimrc or ~/.vim/plugins/vim-readline.vim. How you go about it is up to you.

A complete list of functionality can be seen within ./plugin/default_maps.vim.

Development

The functions are spread across the files in ./plugins with each file corresponding to a chapter of the Readline manual.

Not all of the functions have been written yet, but the intention is to make Vim functions with 100% identical behaviour as each of the Readline functions. The user may then use the default bindings offered, or customise the bindings to their own liking.

The Vim functions are namespaced as Readline<Readline function to CamelCase> and each of the functions is available as user defined commands.

For example for the Readline function of end-of-line, it can be ran with :ReadlineEndOfLine and bound with imap <C-e> <C-O>:ReadlineEndOfLine<CR>.

Described is a universal pattern for all functionality, regardless of how trivial the problem. The example of end-of-line could have been simply solved with imap <C-e> <C-O>$ but being consistent is beneficial to the user. If they understand one function, they understand them all. There are no exceptions and the burden of complexity is shifted from the user to the developer where it belongs.


If you're a Readline feen like me, perhaps you'll find my config for Karabiner interesting.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].