当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 弱弱地问一下,为啥终端的Ctrl+[和ESC反应要老半天,Ctrl+C马上就好了?
帖子发表于 : 2011-04-15 2:23 

注册: 2011-02-28 0:27
帖子: 27
送出感谢: 0 次
接收感谢: 0 次
困惑阿,GUI的反应到是很快。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 弱弱地问一下,为啥终端的Ctrl+[和ESC反应要老半天,Ctrl+C马上就好了?
帖子发表于 : 2011-04-15 9:07 
头像

注册: 2007-03-24 23:45
帖子: 2357
送出感谢: 0 次
接收感谢: 9
引用:
1.10 映 射 ALT 键 *:map-alt-keys*

GUI 上,Vim 自己处理 Alt 键,所以用 ALT 键的映射应该总没有问题。但在终端上,
Vim 得到字节的序列,它必须自己判断是不是按了 ALT 键。

Vim 缺省假设按下 ALT 键等于置位输入字符的第 8 位。多数正常的终端如此工作,包括
xterm、aterm 和 rxvt。假如你的 <A-k> 映射不能工作,可能的原因是你的终端用在字
符前加上 ESC 前缀的方法。但是你本来也可能在字符前输入 ESC,这时 Vim 就不知道到
底发生了什么 (只能检查字符间的延迟,但这并不可靠)。

在此文写作时,有些主流的终端,如 gnome-terminal 和 konsole,使用 ESC 前缀。没
有办法让它们用置位第 8 位来代替。Xterm 缺省应该没有问题。Aterm 和 rxvt 启动时
如果使用 "--meta8" 参数也可以如此。你也可以修改资源来达到目的:
"metaSendsEscape"、"eightBitInput" 和 "eightBitOutput"。

Linux 控制台上,可以用 "setmetamode" 命令切换此行为。记住不使用 ESC 前缀可能和
其它程序发生冲突。确保你的 bash 把 "convert-meta" 选项设为 "on",确保 Meta 键
盘绑定仍然工作 (这是缺省的 readline 行为,除非你的系统配置专门作了改变)。为
此,你需要加入这行:

解决方案
代码:
:set timeout timeoutlen=1000 ttimeoutlen=100


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 弱弱地问一下,为啥终端的Ctrl+[和ESC反应要老半天,Ctrl+C马上就好了?
帖子发表于 : 2011-04-15 13:32 

注册: 2011-02-28 0:27
帖子: 27
送出感谢: 0 次
接收感谢: 0 次
原来如此~~~~ 太感谢了。。。

help中大海捞针太不容易了... :em11


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译