Add simple vim mode

This commit adds a "vim_mode" setting (false/`0` by default) that causes
keys to be remapped in the following way by the `ScreenManager`:

+ h -> LEFT
+ j -> DOWN
+ k -> UP
+ l -> RIGHT
+ LEFT -> h (toggle help)
+ DOWN -> j (noop)
+ UP -> k (open kill menu)
+ RIGHT -> l (lsof current process)
+ K (Shift+K) -> k (open kill menu)
+ J (Shift+J) -> K (toggle show/hide kernel threads)
+ L (Shift+L) -> l (lsof current process)

I couldn't figure out where the manpage documentation is in the repo,
though I admittedly did not look particularly hard.

I believe this change would be a welcome option for heavy vim users like myself
who would like a familiar way to get around in htop.
This commit is contained in:
Daniel Flanagan
2019-10-31 11:20:55 -05:00
parent 28840683cf
commit 12805f61d8
3 changed files with 31 additions and 9 deletions

View File

@ -22,7 +22,7 @@ typedef struct {
typedef struct Settings_ {
char* filename;
MeterColumnSettings columns[2];
ProcessField* fields;
@ -49,6 +49,7 @@ typedef struct Settings_ {
bool updateProcessNames;
bool accountGuestInCPUMeter;
bool headerMargin;
bool vimMode;
bool changed;
} Settings;