linux vi在设置提示符和ls --color后搞砸了

时间:2012-09-20 17:10:02

标签: linux color-scheme ls

我已将ls colorless设置为

alias ls='ls --color'
LS_COLORS='no=00:fi=00:di=00;94:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'
export LS_COLORS
alias less='less -R'`, and my `prompt` like `
export PS1="\n\[\e[31m\]\u\[\e[33m\]@\[\e[34;1m\]\h \[\e[36m\]\W \[\e[35m\]^\$ \[\e[0m\]"

我认为最好在我的显示器上看到,但当我执行ls > OUTPUTFILE甚至cat SOMEFILE之类的操作时,我使用vi查看输出文件,它已搞砸了喜欢

^[[00mNC_000954.fna^[[00m
^[[00mNC_000955.fna^[[00m
^[[00mNC_000956.fna^[[00m
^[[00mNC_000957.fna^[[00m
^[[00mNC_000958.fna^[[00m
^[[00mNC_000959.fna^[[00m
^[[00mNC_000961.fna^[[00m

应该是

NC_000117.fna
NC_000853.fna
NC_000854.fna
NC_000868.fna
NC_000907.fna
NC_000908.fna
NC_000909.fna 

没有那些特殊符号。

这有什么问题?我不知道哪种颜色设置改变了这一点。顺便说一句,我已将vimrc color设为colorscheme delek

1 个答案:

答案 0 :(得分:1)

我的2分钱:

嗯,使用终端窗口中的转义序列处理颜色设置。如果你将stdout传递给一个文件,并且已经请求了颜色,你应该在那里获得那些转义序列。

似乎vim不了解您当前配置中的转义序列。默认情况下,它们可见。

ls:注意ls --color = auto只有当stdout是终端时才会发送到文件。 也许你有--color =永远在线。确保你有自动,逃脱消失。

如果这是你的意图 - 在vim中实际获得ls颜色,那么check this link进行更多讨论。

你可以哄骗vim将它们视为逃逸并将它们过滤掉 - 或者进行着色。