更改Vim背景颜色 - 而不是文本颜色

时间:2017-03-13 18:48:23

标签: linux vim colors

我希望看看我是否可以改变Vim的背景颜色,这样当我插入模式时,我的背景会略有变化。 (我的默认值是深灰色,我希望改为浅灰色)。

我正在关注我发现的其他一些SO帖子,并尝试了

autocmd InsertEnter * hi Normal ctermbg=darkgrey
autocmd InsertEnter * hi Normal ctermbg=none

这有点工作,因为它会改变我的背景,但它也改变了我的文字颜色 - 我只想改变背景。

我尝试添加ctermfg(前景?)

autocmd InsertEnter * hi Normal ctermfg=none ctermbg=darkgrey
autocmd InsertEnter * hi Normal ctermfg=none ctermbg=none

仍然没有解决它。

参考图片:

  1. 当我打开vi - 默认颜色 - 我喜欢 - 命令模式 When I open up vi - Default colors - which I like - Command mode

  2. 当我进入"插入"模式(背景巧妙地改变(好!)文本改变(不是我想要的) enter image description here

  3. 退出插入,返回"命令"模式 enter image description here

  4. 我谷歌更多,并发现另一个SO帖子,解释了ctermbg的工作方式,它是不是只是改变背景颜色,而是使用

    set background=
    

    我也试过了:

    autocmd InsertEnter * set background=dark
    autocmd InsertLeave * set background=light
    

    它改变了字体颜色和背景颜色,但这次当我回到命令模式时,字体颜色恢复正常(连同背景)。

    是否可以在不影响文字颜色的情况下更改2种颜色(浅灰色和深灰色)之间的背景颜色,从插入模式进入命令模式?

1 个答案:

答案 0 :(得分:0)

  

是否可以改变2种颜色之间的背景颜色   (浅灰色和深灰色)不影响文字颜色,从   将模式插入命令模式?

答案是

技巧包括直接使用GUI颜色(如GVim)而不是终端颜色。请试试这个:

  1. package com.belajar.belajar1; import android.widget.Toast; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.EditText; import com.google.firebase.database.*; import java.util.HashMap; import java.util.Map; public class MainActivity extends AppCompatActivity { DatabaseReference root = FirebaseDatabase.getInstance().getReference(); DatabaseReference TestLab1; EditText mInputTitle, mInputContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mInputTitle = (EditText)findViewById(R.id.inputTitle); mInputContent = (EditText)findViewById(R.id.inputContent); Toast.makeText(getApplicationContext(), "Some String", Toast.LENGTH_SHORT).show(); } public void cmdProcess(View v) { Map<String, Object> conditionalMap = new HashMap<>(); Map<String, Object> map = new HashMap<String, Object>(); map.put(root.push().getKey(), new Note(mInputTitle.getText().toString(),mInputContent.getText().toString())); if (TestLab1 == null) { conditionalMap.put("TestLab1", map); root.updateChildren(conditionalMap); } else { TestLab1.updateChildren(map); } } @Override protected void onStart() { super.onStart(); root.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (!dataSnapshot.hasChild("TestLab1")) { TestLab1 = null; } else if (dataSnapshot.hasChild("TestLab1")) { TestLab1 = dataSnapshot.child("TestLab1").getRef(); } } @Override public void onCancelled(DatabaseError databaseError) { } }); } }
  2. 中设置colorscheme之前添加set termguicolors
  3. 添加.vimrc
  4. 添加autocmd InsertEnter * hi Normal guibg=#4D4D4D
  5. 如果您的终端兼容并且您的Vim发行版是最新的,那么它应该可以正常工作。

    如果你喜欢黑暗的Vim colorschemes,你可能会对 Archery 感兴趣。我在GitHub上分享了这个项目:https://github.com/Badacadabra/vim-archery