GVim配置一个漂亮的NerdTree

article/2025/10/8 20:33:55

GVim配置一个漂亮的NerdTree

  GVim使用也有一段时间了,有空写几个简单的教程帮助新手快速上手,定制一个个性化的编辑器把。以下是我的NerdTree效果展示。

[外链图片转存失败(img-9V9rmEq6-1563696497536)(.\My_GVim.png "My_GVim")]

NerdTree插件


NerdTree下载安装

  如果你安装了插件管理器的化安装就很简单了,如果没有安装使用任何插件管理器,那我建议你还是装一个,因为vim你会用到的插件挺多的,有个管理器很方便。
  将这句添加到vimrc中Plugin 'scrooloose/nerdtree',随后重启下vim然后命令模式下执行:BundleInstall(具体根据你装的插件,我装的是Bundle。)安装指令,完毕后最好再重启一次vim。

NerdTree配置

  ps: 以下我的配置仅供参考,具体配置请查阅github上的文档,因为随着作者版本的升级指令和功能可能会边。总之请灵活学习。

"""""""""""""""""""""""""""""""
"NerdTree setting
"""""""""""""""""""""""""""""""
set encoding=utf-8  
set termencoding=utf-8   
set fileencoding=chinese 
set fileencodings=ucs-bom,utf-8,chinese   
set langmenu=zh_CN.utf-8  
language messages zh_cn.utf-8  "Show line number.
let g:NERDTreeShowlineNumber=1"Show hide file.
let g:NERDTreeHidden=0"Show Node model.
let NERDTreeDirArrows=1"Delete help information at the top
let NERDTreeMinimalUI=1let g:NERDTreeDirArrowExpandable = '|'
let g:NERDTreeDirArrowCollapsible = '/'

  简单解释下,前面几行将几个部分的字体设置为utf-8是为了防止再windows下乱码。是否显示行号这里配置为是,因为否的话左边一列每行首都会显示|符号,太多了不好看。配置为是反倒不会显示行号,且只有在文件夹左边才会显示|符号。剩下的配置根据注释意思好理解。文件召开或关闭很多人配置为三角符号,我试了下windows下需要折腾合适字体才能显示,我现在用的molokai字体是不支持的。其实我更喜欢的是键盘上的|和/符号,简单粗暴。

  另外我还建议加上这样一句配置,作用是当剩余的窗口都不是文件编辑窗口时,自动退出vim。就是你都不编辑文件了,还剩个NerdTree窗口在那里时自动退出GVim(执行:qa!)。

autocmd BufEnter * if 0 == len(filter(range(1, winnr('$')), 'empty(getbufvar(winbufnr(v:val), "&bt"))')) | qa! | endif

vim-devicons插件


  为了在NerdTree中显示图标需要装此插件,当然这个插件不光支持NerdTree,还支持vim-airline、CtrlP、powerline等。

vim-devicons下载安装

  插件安装都类似的,在vimrc中添加Plugin ‘ryanoasis/vim-devicons’

