我们在介绍vim目录管理的时候提到 vim自带一个 叫做 netrw的工具来管理目录。但是它自身的功能有限,而且样式也丑。今天我们将使用其他强大的插件来替代 netrw,增强目录管理功能

nvim-tree 插件

安装使用

增强目录管理功能我们采用 nvim-tree 插件。根据对应文档的描述,我们可以使用如下代码进行安装

use {
'kyazdani42/nvim-tree.lua',
requires = {
'kyazdani42/nvim-web-devicons', -- optional, for file icons
},
tag = 'nightly' -- optional, updated every week. (see issue #1193)
}

安装完成之后我们新建一个文件 plugin-config/nvimtree.lua 用来保存它的配置信息。该文件中先写入以下内容用于加载启动 nvim-tree 插件

require("nvim-tree").setup()

之后我们可以使用命令 :NvimTreeToggle 打开文件树,再次使用该命令可以关闭文件树。

打开之后我们发现一个问题,打开文件树之后,标签页仍然是居左对齐的。影响观看,我们应该让 tab 标签跟着往右移动一些距离。如何配置,我们可以在 bufferline 插件官方找到

offsets = {
{
filetype = "NvimTree",
text = "File Explorer",
highlight = "Directory",
text_align = "left"
}
}

将这段代码添加到 bufferline.lua 的设置中,此时我们的 bufferline.lua 设置的代码应该变为如下这样

require("bufferline").setup{
options = {
mode = "buffers",
numbers = "ordinal",
offsets = {
{
filetype = "NvimTree",
text = "File Explorer",
highlight = "Directory",
text_align = "left"
}
}
}
}

我们先映射一个快捷键,用于打开或者关闭文件树

vim.api.nvim_set_keymap("n", "<F2>", ":NvimTreeToggle<CR>", {noremap = true, silent = true})

配置

我们可以对其进行一些配置,例如这里我不想它显示 .git 目录中的内容,但是想保留 .gitignore 的显示。我们可以使用如下配置

require("nvim-tree").setup({
-- 关闭文件时,自动关闭
auto_close = true,
filters = {
-- 不显示 .git 目录中的内容
custom = {
".git/"
},
-- 显示 .gitignore
exclude = {
".gitignore"
},
-- 不显示隐藏文件
dotfiles = true
},
-- 以图标显示git 状态
git = {
enable = true
}
})

使用

我们使用该插件最大的目的不是为了显示目录的树形结构,而是为了快速管理文件,例如我们可以通过树快速打开、查找文件,甚至通过树快速创建、删除、移动、拷贝文件和目录

  • r:重命名文件或者目录
  • a:创建一个文件
  • d: 删除一个文件(需要最后确认)
  • x: 剪切一个文件到剪切板或者从剪切板移除一个剪切
  • c:拷贝一个文件到剪切板或者从剪切板移除一个拷贝
  • p: 粘贴文件或者目录

当然它还有其他许多快捷键,只是其他的我很少使用,所以这里就不列举了。如果你对这些快捷键不太满意,可以重新定义。

例如我们介绍 ntrw 的时候知道它也可以进行目录管理,为了减少记忆负担,你也可以采用 ntrw 的快捷键。我们在 setup 函数中添加如下代码

view = {
mappings = {
list = {
-- 定义快捷键
{key = "%", action = "create"},
{key = "d", action = "create"},
{key = "R", action = "rename"},
{key = "D", action = "remove"}
}
}
}

这里仅仅给大家做一个演示,我自己并不推荐采用这种方式。我更喜欢它原版的快捷键。另外从我的使用习惯来说,我在需要进行跳转的时候多数用的是标签、跳转到定义、gf甚至采用 :find 这种形式。使用它只是为了查看目录结构以及进行目录结构的管理。

从零开始配置 vim(14)——目录管理插件的更多相关文章

  1. 从零开始配置Ubuntu 14.04&SSH&curl&Git&MongoDB&Node.js

    从零开始配置Ubuntu 14.04 从零开始配置Ubuntu 14.04,记录配置服务的过程,安装组件如下: SSH curl Git MongoDB Node.js ... ​ Ubuntu 安装 ...

  2. gVim 配置方案 采用Vundle管理插件

    在Linux下配置vim非常简单,尤其是采用Vundle来管理插件,使得一切用起来得心应手. Maple大神在github上公布了自己的vim配置方案,相当方便好用.详见 https://github ...

  3. Vim使用Vundle管理插件(转)

    转自:http://os.51cto.com/art/201507/484174.htm Vim是Linux上一款用途广泛的轻量级文本编辑工具.虽然对普通的Linux用户来说开始学用起来难度相当大,但 ...

  4. BI Admin Tools和目录管理器的连接配置

    BI管理(Admin Tools): BI Server 的管理工具,用来创建维护模型,并且能够管理安全,会话,变量等等.是用的最多的一个管理工具:这个工具可以编辑 rpd 文件也可以在线通过 ODB ...

  5. 使用Vundle管理配置Vim的插件

    1.介绍: 安装需要Git,触发git clone,默认将每一个指定特定格式插件的仓库复制到~/.vim/bundle/. 搜索需要Curl支持. Windows用户请直接访问Windows setu ...

  6. VIM编辑器使用及插件配置

    1.VIM的三种模式: 普通模式.插入模式.命令行模式2.三种模式的转换: 2.1进入普通模式 ①打开VIM默认为普通模式 ②处于插入模式/命令行模式时,按ESC进入普通模式 2.2进入插入模式: A ...

  7. 配置vim之插件

    涉及linux平台下ctags, taglist插件 ctags是一个用于产生代码索引文件的插件,它产生的索引可以帮助我们更快的定位到特定位置. ctags支持很多语言,比如java, c, c++, ...

  8. vim学习、各类插件配置与安装

    vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...

  9. Centos6.7下面配置vim及其插件

    Vim是在vi的基础上升级而来的,比vi更强大,提供代码补全,编译功能 [4]vim Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用 ...

  10. CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置

    备注:现在对于 YouCompleteMe 的安装应采用更为简单的方法,即利用 Vundle 来安装这个插件.具体方法可见: Vundle 主页 YouCompleteMe 主页 而 .vimrc 的 ...

随机推荐

  1. 🤗Hugging Face 87个 AI 游戏可以在线玩啦

    7月9日结束的开源游戏挑战赛有超过来自全球 1000 多名开发者参加 一共收录了 87 个游戏 目前已经进入投票期 视频中的:猜名画 ️ 用了之前推荐的 LEDITS 目前得分很高呢 来试试看你能猜对 ...

  2. redis之列表 redis之hash redis其他操作 redis管道 django中使用redis celery介绍和安装 celery快速使用 celery包结构

    目录 昨日回顾 今日内容 1 redis之列表 2 redis之hash 3 redis其他操作 4 redis 管道 5 django中使用redis 6 celery介绍和安装 7 celery快 ...

  3. ChatGpt玩法(一):prompt使用的重要性

    前言 登录https://www.topgpt.one即可免费体验ChatGPT带来的强大魅力. ChatGpt是一个强大的自然语言处理工具,可以用于多种任务,如文本生成.问答系统以及对话生成等等.其 ...

  4. 用 WebRTC 打造一个音乐教育 App,要解决哪些音质难题?

    在去年疫情期间,在线教育行业获得了井喷式的发展,这背后的技术功臣非 RTC 莫属.本文将分享 RTC 技术在音乐教育场景下的实践经验. 作者| 逸城 审校| 泰一 音乐教育场景 - 在线陪练 2020 ...

  5. CMake + Protobuf 自动生成 cpp 文件(pb.h, pb.cc)

    [Protoc]VS2019 (VS平台) 使用 CMake 编译安装.使用 Protobuf 库 本文介绍在 macOS 系统下 cmake 和 protobuf 一起使用的一种方式--使用 cma ...

  6. 用canvas实现验证码的绘制

    login.vue主文件 1 <template> 2 <div class="login-wrapper"> 3 <img src=".. ...

  7. ASP.Net Core 5.0 MVC Session的添加,及它与Cookie的关系

    1.在控制器上新增一个方法 public IActionResult SessionAndCookie() { string result = HttpContext.Session.GetStrin ...

  8. KVM 核心功能:CPU 虚拟化

    1 vCPU 简介 CPU 负责计算机程序指令的执行.QEMU-KVM 提供对虚拟机 CPU 的模拟,对于虚拟机来说,其拥有的 CPU 是真实的, 和物理 CPU 没有区别. 实际上,虚拟机在 hos ...

  9. Java 使用二分查找快速定位元素位置

    转载请注明出处: 快速定位 一个有序数列中 某一个元素的位置: 共有三种思路: 第一种:使用 for 循环,匹配元素值 与循环变量的值是否相等,相等则循环变量时的 i 则为元素位置 第二种:使用 二分 ...

  10. ElasticSearch 通过 Kibana 与 ElasticSearch-head 完成增删改查

    本文为博主原创,未经允许不得转载: 1.  安装并配置 elasticSearch ,kibana, elasticsearch-head docker 安装 ElasticSearch 和 Kiba ...