最初在苹果堆栈交换上发布了这篇文章,但我怀疑解决方案可能是Linux-ey,比如给我的.bashrc
添加一些内容。
目前,当我将SSH放到Linux机器上时,VIM中的ls
输出颜色和语法着色与本地机器上的颜色不同。所显示的颜色在我的Profile...Colors...ANSI颜色中没有定义,并且包括一个难看的深棕色表示“黄色”。如何强制远程会话中的文本与我的ANSI颜色相匹配,因此颜色总是一致的?
下面是我所说的一个例子:左边是本地计算机上的VIM会话,右边是SSH会话中的VIM会话。注意那个可怕的棕色。
这里有一个ls
问题的例子--颜色不同。
发布于 2018-01-02 23:16:59
终端vim使用终端提供的颜色(大概是您选择的ANSI颜色--除非终端提供256种颜色模式或可设置的颜色),但是它所使用的颜色中哪些是由vim颜色方案控制的,如果它认为背景是浅色还是深色。
您可以检查:set background?
是否将背景设置为光或暗。你可以用普通的方式改变它(例如,:set background=dark
)。
可以通过运行:colorscheme
来检查当前的配色方案,并通过运行:colorscheme «NAME»
来设置它。至少在这里,vim将标签完整的名称,让您看到所有可用的。
一旦找到了喜欢的设置,就可以将它们添加到~/.vimrc
中。
编辑:ls
颜色(带有GNU )由LS_COLORS
环境变量设置;请参见info dircolors
或(如果不起作用) man dircolors
。尽管这可能有点困难,因为Mac ls
和GNU ls
(通常在Linux上使用)是完全不同的实现。
发布于 2018-01-03 06:04:32
我发现了"ls颜色不同“的问题的答案。您只需要确保在这两台机器上都启用了ls
着色,然后使用此页使本地(Mac) LSCOLORS
变量中编码的颜色与在远程(Linux) LS_COLORS
变量中编码的颜色相同。
对于Linux ls
,颜色与macOS默认值相匹配:将其放在.bashrc
中:
alias ls="ls -G"
export LSCOLORS="exfxcxdxbxegedabagacad"
并将其放在Linux机器上的.bashrc
中:
alias ls="ls --color=always"
export LS_COLORS="di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"
https://unix.stackexchange.com/questions/414393
复制相似问题