Linux VI在设置提示符和ls --color后搞砸了



我已经设置了我的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

我的 2 美分价值:

好吧,颜色设置是通过终端窗口中的转义序列处理的。如果你通过管道将标准输出传送到一个文件,并且请求了颜色,你应该在那里得到这些转义序列。

似乎 vim 并不欣赏您当前配置中的那些转义序列。默认情况下,它使它们可见。

LS:请注意,ls --color=auto只有在stdout为终端时才会发送到文件。也许你有 --颜色=永远打开。确保你有自动和逃生消失。

如果这是您的意图 - 要在 vim 中实际获得 ls 颜色,请查看此链接以获取更多讨论。你可以哄骗vim实际上将它们视为逃生并过滤掉它们 - 或着色。

最新更新