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 小时前
NLP学习笔记01:文本预处理详解——从清洗、分词到词性标注
笔记·学习·自然语言处理
-Springer-18 小时前
STM32 学习 —— 个人学习笔记11-1(SPI 通信协议及 W25Q64 简介 & 软件 SPI 读写 W25Q64)
笔记·stm32·学习
LN花开富贵18 小时前
【ROS】鱼香ROS2学习笔记一
linux·笔记·python·学习·嵌入式·ros·agv
克里斯蒂亚诺·罗纳尔达19 小时前
智能体学习23——资源感知优化(Resource-Aware Optimization)
人工智能·学习
小夏子_riotous20 小时前
Docker学习路径——2、安装
linux·运维·分布式·学习·docker·容器·云计算
SteveSenna21 小时前
Trossen Arm MuJoCo自定义1:改变目标物体
人工智能·学习·算法·机器人
U盘失踪了21 小时前
go 环境配置
学习
Stella Blog21 小时前
狂神Java基础学习笔记Day03
java·笔记·学习
夜瞬1 天前
NLP学习笔记02:文本表示方法——从词袋模型到 BERT
笔记·学习·自然语言处理
xuhaoyu_cpp_java1 天前
MySql学习(二)
经验分享·笔记·学习·mysql