在Emacs中使用Vim

4

这个问题并不是关于在Emacs中使用Vim-mode,而是关于在Emacs中使用Vim。我并不想发起任何编辑器之争,我只是想在Emacs中使用Vim。

http://dl.getdropbox.com/u/175588/emacs.png

你可以通过"M-x term"和"vim"命令在Emacs中使用Vim。

当我使用Vim-Emacs时,打字很困难。会出现奇怪的符号,比如"4m"、"4mm"和"^?^?"。插入模式下的退格键和x按钮都不起作用。这些奇怪的符号会在我按下后面的键时出现。

如何让Vim在Emacs中正常工作?

[更新信息]

以下操作系统中的Vim-Emacs存在故障:

  • Mac OS 10.5.6

2
刚试了一下,无法复现。打字没问题,没有奇怪的符号,退格键也正常。这是Ubuntu 9.04,GNU Emacs 22.2.1,vim 7.2。 - Laurynas Biveinis
我在Mac终端中测试了Vim-Emacs。 我将测试单独的Emacs。 - Léo Léopold Hertz 준영
在单独的Emacs中出现了相同的错误。Mac OS 10.5.6。 - Léo Léopold Hertz 준영
kastauyra:你说得对。我在我的虚拟机Ubuntu中测试了这个东西,没有出现这种情况。显然,这是一个Mac特有的错误或者其他问题。 - Léo Léopold Hertz 준영
vim看到的终端类型是什么?在Emacs term中,我得到了: $ echo $TERM eterm-color - Laurynas Biveinis
我同意kastauyra的看法,这似乎是终端类型问题。我以前在Emacs中运行东西时也遇到过这种情况,因为Emacs终端仿真器并不支持所包含进程所需的所有功能。 - Timo Geusch
2个回答

4
您看到的是您的shell/Vim会话中终端设置$TERM与EMACS终端执行的不匹配。我的工作正常,唯一的问题是删除键被映射为DEL,0x127,而Vim需要^H,0x8。我的显示$TERM设置为"eterm-color"。

检查您的$TERM设置

$ echo $TERM

并查阅Vim文档以解决退格键问题。


好的,这可能是由某些特定于x的东西设置的。我正在运行Mac OS/X 10.5.6,Intel和一个相当旧的Carbon EMACS,去年七月份发布的。尝试显式设置你的Vim终端类型,看看是否更好。 - Charlie Martin

0

对于退格键,

stty crt erase <CTRL-V><BACKSPACE>

对我有用。

至于其他的,我不知道。可能是一些shell输出,终端无法处理。(从未使用过emacs的'term'...更喜欢iTerm或Terminal.app来处理与shell相关的东西。emacs的'term'被称为“不完美的终端仿真器”)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接