vim - 按 <Enter> 在行首给出 "M"

标签 vim vi ncurses gnu-screen

这是一个最奇怪的问题,我只使用 GNU Screen 和诺基亚 N900 才遇到这个问题。在 vi 下(事实证明,vim 和 nvi)如果我在插入模式下输入 one<Enter>two我明白

Mtwo
one

所以,不仅<Enter>放一个M在该行的开头,但实际上它同时做了一些非常奇怪的事情。除此之外,这个问题不允许我保存并退出。

有什么想法吗?提前致谢。

可能的答案:事实证明I wasn't the only one having this issue ,只需添加 term xterm 就消失了(至少在我们的例子中)给您.screenrc 。抱歉在提问之前没有进行更彻底的搜索...

最佳答案

您的<Enter>就像回车和换行( <CRLF> )。这是 ASCII 10,后面是 ASCII 13(这是您看到的 CTRL-M)。然而, screen 不支持它。尝试做:

export TERM=vt100

然后运行 ​​vi 等或者只是

TERM=vt100 vi

这应该可以修复该行为(假设您有 vt100 终端功能)。

关于vim - 按 <Enter> 在行首给出 "M",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12126293/

相关文章:

ruby - 我如何使用 ncurses 在 telnet 界面上绘制 ..?

bash - 使用exec vi时出错

c - 使用 ncurses 后的 printf()/puts()

vim - 限制 Vim 中代码的搜索范围

vim - 如何使 Vim 插件 NERDTree 的 <CR> 表现得更像 `go` ?

vim - 当 { 和 } 位于同一行时,Vim 中出现奇怪的折叠。&*

vim - 调用函数时 Autocmd 未运行执行

linux - 如何在 vi 编辑器中一次搜索 3 个字符串?

editor - vi 替换命令

c - ncurse 窗口中的 printw 加 scanf 将不会显示键入的文本