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

这个也可以查看文件树

相关推荐
bllovepigpig18 分钟前
操作系统个人学习笔记(四):K8s基础
笔记·学习·kubernetes
司南-70491 小时前
AI infra 学习笔记(三):预处理·第一步——QKV 投影到底算了多少
人工智能·笔记·学习
喜欢打篮球的普通人1 小时前
MiniMind 学习笔记(十):优化器、学习率和数据设置——训练稳定性的三块基石
笔记·python·学习
老王爱玩车1 小时前
深入理解指针5
c语言·开发语言·学习
喜欢打篮球的普通人2 小时前
MiniMind 学习笔记(十三):SFT 导言——从“续写文本“到“回答用户“
人工智能·笔记·学习
我命由我123452 小时前
Photoshop - 将Photoshop图像置入其他应用程序
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
个 人 练 习 生3 小时前
C++-----string基本使用详解
开发语言·c++·学习
千谦阙听3 小时前
【C++篇】:string类——常用接口、底层原理与深浅拷贝
开发语言·c++·学习·visual studio
dadaobusi3 小时前
学习:chiesel,scala
学习·fpga开发·scala
ZhangJun954 小时前
Linux常用命令笔记,中高级运维高频指令,并附上vim常见操作
linux·运维·centos·云计算·vim