GVim管理”工程“?

2024-01-09 17:20
文章标签 管理 工程 gvim

本文主要是介绍GVim管理”工程“?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GVim管理”工程“?

  经常看到新手朋友问Vim怎么管理工程之类的问题,其实这是对Vim的误解,它只是个编辑器而不是IDE,它不负责工程管理。工程管理应该交给CMake之类的(不然你还指望能像vscode那样有WorkSpace功能吗?目前我没发现)。如果你只是想用GVim方便的管理文件和文件夹的话还是能做到的,具体可以用Vim自带的目录树管理插件或用NerdTree之类的插件。
  用过之后你可能会郁闷遇到“如何让GVim启动就默认打开某个目录或文件?”,更方便点“如何想让哪个文件或文件夹用GVim启动就能立刻启动?”。这篇博客就是回答这两个问题的。

如何让GVim启动就默认打开某个目录或文件?

  • 借助插件
      其实很多插件都集成了MRU,它可以罗列出近期访问过的文件清单,你可以从清单里选择你需要的文件直接打开它。这样的插件有ctrlp、fzf、leaderf等,还有挺多人用vim-startify这个插件,它专门有个界面在启动时把近期文件列出来让你选择,不过我个人还是习惯用简单的leaderf的mru。

  • 在vimrc中加入指令
      网上有一些大神自己写了vim脚本,把访问过的文件路径写入到本地一个备份文件中,下次自动打开。不过这种方法用起来不直观,不能像mru那样直观的选择,具体代码网上有我就不搬运了。
      可能有些人不知道vim自带一个指令可以显示最近访问过的文件。:browse oldfiles,输入这个指令后就会出现文件清单,找到你想打开的文件后按q退出,推出前会让你输入文件编号,输入并回车可以打开。以下是效果图:
    [外链图片转存失败(img-4Y2sQ00J-1564202796438)(.\png\BrowseOldfiles.png "browse oldfils")]
      效果很差,罗列了一堆不需要的临时文件。
      在vimrc里店家cd指令,因为GVim支持cd指令,在vimrc中写入可以保证在GVim启动后立刻进入某个目录。示例:
    [外链图片转存失败(img-JsCBnrxO-1564202796440)(.\png\cd.png "cd")]
      这个指令是我早期经常用的,我会把最近经常编辑的工程根目录路径写入到vimrc中,通过cd指令下次自动进入跟目录。现在基本不用了(我现在喜欢更灵活的鼠标右键启动,下文会讲),因为我经常访问的目录可能有三四个,而cd每次只能执行一个。

如何想让哪个文件或文件夹用GVim启动就能立刻启动?

  • 将GVim添加到鼠标右键启动。
      鼠标右键启动是一种很灵活有效的方式,当你想对哪个文件或文件夹用GVim启动时,无需再手动切换路径或输入指令,从右键菜单里启动GVim,它就会在你期望的路径打开你期望的文件。
      怎么实现将GVim添加到鼠标右键启动项里呢?Windows下当然需要添加到注册表里。按鼠标右键的对象不同,可以分为三种情况,这三种情况都需要分别设置注册表。以下讲解这三种情况的设置,具体的添加方式你可以写个批处理自动执行或手动设置,我这里讲下手动设置。

    • 对文件鼠标右键
        在运行里输入regedit即可打开注册表编辑器,找到选项HKEY_CLASSES_ROOT -> * -> shell,在shell下新建项(鼠标右键)将其命名为GVim,在新建项GVim下新建字符串值(鼠标右键),这时候右边除了默认还多了一个,将其命名为Icon,双击编辑它,在数值数据里写入如:D:\cpy\WorkSpace\Install\gvim_8.1.1006_x64\Vim\vim81\gvim.exe,0,路径指向你的gvim.exe(根据你自己的路径修改),他的作用就是鼠标右键菜单时有个GVim的图标。
        只给了了图标的路径还需要给出可执行文件exe的启动路径。在刚才的GVvim下新建项命名为Command,选中Commond双击右边窗口的(默认)选项,将数值数据填入D:\cpy\WorkSpace\Install\gvim_8.1.1006_x64\Vim\vim81\gvim.exe "%1",这里启动路径指向exe,%1意思是当前文件的路径(也就是你鼠标选中的文件的全路径(包含文件名)),启动时1%表示的路径将传入gvim.exe因此也就启动并打开了被选中文件,并且GVim也将处于该文件所处的文件夹路径下,你的NerdTree将聪明的来到该路径下显示其他的文件和文件夹。
      [外链图片转存失败(img-o6MYVhA8-1564202796440)(.\png\文件鼠标右键.png "文件鼠标右键")]

    • 对文件夹鼠标右键
        以上方法仅对问价鼠标右键有用,对文件夹方法类似。注册表找到Directory -> shell,在shell下新建项GVim,对其新建字符串值命名为Icon,双击右边的新添加的Icon在数值数据里填入D:\cpy\WorkSpace\Install\gvim_8.1.1006_x64\Vim\vim81\gvim.exe,0,对刚才新建的GVim新建项命名为Command,双击右边窗口的(默认)在数值数据里填入D:\cpy\WorkSpace\Install\gvim_8.1.1006_x64\Vim\vim81\gvim.exe --cmd "cd "%v"",这里--cmdcd是GVim所支持的指令,具体在vim帮助文档staring.txt中可以查到。%v表示所选文件夹的路径。在GVim启动时会传入这些指令,让其执行cmd指令及cd到所选文件夹路径内。
        这里讲以下遇到的坑,如果你看过文档就会发现里面还有个类似的指令-c/+,如果用这个指令当路径含中文时时打不开的,貌似乱码了。
      [外链图片转存失败(img-Uca5RbpZ-1564202796440)(.\png\文件夹鼠标右键.png "文件夹鼠标右键")]

    • 对桌面或文件夹空白处鼠标右键
        Directory -> Background -> shell下新建项GVim,对其新建字符串值命名为Icon,双击右边的新添加的Icon,在数值数据中填入D:\cpy\WorkSpace\Install\gvim_8.1.1006_x64\Vim\vim81\gvim.exe,0,对新建的GVim新建项命名为Command,双击右边的(默认)在数值数据里填入D:\cpy\WorkSpace\Install\gvim_8.1.1006_x64\Vim\vim81\gvim.exe --cmd "cd "%v"",和上面一样的就不啰嗦了。
      [外链图片转存失败(img-q6IvI7mg-1564202796441)(.\png\空白鼠标右键.png "空白鼠标右键")]

      搞完了,去试试效果吧。呼呼,终于可以休息了。

这篇关于GVim管理”工程“?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/587857

相关文章

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Redis实现RBAC权限管理

《Redis实现RBAC权限管理》本文主要介绍了Redis实现RBAC权限管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1. 什么是 RBAC?2. 为什么使用 Redis 实现 RBAC?3. 设计 RBAC 数据结构

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