大家好,我是良许。

Vim是我们在Linux中非常常用的一款文本编辑器。Vim 是一款免费、开源的文本编辑器,它的功能和许多其他的文本编辑器大致相同,比如 Sublime 和 Notepad++ 。Vim既可以在命令行中执行,也可以在图形界面中操作。

Vim 的教程有很多,本文我们主要讲的是如何更改 Vim 的颜色和主题。

Vim 对于初学者来讲的话,其实不是非常友好。但如果你熟练使用了 Vim 之后,你就会发现,你再也离不开 Vim 了。

Vim的主题的什么东西?

所谓的主题,其实本质上就是一种配色方案,也就是一组具有美感的,在视觉上提升使用者的使用体验的色彩组合。Vim 编辑器本身也附带了一些现成的配色方案。

不过需要注意的这里描述的 Vim 配色方案是应用在代码上的,具体而言就是在代码的一些关键字上加上特定的颜色,不是应用在终端的背景颜色上的。

要查看当前的 Vim 的配色方案,在进入 Vim 的操作界面之后输入以下命令:

:colorscheme

要查看有哪些可用的默认配置方案,可以使用以下命令:

:colorscheme+空格+Tab

其实就是在空格之后多次点击 tab 键,切换到想设置的颜色然后回车进行设置。默认的配色方案有很多种,比如基本的有 红、蓝、黑灰,特殊的有 desert 等等。

下载自己喜欢的配色文案

如果不喜欢默认主题呢?我们可以到在 Github上找到很多不错的主题,而其中很多也可以通过 Vimcolors.com 来获取。其中有些主题不仅改变代码和语法的颜色,还会改变背景颜色。

找到自己喜欢的主题之后,可以用以下方式来将这些主题应用到你的 Vim 中。

  1. 首先创建一个 .vim 目录:
$ mkdir ~/.vim
  1. 然后使用以下命令将主题仓库克隆到自己的 .vim 文件夹中:
$ git clone <https://github.com/flazz/vim-colorschemes.git> ~/.vim

以上尖括号里的地址可能会根据主题项目而变。

  1. 进入 Vim 操作模式,使用之前的命令选择主题:
 :colorscheme+空格+Tab

或者,你也可以直接指定主题,就不用一直敲 Tab 键了。

:colorscheme yourTheme

但是,这两个操作都不是永久的,你一旦关闭 Vim ,主题又将自动重置了。如果你需要将 Vim 的主题默认为你喜欢的主题,可以运行下面这条命令:

$ echo 'colorscheme <desert>' >> ~/.vimrc

选一个喜欢的主题

使用哪种主题完全取决于个人喜好,我个人喜欢使用颜色比较明亮的主题。有人喜欢黑色的主题,电影里的黑客常常就是用的那样的主题。也有人喜欢彩色的主题。

如果不确定要选择哪一种主题,这里有一些推荐的方案,可以参考一下。

童话花园 fairy-garden

冰河世纪 ice-age

忧郁 bluewery

synthwave84

anderson

你最喜欢哪种主题呢?留言告诉我吧~


公众号:良许Linux

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

