我切换了我的主力开发工具yabai+zsh+nvim

我切换了我的主力开发工具yabai+zsh+nvim

date
Dec 21, 2021
slug
工作流
status
Published
tags
nvim
yabai
zsh
mac
summary
是时候远离鼠标开始美妙键盘生活了!
type
Post

前言


macbookpro13寸 17款已经陪伴我3年了,随着系统更新已经不如当年的反应迅速,vscode打开文件加载插件速度也越来越慢,我开始给vscode的插件做减法,卸载了将近一半的插件之后,总觉得搞这么麻烦为什么不换一个工具,正好朋友推荐我vim,逛了一圈github没想到vim的生态这么繁荣,于是我就逐渐的开始在vim编写代码,这期间我换了很多插件,使用流程也变了很多次,这篇文章也算是我的踩坑总结了
 

nvim


  • 安装nvim
说实话我也忘记了最初是为什么用nvim,可能是因为大家都用吧,安装nvim很简单,终端中执行命令:
brew install neovim
这个安装是稳定版,网上的很多教程在之前的时候还是4.几的版本,还不能用lua,现在0.5已经稳定了,所以brew上安装的已经是0.5可以使用lua了。
但是我用的几个nvim的插件会报错,只有更新的0.6才行,所以要去github下载,地址:
随便找个地方解压,当然最好建一个你记得起来的名字的目录,然后vim ~/.bash_profile把之前解压的nvim配到环境变量里去,大概会是这样:
# neovim
export PATH="/Users/你的用户名/nvim的目录/bin:$PATH"
然后 :wq保存退出,执行下面的命令
source ~/.bash_profile
当然你也可以用下面的命令装每夜最新版
brew install --HEAD luajit
brew install --HEAD neovim
 
  • 配置nvim
我使用过很多nvim配置,也自己从头到尾配过,感觉都不对自己的胃口,直到我用了LunarVim,不得不说真是顺手
安装命令:
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)
如果443了,就只能独自emo多试试了.
或者试试官网推荐的方法在/etc/hosts加上
mirror.ghproxy.com github.com
mirror.ghproxy.com raw.githubusercontent.com
安装成功后,应该就有lvim这个命令了,如果没有就重开终端或者把lvim加到环境变量里去vim ~/.bash_profile
#lvim
export PATH="~/.local/bin:$PATH"
⚠️
因为lvim的配置放在其他位置,直接用nvim命令是不会加载lvim的配置的,如果要用vscode,nvim的gui需要把lvim克隆到nvim的配置目录 ~/.config/nvim然后新建config.lua,把lvim github上的config.lua内容复制就去就好了,最后记得把lvim从环境变量里删除
 
接下来我们在终端输入lvim打开nvim,lvim会自动开始安装插件,当然在国内的环境下很难成功,你可能要多试几次使用:PackerSync,当然如果有`科学`手段就没这个麻烦了。
等到插件安装成功之后,可以使用<leader>+L+c编辑lvim的config.lua.
💡
默认的<leader>键是space键
增加一些自己喜欢的插件和主题
 
  • 推荐的主题和插件
如果你跟我一样使用LunarVim的话,可以去LunarVim的官方文档看看,有很多有趣的插件推荐,默认的配置也写好了,安装只需要在config.lua里添加
lvim.plugins = {
{"你要装的插件名"},
.
.
.

}
我在用的插件和主题
 
主题:
--包名
"kaicataldo/material.vim"         


-- 主题风格
vim.g.material_theme_style = "default-community"
-- 配置主题
lvim.colorscheme ="material"
一个浅绿背景主题,主要是有kitty的主题,而且在kitty的半透明下很好看

nvim-transparent :
vim开启半透明背景,当然终端可以半透明这个插件就不需要了
{
    "xiyaowong/nvim-transparent",
    config = function ()
      require("transparent").setup({
        enable = true, -- boolean: enable transparent
        extra_groups = { -- table/string: additional groups that should be clear
          -- In particular, when you set it to 'all', that means all avaliable groups

          -- example of akinsho/nvim-bufferline.lua
          "BufferLineTabClose",
          "BufferlineBufferSelected",
          "BufferLineFill",
          "BufferLineBackground",
          "BufferLineSeparator",
          "BufferLineIndicatorSelected",
        },
        exclude = {}, -- table: groups you don't want to clear
      })
      vim.g.transparent_enabled = true
    end
  },

rnvimr:
nvim下的ranger,主要是在浮窗里使用,lvim也有推荐这个插件,但是作为前端,ts文件的默认打开方式有问题,需要修改ranger的配置,ranger的配置写着后面
{
    "kevinhwang91/rnvimr",
    cmd = "RnvimrToggle",
    config = function()
      vim.g.rnvimr_draw_border = 1
      vim.g.rnvimr_pick_enable = 1
      vim.g.rnvimr_bw_enable = 1
      vim.cmd [[
      let g:rnvimr_vanilla = 0
      ]]

    end,
  }

© Link 2021 - 2022