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 " 折叠全部

这个也可以查看文件树

相关推荐
sayang_shao3 小时前
ARM架构运行模式学习笔记
arm开发·学习·架构
happymaker06264 小时前
web前端学习日记——DAY04
前端·学习
solicitous6 小时前
遇到一个口头机遇
学习·生活
观书喜夜长8 小时前
大模型应用开发学习-基于 LangChain 框架实现的交互式问答脚本
python·学习
FPGA小迷弟8 小时前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga
炽烈小老头9 小时前
【每天学习一点算法 2026/03/22】前 K 个高频元素
学习·算法
神舟之光10 小时前
Java面向对象编程知识补充学习-2026.3.21
java·开发语言·学习
网络工程小王10 小时前
【大数据技术详解】——Kibana(学习笔记)
大数据·笔记·学习
im_AMBER10 小时前
Leetcode 144 位1的个数 | 只出现一次的数字
学习·算法·leetcode