给 GVIM 添加开发中常用的功能

gvim小记,包含了获取行号的函数【个人笔记,不喜勿喷】 gvim小记gvim的常见操作gvim的正则表达式 本文档属于个人笔记,不喜欢请绕行。 阅读详情
  • 首先在你的 vimrc 中添加如下配置
    • if(has("win32") || has("win95") || has("win64") || has("win16"))
          let g:vimrc_iswindows=1
      else
          let g:vimrc_iswindows=0
      endif
      autocmd BufEnter * lcd %:p:h
  • 确认安装了ctags和cscope,并且确认这两个可执行程序所在的目录已经放进环境变量里面,然后继续在 vimrc 中添加如下配置
    • map <F12> :call Do_CsTag()<CR>
      nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>:copen<CR>
      nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
      nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>:copen<CR>
      nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>:copen<CR>
      nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>:copen<CR>
      nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>:copen<CR>
      nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>:copen<CR>
      nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>:copen<CR>
      function Do_CsTag()
          let dir = getcwd()
          if filereadable("tags")
              if(g:iswindows==1)
                  let tagsdeleted=delete(dir."\\"."tags")
              else
                  let tagsdeleted=delete("./"."tags")
              endif
              if(tagsdeleted!=0)
                  echohl WarningMsg | echo "Fail to do tags! I cannot delete the tags" | echohl None
                  return
              endif
          endif
          if has("cscope")
              silent! execute "cs kill -1"
          endif
          if filereadable("cscope.files")
              if(g:iswindows==1)
                  let csfilesdeleted=delete(dir."\\"."cscope.files")
              else
                  let csfilesdeleted=delete("./"."cscope.files")
              endif
              if(csfilesdeleted!=0)
                  echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.files" | echohl None
                  return
              endif
          endif
          if filereadable("cscope.out")
              if(g:iswindows==1)
                  let csoutdeleted=delete(dir."\\"."cscope.out")
              else
                  let csoutdeleted=delete("./"."cscope.out")
              endif
              if(csoutdeleted!=0)
                  echohl WarningMsg | echo "Fail to do cscope! I cannot delete the cscope.out" | echohl None
                  return
              endif
          endif
          if(executable('ctags'))
              "silent! execute "!ctags -R --c-types=+p --fields=+S *"
              silent! execute "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
          endif
          if(executable('cscope') && has("cscope") )
              if(g:iswindows!=1)
                  silent! execute "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.java' -o -name '*.cs' > cscope.files"
              else
                  silent! execute "!dir /s/b *.c,*.cpp,*.h,*.java,*.cs >> cscope.files"
              endif
              silent! execute "!cscope -b"
              execute "normal :"
              if filereadable("cscope.out")
                  execute "cs add cscope.out"
              endif
          endif
      endfunction

  • 使用 taglist.vim 实现了源代码结构和函数列表的展示

    • taglist.vim 下载地址 http://www.vim.org/scripts/script.php?script_id=273
    • 把taglist.vim放在plugin目录下后,在vimrc中添加如下的配置:
      • "进行Tlist的设置
        "TlistUpdate可以更新tags
        map <F3> :silent! Tlist<CR> "按下F3就可以呼出了
        let Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行
        let Tlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边
        let Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表,如果想只有1个,设置为1
        let Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
        let Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim
        let Tlist_Process_File_Always=0 "是否一直处理tags.1:处理;0:不处理。不是一直实时更新tags,因为没有必要
        let Tlist_Inc_Winwidth=0

  • 使用 omnicppcomplete.vim 实现写C/C++语言时自动补全

    • omnicppcomplete.vim 下载地址 http://www.vim.org/scripts/script.php?script_id=1520
    • 然后需要生成tags, 之前用F12映射的命令
    • 顺便说一下:omnicppcomplete会打开一个预览窗口来提示变量定义,如果不想要看到详细的信息的话,在vimrc中这样配置:
      • set completeopt=menu
    • 这样的话,在光标所在行上,按下一次ctrl+h是注释,再按下一次是取消注释。
    • 而其内建的指令,cm是多行注释,类似C++的/**/,,cu是取消注释。

  • 使用 NERD_commenter.vim 生成注释

    • NERD_commenter.vim 下载地址 http://www.vim.org/scripts/script.php?script_id=1218
    • 把 NERD_commenter.vim 放在 plugin 目录下后,添加如下配置
      • "对NERD_commenter的设置
        let NERDShutUp=1

  • 使用 DoxygenToolkit.vim 由注释生成文档,并且能够快速生成函数标准注释

    • DoxygenToolkit.vim 下载地址 http://www.vim.org/scripts/script.php?script_id=987
    • 把 DoxygenToolkit.vim 放在plugin 目录下后,在 vimrc 中添加如下配置:
      • map fg : Dox<cr>
        let g:DoxygenToolkit_authorName="dantezhu"
        let g:DoxygenToolkit_licenseTag="My own license\<enter>"
        let g:DoxygenToolkit_undocTag="DOXIGEN_SKIP_BLOCK"
        let g:DoxygenToolkit_briefTag_pre = "@brief\t"
        let g:DoxygenToolkit_paramTag_pre = "@param\t"
        let g:DoxygenToolkit_returnTag = "@return\t"
        let g:DoxygenToolkit_briefTag_funcName = "no"
        let g:DoxygenToolkit_maxFunctionProtoLines = 30
    • 读者可以按照需要将 DoxygenToolkit_authorName设置成为自己的名字,OK,这样标准格式的代码注释就出来啦。

  • 使用 a.vim 实现 .cpp文件和.h文件快速切换

    • a.vim 下载地址:http://www.vim.org/scripts/script.php?script_id=31
    • 不需要任何配置
  • 以上文章整理自 http://www.vimer.cn/2009/10/%E6%8A%8Avim%E6%89%93%E9%80%A0%E6%88%90%E4%B8%80%E4%B8%AA%E7%9C%9F%E6%AD%A3%E7%9A%84ide2.html 和 http://www.vimer.cn/2009/10/%E6%8A%8Avim%E6%89%93%E9%80%A0%E6%88%90%E4%B8%80%E4%B8%AA%E7%9C%9F%E6%AD%A3%E7%9A%84ide3.html
