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. SSD

    https://blog.csdn.net/WZZ18191171661/article/details/79444217 论文题目:SSD: Single Shot MultiBox Detecto ...

  2. 49. Group Anagrams (string, HashTable)

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  3. Oracle学习笔记(七)

    九.高级查询(分组,子查询)查询升级版: 需要用到三张表员工表: desc emp EMPNO 员工号 ENAME 员工姓名 JOB 员工职位 MGR 老板员工号 HIREDATE 员工入职日期 SA ...

  4. ios中改变UIImagePickerController页面的button的文字为中文

    可以在工程中直接 project-->info-->Localization native development region   赋值为 zh_CN

  5. ios9出现的问题

    升级后需要注意两个地方  1 在build Settings 搜索bitcode 设置成no 2 在info.plist里添加以下属性  程序中报错:  App Transport Security ...

  6. POJ1087 A Plug for UNIX 2017-02-12 13:38 40人阅读 评论(0) 收藏

    A Plug for UNIX Description You are in charge of setting up the press room for the inaugural meeting ...

  7. ORACLE EBS中查看系统已经打过的补丁

    SELECT COUNT (BUG_NUMBER)  FROM AD_BUGS WHERE BUG_NUMBER LIKE '%7303031%'  --对应 patch号 ; --TABLESAD_ ...

  8. 咏南CS开发框架新的界面风格

    咏南CS开发框架新的界面风格 这种风格完全和WINDOWS桌面一样,符合用户的操作习惯. 我的桌面的图标和WINDOWS桌面一样分为二类:1)快捷方式  2)文件夹. 如果快捷方式较多,看得人眼花缭乱 ...

  9. nancyfx 自定义路由module

    在源码的Nancy.Demo.CustomModule项目示例中 查看UglifiedNancyModule.cs文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...

  10. [PHP]socket的连接超时 与 读取/写入超时

    socket处理时有两种超时 , 分为连接超时 和 读取/写入数据超时 1. stream_socket_client 函数中的超时时间是连接超时 , 默认是php.ini中的default_sock ...