Coder Social home page Coder Social logo

kenny-ngo / win-vind Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pit-ray/win-vind

0.0 0.0 0.0 49.07 MB

You can operate Windows with key bindings like Vim.

Home Page: https://pit-ray.github.io/win-vind/

License: MIT License

CMake 1.35% Batchfile 1.78% C++ 96.22% Python 0.62% Shell 0.03%

win-vind's Introduction

win-vind

Vim Key Binder for Windows

Coverity Scan Build Status

Description

win-vind provides a lightweight hybrid UI system of CUI and GUI for Windows. And everything is inspired by Vim and its plugins. Simply put, it is a Vim-oriented toy box consisting of various useful features.

Features

  • Fast binding system
  • Vim-like mode management
  • GUI operation without mouse
  • Vim emulation everywhere
  • Process control like :!vim ~/.vimrc on resident command line
  • .vimrc style configuration
  • Low-level key mapping (e.g. Capslock -> Ctrl)
  • Running in user permission
  • Oneshot use for Vim or AHK (e.g. $ win-vind -f easy_click_left)
  • Tiling window manager
  • Hinting feature like Vimium or EasyMotion for GUI.

Demo


Download

Chocolatey Version

win-vind supports installation using Chocolatey. To install win-vind with Chocolatey, run the following command from the command line or from PowerShell.

$ choco install win-vind

winget Version

winget is also supported. To install the package, run the following command from your command line.

$ winget install win-vind

Installer Version

Portable Version

Usage

You can refer to the installation and quick tutorial in Usage - win-vind.

.vindrc samples

You can configure it in .vimrc style. What you can do in .vindrc is switch options, set parameters, remap low-level keys, and define function bindings.

" ------------ Example ------------
" Virtual command line options
set shell = cmd
set cmd_fontsize = 14
set cmd_roughpos = LowerLeft
set cmd_maxchar = 100

" Enable block style caret
set blockstylecaret
set blockstylecaret_mode = solid

" Low-level key mapping in resident mode
rmap <capslock> <ctrl>

" Define bindings in GUI Normal mode
gnnoremap <c-h> select_left_window
gnnoremap <c-l> select_right_window
gnnoremap <c-k> select_upper_window
gnnoremap <c-j> select_lower_window

" Define bindings in insert mode
imap <capslock> <f16>
inoremap <f16> to_edi_normal

imap <ralt> <f17>
inoremap <f17> easy_click_left

imap <app> <f18>
inoremap <f18> window_resizer

The Functions page lists all supported functions, the Options document lists parameters and useful extensions, and the Keyword List contains keyword notations for writing .vindrc. If you want to know the default bindings, refer to Default Mappings.

Known Issues

  • EasyClick does not seem to work properly for some applications on older Windows 10 before 1803. The cause is not known, but we have confirmed that it works after 1909. (#11)
  • Windows 10/11 Single Language does not seem to be able to map toggle keys such as <Capslock>. (#40)

Contribute

If you would like to contribute to win-vind, see CONTRIBUTING.md.

Related Pages

Similar Projects

License

This software is provided by MIT License.

Author

  • pit-ray

win-vind's People

Contributors

pit-ray 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.