]> Sergey Matveev's repositories - nnn.git/blob - patches/colemak/mainline.diff
Fix colemak patch
[nnn.git] / patches / colemak / mainline.diff
1 # Description: Change key bindings for comfortable use with Colemak keyboard
2 #              layout. This diff was made in 4.7 release version of nnn.
3 #
4 # Author: github.com/jacmoe
5 diff --git a/src/nnn.c b/src/nnn.c
6 index 21a7370b..2ddb4053 100644
7 --- a/src/nnn.c
8 +++ b/src/nnn.c
9 @@ -5109,12 +5109,12 @@ static void show_help(const char *path)
10         "2(___n))\n"
11         "0\n"
12         "1NAVIGATION\n"
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)
28                   "cq  Quit context\n"
29         "0\n"
30         "1FILTER & PROMPT\n"
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"
35         "0\n"
36         "1FILES\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"
50                 "aEsc  Send to FIFO\n"
51         "0\n"
52 diff --git a/src/nnn.h b/src/nnn.h
53 index 3e4ea19c..b0eb7cdb 100644
54 --- a/src/nnn.h
55 +++ b/src/nnn.h
56 @@ -137,12 +137,12 @@ static struct key bindings[] = {
57         { '\r',           SEL_OPEN },
58         /* Pure navigate inside */
59         { KEY_RIGHT,      SEL_NAV_IN },
60 -       { 'l',            SEL_NAV_IN },
61 +       { 'i',            SEL_NAV_IN },
62         /* Next */
63 -       { 'j',            SEL_NEXT },
64 +       { 'n',            SEL_NEXT },
65         { KEY_DOWN,       SEL_NEXT },
66         /* Previous */
67 -       { 'k',            SEL_PREV },
68 +       { 'e',            SEL_PREV },
69         { KEY_UP,         SEL_PREV },
70         /* Page down */
71         { KEY_NPAGE,      SEL_PGDN },
72 @@ -155,11 +155,11 @@ static struct key bindings[] = {
73         /* First entry */
74         { KEY_HOME,       SEL_HOME },
75         { 'g',            SEL_HOME },
76 -       { CONTROL('A'),   SEL_HOME },
77 +       { CONTROL('E'),   SEL_HOME },
78         /* Last entry */
79         { KEY_END,        SEL_END },
80         { 'G',            SEL_END },
81 -       { CONTROL('E'),   SEL_END },
82 +       { CONTROL('N'),   SEL_END },
83         /* Go to first file */
84         { '\'',           SEL_FIRST },
85         /* Jump to an entry number/offset */
86 @@ -199,7 +199,7 @@ static struct key bindings[] = {
87         /* Filter */
88         { '/',            SEL_FLTR },
89         /* Toggle filter mode */
90 -       { CONTROL('N'),   SEL_MFLTR },
91 +       { CONTROL('M'),   SEL_MFLTR },
92         /* Toggle hide .dot files */
93         { '.',            SEL_HIDDEN },
94         /* Detailed listing */
95 @@ -226,7 +226,7 @@ static struct key bindings[] = {
96         /* Invert selection in current dir */
97         { 'A',            SEL_SELINV },
98         /* List, edit selection */
99 -       { 'E',            SEL_SELEDIT },
100 +       { 'l',            SEL_SELEDIT },
101         /* Copy from selection buffer */
102         { 'p',            SEL_CP },
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 */
108 -       { 'n',            SEL_NEW },
109 +       { 'c',            SEL_NEW },
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 },
116         /* Edit in EDITOR */
117 -       { 'e',            SEL_EDIT },
118 +       { 'y',            SEL_EDIT },
119         /* Run a plugin */
120         { ';',            SEL_PLUGIN },
121         /* Show total size of listed selection */