如何使用ModelSim添加外部编辑器GVIM ModelSim添加外部编辑器GVIM【亲测ModelSim DE-64 10.6c】ModelSim DE-64 10.6c添加外部编辑器GVIM ModelSim DE-64 10.6c添加外部编辑器GVIM 与Quartus一样,ModelSim自带的编辑器也不是特别地好用,且容易存在中文注释乱码等情况,故可以在ModelSim中添加外部编辑器GVIM,使得在ModelSim中打开文件进行编辑时直接通过GVIM来打开。 网上所述的一些在ModelSim的Transcript窗口中输入设置命令的方法固然 阅读详情

相关推荐

Gvim个性化配置及常用命令

在home目录中创建.vimrc文件:touch .vimrc。

ShiC_980228的博客 2893

vim配置vimrc详解

vim配置vimrc详解 一、vim/gvim 环境变量 1. vimrc的存放位置:  系统 vimrc 文件: "$VIM/vimrc"  用户 vimrc 文件: "$HOME/.vimrc"  用户 exrc 文件: "$HOME/.exrc"  系统 gvimrc 文件: "$VIM/gvimrc"  用户 gvimrc 文件: "$HOME/.gvimrc"  系统菜单

襄阳3G物联网项目组 1342

linux工具应用_GVIM

本文旨在对gvim做较全面的总结:简单介绍了gvim,主要描述如何通过.vimrc将gvim配置的符合个人使用习惯,还有如何针对常用代码语言生成tags大纲。

qq_39355579的博客 1095

GVIM三种模式—(命令、底行、插入)

