karlek / neovim

Vim-fork focused on extensibility and usability

Home Page:https://neovim.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Neovim

Yo!

This is my ugly fork where I try if it's possible to add a histogram feature for key presses / mappings.

The idea is a spin-off from IntelliJ's add-on which suggests key bindings for tasks that are performed inefficiently.

A successful implementation would enlighten users what bad habits they have (I assume j/k abusage will be highlighted) and suggestions/learnings are presented.

Background

My knowledge of Vim internals is non-existent, so this project is currently being developed similarly to a random walk.

Right now I'm investigating/studying:

  • state_enter
  • [mode]_execute
  • src/nvim/README.md
  • Can't I just hook a central point where mappings are parsed instead of where key presses are parsed to actions, seems my first poc is one level too low down the hierarchy?

Roadmap

  • Level 1: Log each key press to CSV
  • Level 2: Log executed mappings to CSV
  • Level 3: Log plugin mappings to CSV
  • Level 4: Log commands (:) & searches
  • Level 5: Somewhat productify with sqlite / representation layer

About

Vim-fork focused on extensibility and usability

https://neovim.io

License:Other


Languages

Language:Vim Script 44.1%Language:C 34.8%Language:Lua 19.0%Language:Python 0.8%Language:CMake 0.4%Language:Shell 0.3%Language:PostScript 0.2%Language:CSS 0.1%Language:Awk 0.1%Language:Makefile 0.0%Language:Perl 0.0%Language:PowerShell 0.0%Language:Nix 0.0%Language:HTML 0.0%Language:Scheme 0.0%Language:MATLAB 0.0%Language:Tcl 0.0%Language:Batchfile 0.0%Language:Ruby 0.0%