二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • 随写编年

  • 家人物语

  • 追忆青春

  • 父亲的朋友圈

  • 电影音乐

  • 效率工具

    • Windows时代

    • Mac时代

      • 我的Mac应用清单以及系统配置整理
      • 在Mac电脑中使用goland开发go语言的一些技巧
      • Mac电脑iterm中配置neovim入门与实践
        • 1,安装
        • 2,插件
          • 1,安装插件管理器
          • 2,配置插件
        • 3,插件大全
          • 1,底部状态栏vim-airline
          • 2,自动双引号 & 括号
          • 3,注释插件
          • 4, 文件管理器
          • 5,高亮显示复制内容
          • 6,个人配置汇总
        • 4,参考
      • Mac装机之后终端配置
      • Mac升级了Catalina系统之后根目录变成只读
      • 我的Obsidian入门之旅
      • Iterm2配置session续联
      • Mac电脑m1版本使用VSCODE调试golang项目时遇到的问题
      • Mac电脑m1版本基于docker部署软件时的变化
      • 使用开源虚拟化工具UTM在M1版本的Mac系统中安装配置Windows11系统
      • 使用开源虚拟化工具UTM在M1版本的Mac系统中安装配置CentOS7系统
      • vscode开发前端项目时如何tab补全自定义HTML标签
      • Mac电脑中优秀的讲课直播划线批注软件ScreenBrush详解
      • 结合Multitouch完成我在Mac触摸板上的高效使用
      • brew安装软件的一个报错解决
      • mac电脑安装Java开发环境
      • Mac 电脑中 zsh 环境下配置 docker 命令自动补全
    • 各种插件

    • 优秀工具提名

  • 博客相关

  • 闲言碎语
  • 效率工具
  • Mac时代
二丫讲梵
2020-05-02
目录

Mac电脑iterm中配置neovim入门与实践

文章发布较早,内容可能过时,阅读注意甄别。

之前就听说过 neovim,只不过一直没有涉足,最近打算研究下,却发现看了不少文章都没有清晰讲解其用法,踩了一些坑之后,今天来做一下分享。

# 1,安装

brew install neovim
1

更改别名,鸟枪换炮。

# edit ~/.zshrc
alias vim='nvim'
alias vi='nvim'
1
2
3

# 2,插件

# 1,安装插件管理器

很多丰富的功能依赖于插件的加持,在安装插件之前,需要先安装插件的管理方式,这里使用 vim-plug, 命令如下:

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

大多数情况下,我们在国内执行如上命令,都会得到如下回复:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused,此时将如下一组数据写入到 hosts 以避开这个报错:

echo "199.232.28.133 raw.githubusercontent.com" >> /etc/hosts
1

然后再来执行上边的curl安装命令,即可成功了。

当然,如果直接请求不成功,也可以直接通过下载文件,放置到本地的方式进行安装,不过你最好能解决科学上网的问题,否则在后边安装插件可能也不会太顺利。

插件管理器下载到本地之后,注意要执行一下下边的软链,否则后续的步骤可能总会有问题:

ln -snf ~/.vim ~/.config/nvim
1

# 2,配置插件

插件的管理维护依赖于配置文件:~/.config/nvim/init.vim,我们先不必实操,先简单了解一下插件的配置文件规范。

标准的语法格式如下:

call plug#begin()
call plug#end()
1
2

所需要安装的插件写在这两个语句中间,然后通过插件管理的命令进行配置:

  • 安装插件::PlugInstall
  • 更新插件::PlugUpdate
  • 删除插件::PlugClean (首先在 init.vim 中,注释掉该插件,然后打开 Nvim, 使用 :PlugClean 命令清除该插件)
  • 查看插件状态::PlugStatus
  • 升级 vim-plug::PlugUpgrade

# 3,插件大全

# 1,底部状态栏vim-airline

默认的 iterm2 的 vim 界面中,底部状态栏内容很少,通过配置这个插件,可以让状态栏内容更加丰富一些。

这是安装的第一个插件,为了提供给刚刚接触的同学一个清晰的熟悉方向,我来完整演示一下安装的流程,网上有太多介绍的文章,往往都是泛泛而言,让初学的我如坠五里雾,悲剧不应重演,我只希望看到这篇文章的朋友不需要再去点开其他文章了。

正像上边说的,应该严格按照如上语法要求,将要安装的插件写入到配置文件中:

$ cat ~/.config/nvim/init.vim
call plug#begin()
Plug 'vim-airline/vim-airline'
call plug#end()
1
2
3
4

然后输入 vim 进入到 neovim 中,接着键入:PlugInstall回车进行安装,其实这个地方编辑的时候已经支持补全,键入 P然后tab一下,就会补全为 Plug了。看到 Done 则说明已经安装成功了:

img

如果这里报错:不是编辑器的命令: PlugInstall,则有可能是前边的某个步骤遗漏了或者错了,可回过去重新来一遍。

然后通过两次 :q退出编辑器,接着再次进入,就能看到插件已经生效了:

img

事实上vim-airline提供了很多主题来支持用户自定义,不同主题可以参考这里 (opens new window)。想要更改主题,首先需要安装插件 vim-airlinetheme (opens new window):

$ cat ~/.config/nvim/init.vim
call plug#begin()
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
call plug#end()
1
2
3
4
5

安装完成之后,通过如下设置进行自定义,同样,配置仍然是写入到 ~/.config/nvim/init.vim中。

let g:airline_theme='<theme>' " <theme> 代表某个主题的名称
1

# 2,自动双引号 & 括号

我们日常在编辑器中写代码时,输入的引号或者括号都会默认自动写入一对,然后鼠标的光标停留在中间,这里我们通过插件 auto-paris (opens new window) 也可以给 vim 扩展这个功能。

Plug 'jiangmiao/auto-pairs'
1

安装之后,就拥有了与编辑器一样的自动扩展引号的功能了:

img

详细规则如下:

auto-pairs 插件的主要功能通过如下的表格进行描述 (表格中 │ 表示当前光标所在位置)。

auto-pairs 功能 支持的配对符号 原文本 按键 新文本
成对插入 {}、[]、()、“”、“、” [ [│]
成对删除 {}、[]、()、“”、“、” foo[│] BACKSPACE foo│
删除重复成对符号 {}、[]、()、“”、“、” foo“““│””” BACKSPACE foo│
换行并自动缩进 {}、[]、() node{│} ENTER node{│}
在括号内两侧各插入空格 {}、[]、() foo{│} SPACE foo{│}
词后单引号不成对插入 ’ foo│ ’ foo’│
跳过右括号 {}、[]、() [foo│] ] [foo]│
在转义符 \ 后禁用插件 {}、[]、()、“”、“、” foo\│ { foo{│
对字符串加小括号 C 语言风格的字符串 │‘foo’ ALT+e (‘foo’)│

# 3,注释插件

平常我们注释一行内容的时候,可能会比较麻烦,尤其是不同语言的注释,各不相同,在 vim 中操作可能会比较麻烦,而 nerdcommenter (opens new window) 就是一款针对这个问题的插件。

Plug 'scrooloose/nerdcommenter'
1

用法:通过键入 \cc可以对某行进行注释,使用 3\cc则可以注释包含光标所在行往下三行的内容, 3\ci切换对应行的注释状态。

img

# 4, 文件管理器

让我们在终端里也能像图形界面中一样管理系统中的文件,插件名字是:scrooloose/nerdtree (opens new window)

Plug 'scrooloose/nerdtree'
1

使用姿势:

  • :NERDTree 即可打开当前编辑文件所在的目录
  • 按住 Ctrl, 双击 w 可以在两个窗口之间切换
  • 把光标移动到该文件,然后按 o,即可在右边窗口打开该文件
  • 在该窗口直接按 q 即可退出

img

# 5,高亮显示复制内容

在 vim 当中我们有时候会用yy复制一些行,默认情况下按下yy之后不会有任何反应,只能凭借自己刚刚的记忆来确认复制了哪些内容,vim-highlightedyank (opens new window) 插件则可以让我们在按下yy之后高亮显示一会儿将要复制的内容。

Plug 'machakann/vim-highlightedyank'
1

如果觉得高亮显示的时间太短,可以设置增加高亮显示的时间(单位为毫秒):

let g:highlightedyank_highlight_duration = 1000 " 高亮持续时间为 1000 毫秒
1

目前暂时先罗列这几个,以后遇到优秀的插件,还会再收集分享。GitHub 也有很多人分享的成熟的配置,只不过如果只添加却不知道作用,似乎也用处不大。

# 6,个人配置汇总

我个人的配置汇总如下:

call plug#begin()

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'jiangmiao/auto-pairs'
Plug 'scrooloose/nerdcommenter'
Plug 'scrooloose/nerdtree'
Plug 'machakann/vim-highlightedyank'
Plug 'tmhedberg/SimpylFold'

Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' },
Plug 'junegunn/fzf.vim',

call plug#end()

let g:airline_theme='simple'

" 设置空白字符的视觉提示
set list listchars=extends:❯,precedes:❮,tab:▸\ ,trail:˽

" 高亮当前行
set cursorline

" 显示行号
set number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 4,参考

  • Linux 下 Neovim 配置 Python 开发环境指南 (opens new window)
  • Vim 插件及配置 (opens new window)
微信 支付宝
上次更新: 2024/07/04, 22:40:37
在Mac电脑中使用goland开发go语言的一些技巧
Mac装机之后终端配置

← 在Mac电脑中使用goland开发go语言的一些技巧 Mac装机之后终端配置→

最近更新
01
学习周刊-总第212期-2025年第21周
05-22
02
从赵心童世锦赛夺冠聊聊我的斯诺克情缘
05-16
03
学习周刊-总第211期-2025年第20周
05-15
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式