如何在Vim中更改颜色和主题的更多相关文章

  1. 如何在XCode中更改iPhone或iPad模拟器类型

    如何在XCode中更改iPhone或iPad模拟器类型 参考方法一(永久,一旦设置后,每次运行指定的模拟器):(1)选择顶层菜单Project 中的 Set Active Executable(2)根 ...

  2. 如何在VIM中保存编辑的只读文件

    我们经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限, 这时候怎么办呢? 当需要保存时,输入以下的命令: :w !sudo tee %

  3. 如何在 Linux 中更改 swappiness

    交换空间是 RAM 内存已满时使用的硬盘的一部分.交换空间可以是专用交换分区或交换文件.当 Linux 系统耗尽物理内存时,非活动页面将从 RAM 移动到交换空间.Swappiness 是一个 Lin ...

  4. 如何在MyEclipse中更改servlet模板 Jsp模板

    http://blog.csdn.net/sjw890821sjw/article/details/6995190 刚换上Myeclipse9.0,结果要修改servlet模板的时候不像Myeclps ...

  5. 如何在vim中同时编辑多个文件

    参考:http://stackoverflow.com/a/53668/941650 Why not use tabs (introduced in Vim 7)? You can switch be ...

  6. 如何在Vim中的查找替换

    “%s/最/第二/g” 用vim的人都知道,这是把所有“最”替换成“第二”的意思.其实vim的查找替换功能非常强大,用的好可以极大提升效率. vim的查找替换命令如下所示:    :{作用范围}s/{ ...

  7. jQuery如何在IE中更改网页标题

    标准上来说,要改变title值要操作document而不是title节点.在IE下不能通过操作title节点来改变document.title. 本来用原生的JavaScript很简单就解决了: do ...

  8. vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb

    vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb << 返回vim使用进阶: 目录 本节所用命令的帮助入口: :help vimgdb 在UNIX系统最初设计时,有一 ...

  9. 在vim中插入命令行的输出结果

    vim是linux中常见的编辑器,这里讲讲如何在vim中插入命令行的输出结果. 基本用法: 在指令模式下运行 :!command ,如!date将日期显示在vim底部,!ls列出当前目录 将命令结果插 ...

随机推荐

  1. 看不见远程新建git分支

    再网页上新建了一个git分支.然后在本地跑git branch -r(查看远程分支)/ git branch -a(查看所有分支)两个命令,都没有看到新建的那个分支.这是为啥呢??? 原因是因为:gi ...

  2. Java实现 LeetCode 669 修剪二叉搜索树(遍历树)

    669. 修剪二叉搜索树 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R.通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) .你可能需要改变树的根节点,所以结果应当返回 ...

  3. (Java实现)蓝桥杯Excel地址

    历届试题 Excel地址 原题地址 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, ...

  4. Java实现 蓝桥杯 算法提高 7-1用宏求球的体积

    算法提高 7-1用宏求球的体积 时间限制:1.0s 内存限制:256.0MB 问题描述 使用宏实现计算球体体积的功能.用户输入半径,系统输出体积.不能使用函数,pi=3.1415926,结果精确到小数 ...

  5. Java实现 LeetCode 456 132模式

    456. 132模式 给定一个整数序列:a1, a2, -, an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj ...

  6. Java实现 蓝桥杯VIP 算法提高 师座操作系统

    算法提高 师座操作系统 时间限制:1.0s 内存限制:256.0MB 问题描述 师座这天在程序设计课上学了指针和结构体以后,觉得自己可以轻松的写出操作系统,为了打败大微软帝国,他给这个系统起了个响亮的 ...

  7. Java实现蓝桥杯 算法训练 大等于n的最小完全平方数

    试题 算法训练 大等于n的最小完全平方数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输出大等于n的最小的完全平方数. 若一个数能表示成某个自然数的平方的形式,则称这个数为完全平 ...

  8. dotnet tool install:Failed to install tool package 'ZKEACMS.Publisher': Could not find a part of the path 'C:\Users\Christer\.dotnet\tools\.store\.stage\0qd2mqpa.m45\ZKEACMS.Publisher'

    问题 按照 ZKEACMS 运行命令 dotnet tool install --global ZKEACMS.Publisher 提示 Failed to install tool package ...

  9. beta版 tomcat 应用监控指标

    指标是集合网络搜索得到的汇总并且现在在使用的,现在记录一下 数据平台:Prometheus v2.18.1 展示平台:Grafana 指标来源: 日志类的是mtail 其他都是通过jmx_export ...

  10. @atcoder - AGC034F@ RNG and XOR

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个值域在 [0, 2^N) 的随机数生成器,给定参数 A[ ...