首先,抱歉我的英语不好。这个问题让我抓狂了...我有一个 debian jessie 服务器,我习惯在我的 win10 机器上通过 X11-xrdp 来操作它。当我从 windows 复制并在 rdp 会话中粘贴到 konsole(或任何其他终端)时,每行都会多出一个换行符。例如,当我粘贴:
echo
echo
echo
我得到
root@lismall:~$ echo
enter code here
root@lismall:~$
root@lismall:~$ echo
root@lismall:~$
root@lismall:~$ echo
如果我在 vim 中执行同样的事情,在设置“:set list”之后,我会看到以下内容:
echo$
$
echo$
$
echo$
如果我在 tex 编辑器(例如 medit)中粘贴相同的行,则没问题,没有双换行符。
这是我的“stty -a”输出:
speed 38400 baud; rows 48; columns 192; line = 0;
intr = ^C; quit = ^\; erase = ^?; 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 -cmspar 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
你能帮帮我吗?提前谢谢您!
答案1
您的 stty 输出显示-icrnl
(不将回车符转换为换行符)
尝试stty icrnl
答案2
TL;DR: ~/.bashrc 中的 'stty -icrnl' 在 Arch linux 下帮我修复了这个问题
在 Arch Linux 下使用“konsole|yakuake”终端(xterm 就是这样的不是显示问题)我遇到了同样的问题。
我的 stty 设置没有包括“-icrnl”。
-icrnl:不要将回车替换为新行。
因此,基本上将“stty -icrnl”添加到 ~/.bashrc 最终修复了在 vim 中粘贴之前从 Firefox 复制的文本时出现重复换行符“错误”。
基本上,这是 Firefox 中的一个错误,或者它如何使用相应的 GTK3 库......