文章目录一、GVIM的三种工作模式二、命令模式操作2.1.光标移动2.2.复制/粘贴(copy/paste)2.3.剪切/删除(delete)2.4.改变/替换(change/replace)2.5.撤销/恢复(undo/Ctrl+return)三、末行模式操作3.1.保存与退出(write/quit) 一、GVIM的三种工作模式 命令模式(默认模式,打开GVIM即进入该模式) 插入模式(文本编...

Mr.翟的博客 1万+

[VIM]VIM/GVIM使用技巧總結

前言:作為Linux系統中一個主流的文本編輯器,VIM的功能可謂十分強大。現在對VIM使用的技巧做一個總結,不斷更新...... 一、快捷鍵re-map 1、適用場景:快速生成`uvm_info()的代碼: 在.vimrc中,添加如下定義: :map ufi <Tab>`uvm_info(get_full_name(), $s...

元直的博客 1276

android10 部分机型(华为)无法正常更新安装app

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file://storage/emulated/0/文件夹名/***.apk typ=application/vnd.android.package-archive }

森森先生的博客 3927

Vim学习——编写Vim脚本基础

声明:此篇为https://vim.linuxsong.org vim中文手册整理 入门案例: :let i = 1 :while i &lt; 5 : echo "Hello,World!" i : let i += 1 :endwhile 冒号: 字符非必须,只有键入命令时需要,编写Vim脚本时可以省略 1.变量 定义变量 :let :let {变量} = {表达式} 表达式类型 ==vi...

karelcn的博客 9786

NVIDIA DGX Spark实战:如何在桌面上轻松运行200B参数大模型?

本文详细介绍了如何利用NVIDIA DGX Spark在桌面端轻松运行200B参数大模型。通过实战演示,从系统初始化、模型获取部署到内存管理与性能调优,重点解析了其统一内存架构如何解决本地推理的显存瓶颈,并探讨了进行轻量化微调(如LoRA)的可能性,为AI开发者和研究团队提供了高效的本地化大模型操作方案。

weixin_29054195的博客 882

gvim文本编辑器常用快捷命令

常见的gvim快捷命令总结,方便查用。

夏风喃喃的博客 2万+

computer planetary——全球生物多样性信息机构 (GBIF)

正如npartitions所表明的,这个Parquet数据集是由许多单独的parquet文件组成的。(GBIF) 是一个由世界各国政府资助的国际网络和数据基础设施,提供记录物种发生的全球数据。重新处理数据的原因有多种,包括主干分类的更改,因此该日期不一定是发生记录最后更改的日期。GBIF 发生数据集结合了来自广泛来源的数据,包括来自自然历史博物馆的标本相关数据、来自公民科学网络的观察和自动环境调查。为了了解最常观察到的物种,我们将对数据集进行分组,并获得每个物种的计数。大多数字段名称对应于。

此星光明博客 1635

借助Gemini 3 Pro高效解决课题申报中的五大核心痛点,亲测有效经验分享

之前给大家分享过关于AI辅助课题申报的相关的内容,涵盖了申报书部分撰写技巧,但没针对性拆解各位同仁在实际申报时遇到的卡壳的地方。比如选题范围拿捏不准,定的太大,根本没法落地完成;定的太小,研究价值则体现不了;写综述时,容易单纯罗列文献,缺乏批判性视角,没办法自然融入自己的判断,找不到研究缺口;研究方法部分,可能担心方法设计不够严谨,别人难以复现.....针对这些申报中的高频痛点,接下来七哥会从五个核心要点出发,借助Gemini 3 Pro高效解决这些痛点。

智能AI让学术科研更容易 700

gvim的简单介绍和常用配置

文章目录为什么要配置gvim?什么是gvim?配置后gvim什么样子?配置后初始界面如下:配置后代码界面如下:配置前gvim是什么样子?配置前初始界面如下:配置前代码界面如下:为什么要设置自己的gvim?如何配置gvim?在什么地方配置配置前的文件内容(代码)如下:配置后的文件内容(代码)如下:总结感想 为什么要配置gvim? 什么是gvim? 我也不说什么具体概念了。最直观来说gvim就是一个文档编辑器,只要你的工作和文档有关,无论你是日常办公还是苦逼的程序员,gvim是你的一个不错的选择。 注:强烈推荐

易逍遥的博客 2万+

【Unity】 预制体Prefab使用说明

在 Unity 中,Prefab 是一个可以预先制作并重复使用的 GameObject 或组件集合,Prefab 中的 GameObject 可以有子对象和其他组件。

灵境引路人 2849

gvim开发python常用的插件和设置

gvim开发python常用的插件和设置 较好的几个插件和配置    ctags+taglist:语法分析,生成和显示tag点。     minibufexpl:Mini Buffer Explorer,在vim上实现多文档tab效果。     supertab:使用tab键实现自动补全功能,很方便,强力推荐。     insenvim:智能语法

Daniel.Chan的博客 8672

前拉后推计划逻辑适用于哪些行业和企业规模?

《前拉后推计划逻辑的行业适用性分析》摘要:前拉后推计划逻辑(需求端后推锚定交付、供应端前拉匹配资源)最适用于需求波动大且具规模效益的行业,包括家具制造(定制化需求+批量运输)、机械装备(非标设备+部件采购)、消费电子(短周期产品+核心部件备货)及汽车配套(交期绑定+批量生产)等领域。该模式要求企业具备:1)独立计划部门;2)ERP/MES等信息系统;3)资源冗余能力,故更适配中型(1-10亿营收)和大型企业(10亿+)。小型企业需简化应用,仅聚焦关键环节。不适配需求稳定(如快消品)、无规模效益或短周期生产的

