1 # Description: Change key bindings for comfortable use with Colemak keyboard
2 # layout. This diff was made in 4.7 release version of nnn.
4 # Author: github.com/jacmoe
5 diff --git a/src/nnn.c b/src/nnn.c
6 index 21a7370b..2ddb4053 100644
9 @@ -5109,12 +5109,12 @@ static void show_help(const char *path)
13 - "9Up k Up%16PgUp ^U Page up\n"
14 - "9Dn j Down%14PgDn ^D Page down\n"
15 + "9Up e Up%16PgUp ^U Page up\n"
16 + "9Dn n Down%14PgDn ^D Page down\n"
17 "9Lt h Parent%12~ ` @ - ~, /, start, prev\n"
18 - "5Ret Rt l Open%20' First file/match\n"
19 - "9g ^A Top%21J Jump to entry/offset\n"
20 - "9G ^E End%20^J Toggle auto-advance on open\n"
21 + "5Ret Rt i Open%20' First file/match\n"
22 + "9g ^E Top%21J Jump to entry/offset\n"
23 + "9G ^N End%20^J Toggle auto-advance on open\n"
24 "8B (,) Book(mark)%11b ^/ Select bookmark\n"
25 "a1-4 Context%11(Sh)Tab Cycle/new context\n"
26 "62Esc ^Q Quit%19^y Next young\n"
27 @@ -5122,20 +5122,20 @@ static void show_help(const char *path)
31 - "c/ Filter%17^N Toggle type-to-nav\n"
32 + "c/ Filter%17^M Toggle type-to-nav\n"
33 "aEsc Exit prompt%12^L Toggle last filter\n"
34 "c. Toggle hidden%05Alt+Esc Unfilter, quit context\n"
37 - "9o ^O Open with%15n Create new/link\n"
38 + "9o ^O Open with%15c Create new/link\n"
39 "9f ^F File stats%14d Detail mode toggle\n"
40 "b^R Rename/dup%14r Batch rename\n"
41 - "cz Archive%17e Edit file\n"
42 + "cz Archive%17y Edit file\n"
43 "c* Toggle exe%14> Export list\n"
44 "6Space + (Un)select%12m-m Select range/clear\n"
45 "ca Select all%14A Invert sel\n"
46 "9p ^P Copy here%12w ^W Cp/mv sel as\n"
47 - "9v ^V Move here%15E Edit sel list\n"
48 + "9v ^V Move here%15l Edit sel list\n"
49 "9x ^X Delete%18S Listed sel size\n"
52 diff --git a/src/nnn.h b/src/nnn.h
53 index 3e4ea19c..b0eb7cdb 100644
56 @@ -137,12 +137,12 @@ static struct key bindings[] = {
58 /* Pure navigate inside */
59 { KEY_RIGHT, SEL_NAV_IN },
60 - { 'l', SEL_NAV_IN },
61 + { 'i', SEL_NAV_IN },
65 { KEY_DOWN, SEL_NEXT },
71 { KEY_NPAGE, SEL_PGDN },
72 @@ -155,11 +155,11 @@ static struct key bindings[] = {
74 { KEY_HOME, SEL_HOME },
76 - { CONTROL('A'), SEL_HOME },
77 + { CONTROL('E'), SEL_HOME },
81 - { CONTROL('E'), SEL_END },
82 + { CONTROL('N'), SEL_END },
83 /* Go to first file */
85 /* Jump to an entry number/offset */
86 @@ -199,7 +199,7 @@ static struct key bindings[] = {
89 /* Toggle filter mode */
90 - { CONTROL('N'), SEL_MFLTR },
91 + { CONTROL('M'), SEL_MFLTR },
92 /* Toggle hide .dot files */
94 /* Detailed listing */
95 @@ -226,7 +226,7 @@ static struct key bindings[] = {
96 /* Invert selection in current dir */
98 /* List, edit selection */
99 - { 'E', SEL_SELEDIT },
100 + { 'l', SEL_SELEDIT },
101 /* Copy from selection buffer */
103 { CONTROL('P'), SEL_CP },
104 @@ -243,7 +243,7 @@ static struct key bindings[] = {
105 { 'o', SEL_OPENWITH },
106 { CONTROL('O'), SEL_OPENWITH },
107 /* Create a new file */
110 /* Show rename prompt */
111 { CONTROL('R'), SEL_RENAME },
112 /* Rename contents of current dir */
113 @@ -255,7 +255,7 @@ static struct key bindings[] = {
114 /* Toggle auto-advance on file open */
115 { CONTROL('J'), SEL_AUTONEXT },
121 /* Show total size of listed selection */