刚刚用自制软件编译MacVim。这是我在:sh然后输入ls:
时的样子http://cloud.jtmkrueger.com/image/2N0S0T3k3l1J
如您所见,它只是字符代码。
更新
我跑哦-my-zsh
尝试安装此处命名的插件:
http://vim.1045645.n5.nabble.com/ANSI-colors-td1219411.html
似乎没有帮助
另一个更新
删除我的zsh syntax highlighting plugin它似乎工作正常。有没有办法在使用oh-my-zsh时关闭zsh插件只有当它是一个虚拟的'哑终端'时?
答案 0 :(得分:4)
当您在GVim或MacVim中执行:sh
时,您无法获得真正的终端模拟器。
它是“愚蠢的”,并且没有方式让它理解那些转义序列。你最好习惯它或者在vim-dev邮件列表上询问(有令人信服的参数和现成的补丁)。
答案 1 :(得分:2)
您可能想尝试ConqueTerm plugin尽力解释ANSI序列,即使在MacVim中也是如此。
答案 2 :(得分:1)
您看到的实际上不仅仅是字符代码,而是您通常的shell提示符,其中包含颜色代码。您可以通过重新定义PS1
或删除~/.bashrc
中修改后的定义来停用它。
如果您想在命令行上使用颜色提示,但不在MacVim中使用颜色提示,则可以在~/.bashrc
中通过在vim内部设置PS1(来自here)
if [ $VIM ]; then
export PS1='\h:\w\$ '
fi
答案 3 :(得分:0)
您可以尝试以下操作,而不是ls,输入command ls
;它不应该显示转义码。
如果它有效,您可以在路径中的文件夹中创建一个新文件,例如vls,其中包含以下内容:
#!/bin/sh
command ls $@
之后chmod +x vls
再次,如果它在你的路径中,你应该可以使用vim中的那个。
答案 4 :(得分:0)
仅供参考,:h guioptions
now support以下标志:
'!' External commands are executed in a terminal window. Without
this flag the MS-Windows GUI will open a console window to
execute the command. The Unix GUI will simulate a dumb
terminal to list the command output.
The terminal window will be positioned at the bottom, and grow
upwards as needed.
设置:set go+=!
,运行:sh
,然后感到惊讶:)。