vim-devicons配置
""""""""""""""""""""""""""""""
"vim-devicons settings
""""""""""""""""""""""""""""""`
set encoding=UTF-8"Can be enabled or disabled
let g:webdevicons_enable_nerdtree = 1"whether or not to show the nerdtree brackets around flags
let g:webdevicons_conceal_nerdtree_brackets = 1"adding to vim-airline's tabline
let g:webdevicons_enable_airline_tabline = 1"adding to vim-airline's statusline
let g:webdevicons_enable_airline_statusline = 1

  根据注释很容易明白这些配置的作用,就是让这些插件支持特殊符号的显示。
  装完着两个插件还没结束。你装了NerdTree支持了目录树显示,devicons支持显示图标和高亮,最后还需要插件来管理显示的规则,即什么文件或文件夹应该显示什么样的图标和颜色。有了上面的安装基础,我下面讲的简略一点。

vim-nerdtree-syntax-highlight插件


  这个插件能根据文件类型显示不同的图标和颜色,大大美化了NerdTree显示效果。

vim-nerdtree-syntax-highlight下载安装

  vimrc文件中添加Plugin 'tiagofumo/vim-nerdtree-syntax-highlight'安装插件。

vim-nerdtree-syntax-highlight配置
""""""""""""""""""""""""""""""
"vim-nerdtree-syntax-highlight settings
""""""""""""""""""""""""""""""
"Highlight full name (not only icons). You need to add this if you don't have vim-devicons and want highlight.
let g:NERDTreeFileExtensionHighlightFullName = 1
let g:NERDTreeExactMatchHighlightFullName = 1
let g:NERDTreePatternMatchHighlightFullName = 1"Highlight full name (not only icons). You need to add this if you don't have vim-devicons and want highlight.
let g:NERDTreeHighlightFolders = 1"highlights the folder name
let g:NERDTreeHighlightFoldersFullName = 1"you can add these colors to your .vimrc to help customizing
let s:brown = "905532"
let s:aqua =  "3AFFDB"
let s:blue = "689FB6"
let s:darkBlue = "44788E"
let s:purple = "834F79"
let s:lightPurple = "834F79"
let s:red = "AE403F"
let s:beige = "F5C06F"
let s:yellow = "F09F17"
let s:orange = "D4843E"
let s:darkOrange = "F16529"
let s:pink = "CB6F6F"
let s:salmon = "EE6E73"
let s:green = "8FAA54"
let s:Turquoise = "40E0D0"
let s:lightGreen = "31B53E"
let s:white = "FFFFFF"
let s:rspec_red = "FE405F"
let s:git_orange = "F54D27"
let s:gray = "808A87"let g:NERDTreeExtensionHighlightColor = {} " this line is needed to avoid error
let g:NERDTreeExtensionHighlightColor['o'] = s:gray " sets the color of o files to blue
let g:NERDTreeExtensionHighlightColor['h'] = s:blue " sets the color of h files to blue
let g:NERDTreeExtensionHighlightColor['c'] = s:green " sets the color of c files to blue
let g:NERDTreeExtensionHighlightColor['cpp'] = s:green " sets the color of cpp files to blue
let g:NERDTreeExtensionHighlightColor['c++'] = s:green " sets the color of c++ files to blue

  这个插件有一些默认的颜色显示规则,但是支持自定义,你可以制定颜色值和哪些后缀的文件显示什么颜色,没有指定的就还是按默认规则,如果默认也没指定那就时白色。
  *ps:这里有个坑。你如果看过github上作者给出的配置,你会发现作者在每句指定文件类型颜色的配置前都加了一句let g:NERDTreeExtensionHighlightColor = {},在Windows下这么配置只有最后一句指定文件类型的颜色能生效,后来我只保留了第一句就没问题了。

 &ems;完了吗?还没有!我再推荐一个插件,对于编写github的人有帮助。这个插件能用图标在NerdTree里(vim-gitgutter是在编辑区里按行标识)标识出哪些目录下的哪些文件做了何种修改,比如增加、删除、新创建等。

nerdtree-git-plugin插件


  和github上传的代码作对比,在NerdTree目录中用图标标识出文件和文件夹做了何种修改的插件。

nerdtree-git-plugin下载安装

  在vimrc中添加Plugin 'Xuyuanp/nerdtree-git-plugin'安装此插件。

nerdtree-git-plugint配置
""""""""""""""""""""""""""""""
"nerdtree-git-plugin settings
""""""""""""""""""""""""""""""
let g:NERDTreeShowIgnoredStatus = 1let g:NERDTreeIndicatorMapCustom = {\ "Modified"  : "✹",\ "Staged"    : "✚",\ "Untracked" : "✭",\ "Renamed"   : "➜",\ "Unmerged"  : "═",\ "Deleted"   : "✖",\ "Dirty"     : "✗",\ "Clean"     : "✔︎",\ 'Ignored'   : '☒',\ "Unknown"   : "?"\ }

  你可以修改为自己喜欢的符号,但是要注意得是你当前所用字体所支持显示的,不是啥符号都行。

结语

  这次真的写完了?其实还用过其他的一些插件这里就不写了,毕竟老了,坐久了不舒服。相信捣鼓,猛操作一番后的你也拥有了又给好看的NerdTree界面。如有疑问欢迎留言。


http://chatgpt.dhexx.cn/article/lT39UGbP.shtml

相关文章

NERDTree插件安装和使用

如何安装NERDTree插件,该插件显示一个目录树,可以执行一下文件的操作命令,首先添加配置: " 在vim中安装及配置NERDTree插件,放在Plugin gmarik/Vundle.vim 之后 Plugin scrooloose/nerdtree ""-----…

Win系统中GVim8.2配置NerdTree插件

目录 功能说明 NerdTree插件实现效果图: NerdTree安装: NerdTree配置 功能说明 NERDTree是Vim最常用的插件之一,可以在Vim运行时显示目录和文件结构,类似TextMate左侧的文件浏览器,但操作起来更为方便,…

vim插件:显示树形目录插件NERDTree安装 和 使用

前言 一、下载和配置 NERDTree插件的官方地址如下,可以从这里获取最新的版本 https://github.com/scrooloose/nerdtree 下载zip安装包 或者使用下面官网源文件安装方法 我的实验环境是centos6.6,其他版本可能有些不同。 安装方法很简单,先把压缩文件下…

VIM插件:目录导航与操作插件NERDTree的使用方法

VIM插件:目录导航与操作插件NERDTree的使用方法 📘 从外部Buffer打开NERDTree的方法 👨‍💻 假设已经会了VIM的配置基本知识,并会安装和简单配置VIM插件了,如果这点不太熟悉,可以自行查看相关…

webview跳转外部链接

提示:本文章主要讲述js点击跳转外链 前言 一、示例模板 二、使用步骤 1.需点击跳转页面(假设为a) 2.跳转页面(假设为b) 3.json文件中配置路由 4.配置业务域名 总结 前言 官方介绍,web-view这个组件…

【小程序】Web-View 小程序跳转外部链接

写这个是因为,最近小程序的一个需求需要从小程序跳转到客户的官网,或者其他外部报名链接。 如果是以前的话,可能就无法实现,但是小程序的版本更新速度还是可观的,现在既可以跳转外部链接,还可以跳转APP&…

【Web-View】小程序跳转外部链接

最近小程序的一个需求要从小程序跳转到客户的官网,或者其他外部链接,如果是以前的话,可能就无法实现,但是小程序的版本更新速度还是可观的,现在既可以跳转外部链接,还可以跳转APP; 文档&#xf…

uniapp跳转外部链接

1、在需要跳转的地方添加点击事件 2、在点击事件的方法里 定义要跳转的外部链接地址,将链接传到webview.vue页面中 3、创建一个页面(webview.vue) 在页面中主要使用web-view标签 4、onLoad()用于接收传递过来的参数值, 赋值给w…

微信小程序跳转到外部链接

<web-view src"https://www.baidu.com/"></web-view>那比如这个跳转到www.baidu.com 就是行不通的了&#xff0c;只能是自己在开发的时候玩玩&#xff08;在开发者工具中点设置-项目设置-在不校验合法域名、web-view&#xff08;业务域名&#xff09;、T…

外部链接跳转微信小程序

外部链接跳转微信小程序 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zpcKl0T3-1621677958755)(image-20210416142912242.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LzC7TExH-1621677958761)(image-2021041…

小程序跳转外链

注意&#xff1a; 个人类型和海外类型的小程序不支持 web-view 标签 直接跳转显示如下页面 解决方案1&#xff1a; 将外链地址配置在微信公众的白名单中即可正常跳转 解决方案2&#xff1a; 新建一个 fbec_number_collection用web-view承载它以后就变成了小程序的路由跳…

uniapp开发小程序:使用webview 跳转外部链接

一、使用uniapp开发小程序时&#xff0c;要跳转外部链接&#xff0c;实现的效果如下&#xff1a; 二、实现的步骤&#xff1a; ①先在自己uniapp项目pages.json中建一个页面webview.vue {"path" : "pages/webview/webview","style" : …

微信小程序访问外部链接

<web-view></web-view> &#xff1a;承载网页的容器&#xff0c;会自动铺满整个小程序页面。 webview 中导航栏的标题是取的页面 <title> 标签的内容。 webview 中无法调起微信支付。 实现方法&#xff1a; 登录小程序管理后台配置业务域名&#xff0c;并且需…

微信小程序做页内跳转外部网络连接/<web-view>的使用(使用与企业小程序)

导读 需求&#xff1a; 在微信小程序中访问外部https网页&#xff0c;可做小程序中访问或者跳出到浏览器打开访问。 结果&#xff1a; 由于我做不了让小程序打开浏览器并访问指定的url&#xff0c;所以我做微信小程序页内访问指定的URL。 条件&#xff1a; 1、需要企业小程序…

android ssl验证、https验证

准备知识&#xff1a; Keytool工具的使用。 在用Android平台上使用SSL&#xff0c;第一步就是生成证书。 1、证书的生成 1.1生成服务器端的证书py keytool -genkey -alias test -keystore test.jks 1.2 将keystore中的cert导出来&#xff0c;用来生成客户端的验证证书 […

Java安全之SSL/TLS

在前面所讲到的一些安全技术手段如&#xff1a;消息摘要、加解密算法、数字签名和数据证书等&#xff0c;一般都不会由开发者直接地去使用&#xff0c;而是经过了一定的封装&#xff0c;甚至形成了某些安全协议&#xff0c;再暴露出一定的接口来供开发者使用。因为直接使用这些…

【ssl认证、证书】java中的ssl语法API说明(SSLContext)、与keytool 工具的联系

文章目录 1. 前言java中的ssl语法与keytool 工具的联系 2. SSLContext的体系2.1 KeyStore2.1.1 通过证书库文件创建&#xff1a;2.1.2 随机生成自签名证书库 2.2 KeyManager2.2.1 KeyManagerFactory工厂创建&#xff1a;2.2.2 自己创建一个密钥管理器数组&#xff1a; 2.3 Trus…

import sslssl._create_default_https_context = ssl._create_unverified_context

# 全局取消证书验证import ssl ssl._create_default_https_context ssl._create_unverified_context参考&#xff1a;urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]_彭世瑜的博客-CSDN博客报错urllib.error.URLError: <urlopen error [SSL: CERT…

HttpClient配置SSL绕过https证书

HttpClient简介 HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了&#xff0c;越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能&#xff0c;但是对于大部分应用程序来说&#xff0…

java SSLContext

1. 什么是SSLSocket JDK文档指出&#xff0c;SSLSocket扩展Socket并提供使用SSL或TLS协议的安全套接字。 这种套接字是正常的流套接字&#xff0c;但是它们在基础网络传输协议(如TCP)上添加了安全保护层。 具体安全方面的讨论见下一篇。本篇重点关注SSLSocket及相关几个类的使用…