Coder Social home page Coder Social logo

vimdows-ng's Introduction

vimdows-ng - vim normal mode anywhere in Windows

Info

Vimdows-ng allows you to use Vim (or vim-like) normal mode anywhere in Windows.

Use the provided executable or the .ahk script with Autohotkey. It does not require any special permissions and will run in your system notification area until activated, when it'll show an icon on your taskbar and a small tooltip overlay in the top-left corner of the screen.

This is based on previous work of achalddave who himself modified the original script by Rich Alesi, and most of the credit for this script goes to him.

Activate normal mode

  • with Shift-Esc
  • with Esc for selected programs:
    • Matlab
    • Thunderbird Text Composition

Basic VIM navigation and text manipulation

If you are not familiar with VIM yet, you might want to try a vim tutorial. Or you might want to try Vim Adventures :)

A good in-depth book is Practical VIM.

Keys                                   Function
====                                   ========
h, j, k, l, w, b, $, ^                 navigation
dd, d<w, b, $, ^>                      deletion
o, O                                   insert lines and exit normal mode
p, P                                   paste lines
v                                      yank mode; not perfect
	                                           hit y after you're done selecting to copy
<#[cmd]>                               Run 'cmd' # times. E.g. 3dd, 4w, 10l, etc
u, <Shift> r                           Undo, redo
/, n                                   Find, next found result (Uses Ctrl + F and F3)

Some advanced mappings in normal mode provided by vimdows-ng

Keys									Function
====									========
a, A 									append at cursor / end of line
0 									    go to first character in line
C, D 									change / delete rest of line
J									    move next line to end of this line
gg, G 								    go to beginning/end of document
5G 										go to a specific line
gt, gT 									go to next/previous tab
y2w, yb, yy, y$, ... 					yank 2 words, yank back, yank line, yank rest of line
yi(w)									yank inner word
d2w, c5w, cb, ... 						change and delete mode
di(w)									delete inner word
x, X  								    delete single characters
Y  										yank rest of line
I 										go to beginning of line and enter insertion mode
e 										go to end of word
<Ctrl> u, <Ctrl> d 						go page up/down
<Ctrl> b, <Ctrl> f 						go page up/down
~, 3~,v3w~,... 							Toggle case of next char(s) or visual selection.

More modifications in vimdows-ng

  • Change-mode, change-inner, delete-inner, yank-inner modes.
  • show tooltip "Vimdows" when active (useful when hiding task bar)
  • correction of indent and undo
  • provide another script to remap caps to esc.
  • limit of 50 to not blindly execute a repeated command too often (e.g. 500w -> 50w)

Application-specific modifications:

Matlab:

  • Proper indent using editor indenting.

Todo:

  • f char should move to next occurence of char
  • jump between block beginning/end (in vim, % jumps between { and }, for instance)?

You like this? You'll love these:

AHK_L Alternative

  • vim.ahk (better code structure, but very slow)

AHK Application-specific

Browsers

Office

Code

  • JetBrains IDEs: IdeaVim
  • for most IDEs, it's better to find a specific plugin if available.

Editors

Window-Management

vimdows-ng's People

Contributors

achalddave avatar scheingraber avatar

Watchers

James Cloos avatar Herb Martin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.