From 55c98eaa013c5f319fa11dfc44eab86e25de0872 Mon Sep 17 00:00:00 2001 From: Thomas Buckley-Houston Date: Mon, 15 May 2017 10:46:03 +0700 Subject: Initial commit. Basic plugin and start of docs --- README.md | 11 +++++++++ doc/novim-mode.txt | 12 ++++++++++ plugin/novim-mode.vim | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 README.md create mode 100644 doc/novim-mode.txt create mode 100644 plugin/novim-mode.vim diff --git a/README.md b/README.md new file mode 100644 index 0000000..f08ae7f --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# No-vim mode + +Try to make vim keybindings work like a 'normal' editor. + +WIP + +## Installation + +Eg; + +`Plug 'tombh/novim-mode'` diff --git a/doc/novim-mode.txt b/doc/novim-mode.txt new file mode 100644 index 0000000..ffff024 --- /dev/null +++ b/doc/novim-mode.txt @@ -0,0 +1,12 @@ +novim-mode.txt + +============================================================================== +CONTENTS |novim-contents| + + Introduction ....................................... |novim-introduction| + +============================================================================== +Introduction *novim* *novim-introduction* + +Novim-mode provides defaults to Insert Mode whenever appropriate and provides +a set of keybindings to make Vim behave more like a 'normal' editor. diff --git a/plugin/novim-mode.vim b/plugin/novim-mode.vim new file mode 100644 index 0000000..ef72015 --- /dev/null +++ b/plugin/novim-mode.vim @@ -0,0 +1,64 @@ +" Make sure insert mode is the default mode when opening/switching to files +augroup start_insertmode + autocmd! + autocmd BufEnter * if &modifiable | startinsert | endif +augroup END + +" Copy and paste stuff +" TODO: +" * Doesn't work when cursor is on the first col +" * Support SHIFT+ARROW in visual mode +inoremap v +inoremap v +inoremap v +inoremap v +inoremap pi +vnoremap yi +vnoremap di + +" Indenting +" The `gv` returns you to the exact same selection, so you can repeat the +" command +vnoremap >gv +vnoremap <gv + +" CTRL+q to exit pane/app +inoremap :q + +" Find +inoremap / +inoremap n +" Clears highlighting. NB. Overriding ESC makes it very hard to get into +" NORMAL mode. +inoremap :noh + +" Undo/redo +inoremap u +inoremap + +" CTRL+s saves +inoremap :update + +" CTRL+k deletes the current line +inoremap "_dd + +" CTRL+d duplicates current line +" TODO: don't put it vim's clipboard, so CTRL+V works as expected +inoremap yyp + +" Alt+/- moves the current line up and down +inoremap :m -2 +inoremap :m +1 + +" Home goes back to the first non-whitespace character of the line +inoremap ^ + +" Allow text to wrap in text files +au BufNewFile,BufRead *.txt,*.md,*.markdown setlocal linebreak spell +" Make arrow keys move through wrapped lines +" TODO: +" * Scroll 1 wrapped soft line at a time rather an entire block of wrapped +" lines. +au BufNewFile,BufRead *.txt,*.md,*.markdown inoremap gk +au BufNewFile,BufRead *.txt,*.md,*.markdown inoremap gj + -- cgit v1.2.3-70-g09d2