LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 743|回复: 4

请问哪里可以查到这些代码(如 ^[[K)的意思?

[复制链接]
发表于 2006-8-29 16:24:39 | 显示全部楼层 |阅读模式

  1. ^[[1m^[[7m#^[[27m^[[1m^[[0m                                                                              

  2. ^[[0m^[[27m^[[24m^[[Jroot@kid # ^[[K
复制代码

这样的代码,看到就不知道是怎么意思了,另外,如果我要把一个程序的输出全部截获,例如,运行 bash ,把包括提示符在内的所有输出全部重定向到一个文件里面去办得到吗?怎么做?

我在使用 zsh 的时候 Emacs TRAMP 不能正常工作了,我发觉好像是提示符识别有问题,可是看输出就出现一大堆乱七八糟的东西,不知道到哪里可以查到这些代码。:thank
发表于 2006-8-29 16:31:11 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-29 17:02:30 | 显示全部楼层
恩,谢谢!那是颜色代码,我在这里找到了更详细的:
http://vt100.net/docs/vt100-ug/chapter3.html
回复 支持 反对

使用道具 举报

发表于 2006-8-29 17:18:15 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-29 23:14:09 | 显示全部楼层
恩,留着,也许以后有用。
哎!今天花了一天,总算搞好了 zsh 和 TRAMP 冲突的问题,找 TRAMP 的毛病、 sshd 的毛病、Emacs 的毛病和 zsh 的毛病,最后终于找到问题所在了:
zsh 有额外的默认打开的功能,让 TRAMP 不能正确处理。额外的功能由 prompt_cr 和 prompt_sp 两个变量控制。 prompt_cr 打开的话,在输出提示符之前会输出回车符,这是多行编辑所需要的,但是这样有时候如果上一个命令的输出最后一行没有换行的话就会被“吃掉”,例如:
  1. $ setopt prompt_cr
  2. $ setopt No_prompt_sp
  3. $ echo -n "foobar"
  4. $
复制代码
看到 "foobar" 已经被吃掉了,但是如果同时打开了 prompt_sp 变量,则会在未换行的那一行末尾打印一个反色粗体的 % (或者是 #)并打印适量的空格让提示符延伸到下一行。这个功能本来是不错的,但是在 Emacs 里面用 M-x shell 得到的 shell 里面不好用,而且多余的 % (或者 #) 会影响 TRAMP 识别提示符,造成 TRAMP 不能正常工作。要解决这个问题的办法也是比较简单的,因为 Emacs 和 TRAMP 使用的 TERM 变量都是 dumb ,只要在 TERM 是 dumb 的时候关掉这两个选项就好了,在 ~/.zshrc 里面加入:
  1. # for Emacs and TRAMP to handle prompt properly
  2. if "$TERM" == "dumb" then
  3.     setopt No_prompt_cr
  4.     setopt No_prompt_sp
  5. fi
复制代码

还没有了解他的命令行编辑的功能,不知道那个“多行编辑”到底是指什么,要不然索性全部关闭了。试用了几天默认设置的话,行编辑器有一点不爽,比如输入 /tmp/foo/bar 然后按 Alt+Backspace ,就全部删除了,应该是一个词一个词地删除比较人性化一点,难不成 /tmp/foo/bar 被看成一个词了?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表