追随内心 144

C#对接EtherNet/IP协议 完整版|罗克韦尔AB PLC通信+CIP核心概念全解析

你做罗克韦尔(AB) PLC工业上位机开发,是唯一的首选协议,没有之一!EtherNet/IP(Ethernet Industrial Protocol)是基于标准以太网的工业级通信协议,由罗克韦尔自动化主导开发,是ODVA(开放设备网络供应商协会)主推的工业以太网标准,也是目前全球应用最广泛的工业以太网协议之一。原生适配罗克韦尔AB PLC:Micro800、CompactLogix、ControlLogix、Micro850等全系AB PLC原生标配EtherNet/IP,无需额外配置,开箱即用;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 889

gvim快捷键操作

文章目录1.配置一个自己喜欢的gvim界面2.模式转换3.删除命令2.替换命令3.搜索命令4.拷贝粘贴命令5.自动添加字符6.一些高级指令7.多窗口操作8.visual操作 1.配置一个自己喜欢的gvim界面 在terminal中输入:gvim ~/.vimrc 2.模式转换 gvim有三种模式:命令模式、输入模式、ex转义模式(底行命令模式) 从输入模式切换命令模式,按键; 从命令模式切换输入模式,使用A、a、I、i、O、o等键。 从命令模式切换底行命令模式,使用 : 3.删除命令 在命令模式下: x

sinat_41774721的博客 1万+

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(1-16)

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(1-16)

weixin_45735391的博客 8万+

gvim使用总结

记录一下gvim的使用技巧和常用指令。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

m0_52213268的博客 4312

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

linux & Gvim 常用命令

linux & Gvim 常用命令Gvim常用命令linux常用命令 Gvim常用命令 # ------ open a file ----------- vi file_name : open a file for editing on a terminal vim file_name : gvim file_name : gvim is a GUI of vi # when open a file , vi is in insert mode by default i : go

zgezi的博客 3218

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

GVIM常用总结

GVIM常用命令

pu_ji的博客 3404

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Gvim常用的设置以及操作

设置部分: 1、将Tab键设置为插入四个空格 set ts=4 set expandtab set autoindent 在vim的配置文件里添加以上三条设置命令就行,这种设置方式是将插入的Tab自动转换成4个空格键,兼容性比较好。 操作部分:...

thundersnark的博客 4599

Linux与Gvim常用命令

一、LINUX常用命令 文件管理类命令: pwd 打印当前目录 cd 改变目录 cd / 转到根目录 cd ~ 转到用户目录 cd /XX/XX 转到绝对路径 cd XX 转到当前目录下的相对路径 ls 查看目录内容 ls -a 列举全部文件,包括隐藏文件 ls -l 列举目录中的细节(权限,所有者等) ls -l XX 列举某一文件信息 ls -R 递归列举该目录所有子目录内容 ls -s 按文件大小排序 cat XX 显示...

Rosa_zz的博客 1640

gvim 配置_GVIM常用命令

编者荐语:GVIM作为IC开发中首屈一指的编辑器,插件丰富,配置灵活,可以根据个人的习惯与喜好进行定制,极大地增加了生产力。本篇文章作为一个入门概览的文章,给大家提供了一些常用的命令,相信在不断的练习后效率会日益提高~注:本篇文章来自知乎用户Trustintruth分享,文章链接https://zhuanlan.zhihu.com/p/104838106最近在学习Linux下的一些操作,...

weixin_39955142的博客 904

gvim常用命令

gvim常用命令

weixin_43990751的博客 2592

Gvim的最新版安装和配置步骤(适合新手)(windows系统)

第一个文件夹vim90存放的是软件默认的配置文件,比如颜色配置,字体配置,插件等。第二个文件夹vimfiles里面是空文件夹,如果我们要添加Gvim没有的插件或者颜色字体之类的配置,就可以在网站上下载,然后复制到这个文件夹里。GVIM的配置有两种方式,第一是直接修改 文件_vimrc 第二是先把插件下载好,复制到文件夹vimfiles对应的位置,然后再修改 文件_vimrc。Vim和Gvim的功能是一样的,只不过对于windows用户来说,Gvim有菜单界面操作,用Gvim会熟悉一些。

qq_40510975的博客 1万+
上一篇: GVIM全屏显示问题
下一篇: 移动开发中3个js库的介绍:Apache Cordova,Knockout 及 iScroll
SecondJanuary
博客等级 码龄14年 57粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值