我正在尝试解决一些终端问题,我正在使用Git Bash shell从Windows笔记本电脑连接到Linux服务器。屏幕似乎没有正确刷新(清除后不清除屏幕,退出vim和man输出后停留在屏幕上等)。我正在查看stty设置并将其与另一个我没有这些问题的linux服务器进行比较。我在工作服务器上看到的一件事是eol = M-^?; eol2 = M-^?;
。有人可以向我解释这个符号吗?如何在其他服务器上复制此设置?
答案 0 :(得分:1)
stty
仅限于单字节字符。
bash
使用M-
前缀的命名约定(与其他一些程序一样)来表示元标志。通常,^?
是ASCII DEL(十进制127,十六进制0x7f),所以我希望M-^?
为255(0xff)。
根据实施情况(请参阅_POSIX_VDISABLE
的讨论)stty
可能会将该值显示为undef
:
$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
关于 meta ,ncurses在terminfo(5)
中有一些文档:
如果终端有一个&#34;元键&#34;这是一个转变 键,设置传输的任何字符的第8 位, 这个事实可以用km来表示。否则,软件 将假设第8 位是奇偶校验并且通常是 被清除。如果存在字符串来转换这个&#34;元模式&#34;上 然后,他们可以
smm
和rmm
。
并使用keyname
函数返回该格式的值:
128以上的值是元字符(如果是 屏幕尚未初始化,或者meta已经初始化 使用TRUE参数调用,以 M-X 表示法显示,或显示为自身。在后者 例如,值可能无法打印;这是如下 X / Open规范。
进一步阅读: