mac编辑器vim美化

contents

环境

mac10.13.6,vim7(该版本mac自带的vim是7),git

mac下vim的配置文件有两处

一处是所有用户通配的位置,位于/usr/share/vim下,名称为vimrc,无后缀

另一处位于~/.vim下,是当前用户的配置切换到这个用户时,这个配置会顶替上一种配置

为了不让自己的配置影响到别的使用者(假使他们没有配置自己的vimrc配置),建议修改当前用户下,也就是~/.vim/vimrc的配置

效果呈现

一般的vim界面

进行配置之后

界面效果由两个vim插件完成

配色由插件gruvbox完成,gruvbox有两种颜色模式,light和dark模式,可以设置

vim-airline插件完成页面最下方的当前页面进度百分比等信息

安装

为了更好地管理插件的安装,管理插件的插件有

很久以前的vundle和比较轻量级而且迅速的vim-plugin

以前使用的是vundle,并不知道vim-plugin,后经评论区大佬推荐后尝试了一下,的确比vundle优秀很多

(推荐)使用vim-plugin管理我们的插件

打开终端并运行以下命令:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

这里需要注意,下载下来的地址必须是~/.vim/autoload/plug.vim

否则接下来配置了vim之后会报错

Error detected while processing /Users/selton/.vim/vimrc:

E117: Unknown function: plug#begin

注意: 请在vim配置文件的开头第一句写明set nocompatible

set nocompatible,关闭兼容模式

也就是set nocompatible开启了vim相对于vi的很多新的功能,报错异步加载的功能

所以如果没有set nocompatible,接下来的plugin安装会下载成功,但是:PlugStatus查看状态就一直是失败

由于这个选项是最最基础的选项,会连带很多其它选项发生变动(称作副作用)

在配置文件中声明插件时,列表应该以 call plug#begin(PLUGIN_DIRECTORY) 开始,并以 plug#end() 结束

call plug#begin('~/.vim/plugged')
Plug 'kien/ctrlp.vim'
Plug 'vim-airline/vim-airline'
Plug 'morhetz/gruvbox'
call plug#end()

注意: ~/.vim/plugged路径是否正确,前后有无空格

之后输入

:PlugStatus

出现

x ctrlp.vim:

Not found. Try PlugInstall.

x vim-airline:

Not found. Try PlugInstall.

x gruvbox:

Not found. Try PlugInstall.

在这个竖分界面下输入

:PlugInstall

出现

Finishing ... Done!

ctrlp.vim: Resolving deltas: 100% (115/115), done.

vim-airline: Resolving deltas: 100% (396/396), done.

gruvbox: remote: Total 61 (delta 12), reused 40 (delta

输入

:PlugStatus

显示三个插件都是ok

在配置call plug#end()之后加入配置

" gruvbox setting
colorscheme gruvbox
set background=dark

保存退出之后,再次打开,发现配色和图片展示一致

(不推荐)使用vundle管理我们的插件

另一个插件vundle管理插件

安装vundle插件

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

件如果没有的话,在~/.vim下新建文件vimrc

在vimrc中写入

set nocompatible

​filetype off

set rtp+=~/.vim/bundle/Vundle.vim

​call vundle#begin()

​call vundle#end()

​filetype plugin indent on

在call vundle#begin()和call vundle#end()之间写入需要加入的插件

为了管理vundle自己这个插件,加入了这一行,可以不加入

​ Plugin 'VundleVim/Vundle.vim'

加入皮肤

​ Plugin 'morhetz/gruvbox'

加入页面信息

​ Plugin 'vim-airline/vim-airline'

之后:wq保存一下

:PluginInstall就开始自动下载和安装相应插件

发现虽然有了页面信息,也就是vim-airline插件起了作用

但是gruvbox依然没有起作用

在Plugin 'morhetz/gruvbox'下加入这两行

colorscheme gruvbox

set background=dark

dark就是展示的配色,还有light

保存退出后再次打开vim,发现报错

大意是找不到名为gruvbox的color主题

如果发生这种情况,接下来需要手动完成主题的安装

平常vim自带的颜色主题在/usr/share/vim/vim80/colors下

我们需要将gruvbox的主题文件拷贝到这个目录下

为什么vundle安装失败?原因可能就是普通用户下vundle帮助你下载好了gruvbox之后没有权利将文件移动到/usr/share/vim/vim80/colors下

可以看到gruvbox插件是下载下来的

在/Users/zyfselton/.vim/bundle/gruvbox/colors下的gruvbox.vim

切换到root将gruvbox.vim复制到/usr/share/vim/vim80/colors下

报错权限拒绝,这是mac的保护机制csrutil在搞鬼,需要重启mac,重启刚关闭的时候按住Command+R不放,直到出现苹果加载的logo,松开就可以,成功进入此时logo下的读条会变得很慢,读条结束就进入了mac的恢复模式(缺少很多东西),找到导航栏工具其中的终端,打开,输入csrutil disable关闭csrutil(最好事先记下这个命令),然后重启重复执行上述复制操作即可,完成后想要恢复开启这个csrutil功能,可以继续重启Command+R进入恢复模式后打开终端输入csrutil enable即可.

保存退出vim,再次打开,发现配色和图片展示一致

卸载vundle

vim中执行

:BundleClean

保存退出后删除vimrc中的 vundle配置

快速使用

  1. 打开终端并运行以下命令:

    curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

  2. (如果没有)在~/.vim下新建文件vimrc

set nocompatible

" vim-plugin
"call plug#begin(PLUGIN_DIRECTORY)和plug#end()之间写插件名称 "这个目录将来会存放vim-plugin自动安装的下载的插件
call plug#begin('~/.vim/plugged') Plug 'kien/ctrlp.vim'
Plug 'vim-airline/vim-airline'
Plug 'morhetz/gruvbox' call plug#end() " gruvbox setting
colorscheme gruvbox
set background=dark
  1. vim一般模式输入:PlugInstall

mac编辑器vim美化的更多相关文章

  1. Mac之vim普通命令使用

    Mac之vim普通命令使用 标签: vim命令 高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的: :qx 开始记录宏,并将结果存入寄存器x q 退出记录模式 @x ...

  2. Mac 下VIM配置

    Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: ____________________ ...

  3. Mac 配置 vim

    Mac 配置 vim 安装 vim 7.4 cd ~ hg clone https://code.google.com/p/vim/ cd vim ./configure --with-feature ...

  4. 程序员的编辑器——VIM

    from:http://blog.chinaunix.net/uid-11278770-id-148579.html Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册      ...

  5. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  6. Kali Linux的vi编辑器/vim编辑器使用方法

    转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...

  7. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

  8. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  9. LINUX文件内容处理及文本编辑器vim

    Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...

随机推荐

  1. 96. Unique Binary Search Trees (Tree; DP)

    Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...

  2. [udemy]WebDevelopment_CSS

    Your First CSS(Cascading Style Sheets) Cascading means it always takes selector that is at the end 即 ...

  3. 使用MySQLMTOP监控MySQL性能

    一.服务器角色 服务器角色 172.18.35.29 10.160.22.14 (MySQL Master) 10.160.22.47 (MySQL Slave) 监控点 YES NO NO 被监控点 ...

  4. Java程序设计19——类的加载和反射-Part-A

    1 本文概要 本章介绍Java类的加载.连接和初始化的深入知识,并重点介绍Java反射相关的内容.本章知识偏底层点,这些运行原理有助于我们更好的把我java程序的运行.而且Java类加载器除了根加载器 ...

  5. DataStage 错误集(持续更新)

    DataStage 错误集(持续更新) DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 D ...

  6. 07Mendel's First Law

    Problem Figure 2. The probability of any outcome (leaf) in a probability tree diagram is given by th ...

  7. 1 web应用-http协议-web框架

    web 应用 Web 应用程序是一种可以通过 Web 访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式 C/S.B/S.C/S ...

  8. Webservice初级问题: FAILED TO READ WSDL document

    这个问题是说明,这个版本的没法下载 犯错的图样 处理方法一: 将网页上xml文档下载,保存在本地,然后错误提示的这几行删除,保存文档,然后从本地调用 (1)右键另存为 保存为文件名a.xml (2)打 ...

  9. Opencascade、OpenGL和OpenSceneGraph的区别与联系

    OpenGL只是三维显示 Openscenegraph基于场景图的概念,它提供一个在OpenGL之上的面向对象的框架,从而能把开发者从实现和优化底层图形的调用中解脱出来 Opencascade更适合算 ...

  10. <网络攻防实践> 课程总结20169216

    课程总结20169216 每周作业链接汇总 第一周作业:Linux基础入门(1-5).基本概念及操作 第二周作业:linux基础入门(6-11).网络攻防技术概述网络攻防试验环境搭构.Kali教学视频 ...