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

这个也可以查看文件树

相关推荐
小黄人软件1 小时前
桌面需要整理吗?有工具自动分类
学习
老衲不用@飘柔2 小时前
SFP与SFP+学习知识整理
学习
X54先生(人文科技)2 小时前
社会嵌入式终身学习机器与修复时代-ELR架构和技术演化探讨
人工智能·深度学习·学习·架构·开源协议
电子云与长程纠缠3 小时前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
syagain_zsx3 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
其实防守也摸鱼3 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
我命由我123453 小时前
Python 开发 - Python 的 pathlib
java·开发语言·后端·python·学习·java-ee·学习方法
kkkkkkkkkk_Z4 小时前
新手自学嵌入式 | 学习日记:Linux驱动复习之系统移植(U-Boot篇)
linux·运维·学习
Rabitebla4 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
fanged6 小时前
嵌入式架构学习6--ZSWatch(TODO)
学习