📄 todo.emacskey.dif
字号:
--- window.c Wed May 22 23:40:36 1996+++ ../../source/window.c Thu May 9 23:55:04 1996@@ -38,6 +38,7 @@ #ifndef BBS #include "config.h"+#include "configsym.h" #endif #define BUFFERSIZE 2048@@ -1589,6 +1590,9 @@ int direct = dirflush; int delete = 1; + char *emacskeymap_from = "\001\002\004\005\006" /*"\013"*/ ; + int emacskeymap_to[] = { K_HOME, K_LT, K_DEL, K_END, K_RT } ;+ x = w->curx; y = w->cury; @@ -1609,6 +1613,11 @@ once--; } else { c = getch();+ /* maybe this stuff (below) should be #ifndef BBS?? */+ if (P_EMACSKEYS[0] == 'Y' && strchr(emacskeymap_from,c))+ c = emacskeymap_to[(int)strchr(emacskeymap_from,c) -+ (int)emacskeymap_from];+ if (c > 255 || c == K_BS || c == K_DEL) delete = 0; } switch(c) {@@ -1677,7 +1686,18 @@ wlocate(w, x + idx - offs, y); wflush(); break;+ case 'K'-'@': /* CTRL-K */+ /* Delete rest of line */+ if(P_EMACSKEYS[0] == 'Y') {+ buf[idx] = 0;+ lredraw(w, x + idx - offs, y, buf + idx,+ linelen - (idx - offs));+ wlocate(w, x + idx - offs, y);+ wflush();+ }+ break; default:+ if (c < 32 || c > 127) break; /* If delete == 1, delete the buffer. */ if (delete) { if ((i = strlen(buf)) > linelen)@@ -1691,7 +1711,6 @@ } /* Insert character at cursor position. */- if (c < 32 || c > 127) break; if (idx + 1 >= maxlen) break; for(f = strlen(buf) + 1; f > idx; f--) buf[f] = buf[f-1];--- ./config.c Wed May 22 23:23:18 1996+++ ../source/config.c Thu May 9 22:58:38 1996@@ -593,13 +593,13 @@ int tmp_c; /* fmg - need it to color keep in sanity checks */ char buf[16]; int miny = 4, - maxy = 17;+ maxy = 18; int old_stat = P_STATLINE[0]; #if _HAVE_MACROS FILE *fp; miny = 3;- maxy = 19;+ maxy = 20; #endif w = wopen(15, miny, 69, maxy, BDOUBLE, stdattr, mfcolor, mbcolor, 0, 0, 1);@@ -621,11 +621,13 @@ /* MARK updated 02/17/95 - Configurable history buffer size */ wprintf(w, " K - History Buffer Size : %s\n", P_HISTSIZE); + wprintf(w, " L - Enable Emacs keys : %s\n", P_EMACSKEYS);+ #if _HAVE_MACROS /* fmg - macros support */- wprintf(w, " L - Macros file : %s\n", P_MACROS);- wprintf(w, " M - Edit Macros\n");- wprintf(w, " N - Macros enabled : %s\n", P_MACENAB);+ wprintf(w, " M - Macros file : %s\n", P_MACROS);+ wprintf(w, " N - Edit Macros\n");+ wprintf(w, " O - Macros enabled : %s\n", P_MACENAB); #endif wredraw(w, 1);@@ -855,9 +857,14 @@ werror("This system does not support history"); #endif break;+ case 'L': /* enable emacs editing keys */+ psets(P_EMACSKEYS, yesno(P_EMACSKEYS[0] == 'N'));+ wlocate(w, 30, 12);+ wprintf(w, "%s", P_EMACSKEYS);+ break; #if _HAVE_MACROS- case 'L': /* fmg - get local macros storage file */- pgets(w, 30, 12, P_MACROS, 64, 64);+ case 'M': /* fmg - get local macros storage file */+ pgets(w, 30, 13, P_MACROS, 64, 64); /* Try to open the file to read it in. */ fp = sfopen(pfix_home(P_MACROS), "r+");@@ -880,12 +887,12 @@ readmacs(fp, 0); fclose(fp); break;- case 'M': /* fmg - Bring up macro editing window */+ case 'N': /* fmg - Bring up macro editing window */ domacros(); break;- case 'N':+ case 'O': psets(P_MACENAB, yesno(P_MACENAB[0] == 'N'));- wlocate(w, 30, 14);+ wlocate(w, 30, 15); wprintf(w, "%s", P_MACENAB); break; #endif--- orig_source/configsym.h Wed Mar 15 18:37:36 1995+++ source/configsym.h Thu May 9 22:34:32 1996@@ -117,7 +117,8 @@ #define P_SOUND mpars[75].value #define P_HISTSIZE mpars[76].value /* History buffer size */- +#define P_EMACSKEYS mpars[77].value /* Enable emacs keys in line edits */+ /* fmg - macros struct */ #define P_MAC1 mmacs[0].value--- orig_source/rwconf.c Wed Mar 15 18:37:36 1995+++ source/rwconf.c Thu May 9 22:35:56 1996@@ -140,6 +140,9 @@ /* MARK updated 02/17/95 - History buffer size */ { "256", PUBLIC, "histlines" }, + /* Enable Emacs editing keys in line editings */+ { "Yes", PUBLIC, "emacskeys" },+ /* That's all folks */ { "", 0, (char *)NULL }, };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -