vim学习进阶

一、与浏览器配合使用

1. 下载Vimium插件


2. 基本使用

(1)滚动

这个就hjkl上下左右滚动,gg顶部,G底部和vim一样

(2) 标签页相关

复制代码
x            关闭标签
t            新建标签
J / K        切换标签

(3) 前进后退

对于某个浏览页都有历史页面啥的,这个就是回溯

复制代码
H → 后退(Back)
L → 前进(Forward)

(4)搜索和点击

搜索就是/,之后N,n往上下查找

点击就是f,之后按住对应的字母就点击到对应位置。
总结而言,其实不能完全脱离鼠标,因为有些需要选中的其实做不到,可能后面还会进化把

二、VIM如何像vscode一样查看git diff

因为我们用ai写代码,每给我改一次,我就commit一次,之后使用vscode可以方便的看出来ai给我改了什么。但是我也想用使用vim达到这个效果。

1. 安装新版本nvim

bash 复制代码
cd ~
wget https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
tar xzvf nvim-linux-x86_64.tar.gz

2. 如果你有好几个nvim,那么配置这个刚下再的为默认

bash 复制代码
把下面这行加到你的 ~/.bashrc 末尾:

export PATH="$HOME/nvim-linux-x86_64/bin:$PATH"

然后执行:

source ~/.bashrc

再检查:

which nvim
nvim --version

理想结果:

/home/yzh/nvim-linux-x86_64/bin/nvim
NVIM v0.11.6

3. 安装lazy.nvim

bash 复制代码
确认 nvim --version 已经是 0.8+ 之后,再执行:

git clone https://github.com/folke/lazy.nvim \
  ~/.local/share/nvim/lazy/lazy.nvim

接着把 ~/.config/nvim/init.lua 改成最小可用版:

bash 复制代码
vim.opt.rtp:prepend(vim.fn.expand("~/.local/share/nvim/lazy/lazy.nvim"))

require("lazy").setup({
  {
    "nvim-lua/plenary.nvim",
  },
  {
    "sindrets/diffview.nvim",
    dependencies = { "nvim-lua/plenary.nvim" },
  },
})
bash 复制代码
最后安装插件

启动 nvim 后执行:

:Lazy sync

如果正常,再执行:

:DiffviewOpen

前提是你当前目录在一个 Git 仓库里,并且文件有改动。

4. 一些常用配置

如显示行号,如最左侧显示文件类型图标,如有面代码改动部分有颜色显示。整体配置如下

bash 复制代码
vim.opt.rtp:prepend(vim.fn.expand("~/.local/share/nvim/lazy/lazy.nvim"))

require("lazy").setup({
  { "nvim-lua/plenary.nvim" },

  { "nvim-tree/nvim-web-devicons" },

  {
    "sindrets/diffview.nvim",
    dependencies = {
      "nvim-lua/plenary.nvim",
      "nvim-tree/nvim-web-devicons",
    },
  },

  {
    "lewis6991/gitsigns.nvim",
    config = function()
      require("gitsigns").setup()
    end,
  },

  {
    "petertriho/nvim-scrollbar",
    dependencies = { "lewis6991/gitsigns.nvim" },
    config = function()
      require("scrollbar").setup()
      require("scrollbar.handlers.gitsigns").setup()
    end,
  },
})

vim.opt.number = true
vim.opt.relativenumber = true

vim.api.nvim_create_autocmd("FileType", {
  pattern = "diff",
  callback = function()
    vim.opt_local.number = true
    vim.opt_local.relativenumber = true
  end,
})

5. 一些其他功能

在diff中,可以按住ctrl + w + w, 不断的切换页面窗口
在diff中,zR " 展开全部 fold, zM " 折叠全部

这个也可以查看文件树

相关推荐
高铭杰17 小时前
Golang sync.Mutex实现原理学习
java·学习·golang
狗凯之家源码网17 小时前
狗凯源码库学习资源真实价值评测
学习
Bernice橘子17 小时前
职场英语学习计划Day024
学习
Allen_LVyingbo18 小时前
基于结构化电子病历的临床风险预测模型构建与大模型协同优化
python·安全·机器学习·docker·vim·健康医疗
min(a,b)1 天前
学习第 4 天:面向对象与异常处理
python·学习·学习方法
一只小菜鸡..1 天前
南京大学 操作系统 (JYY) 学习笔记:进程地址空间与内存“外挂”魔法
笔记·学习
tju新生代魔迷1 天前
Verilog语言学习(一)
学习
一只小菜鸡..1 天前
南京大学 操作系统 (JYY) 学习笔记:访问操作系统的对象与“一切皆文件”
笔记·学习
longerxin20201 天前
nano编辑器插入、编辑完整操作教程(Linux日志/配置专用)
linux·运维·编辑器
IT空门:门主1 天前
Python 基础语法学习路线图
网络·python·学习