为 C++ 配置 Vim

2024-03-14

我想让 vim 成为我的 C++ 编辑器。我对此的使用经验很少 并需要帮助配置 vim 以使用 C++。 我需要这样的功能

  • 代码完整(对于 stl 和我的课程)
  • 在 .cc 和 .h 文件之间切换
  • 作为 C++ 和 Vim 大师,您可能还有更多技巧。

也许您可以提供一些配置(带解释),或我可以使用的教程、插件的链接?


  • 代码完成:全方位完成 http://vim.wikia.com/wiki/VimTip1608 or Clang 自动完成 http://www.vim.org/scripts/script.php?script_id=3302 or 你使我完整 https://github.com/Valloric/YouCompleteMe
  • 实时语法检查:合成的 https://github.com/scrooloose/syntastic
  • 在源文件和头文件之间切换:A plugin http://www.vim.org/scripts/script.php?script_id=31
  • 片段:Snipmate http://www.vim.org/scripts/script.php?script_id=2540 or UltiSnip http://www.vim.org/scripts/script.php?script_id=2715
  • 搜索变量、函数、类等的引用:Cscope http://cscope.sourceforge.net/cscope_vim_tutorial.html
  • 转到定义:Ctags http://ctags.sourceforge.net/或一部分YouCompleteMe 子命令 https://github.com/Valloric/YouCompleteMe#the-gotodefinitionelsedeclaration-subcommand上文提到的
  • 重构工具:Refactor http://www.vim.org/scripts/script.php?script_id=2087, lh-重构 https://github.com/LucHermitte/vim-refactor
  • 有用的文本对象:Arg 文本对象 http://www.vim.org/scripts//script.php?script_id=2699 and 类文本对象 http://www.reddit.com/r/vim/comments/e99h9/is_there_a_way_to_change_the_way_and_move/c16duif
  • Vim Tips wiki 中的 C++ 类别 http://vim.wikia.com/wiki/Category:C%2B%2B
  • Luc Hermitte 的 C/C++ 插件 https://github.com/LucHermitte/lh-cpp
  • 不是 C++ 特有的,但我也推荐模糊查找器 http://www.vim.org/scripts/script.php?script_id=1984 or 命令-T http://www.vim.org/scripts/script.php?script_id=3025 or Unite https://github.com/Shougo/unite.vim用于文件导航。使用其中任何一个,您甚至不需要选项卡(无法扩展到 10 个以上文件)来管理您的项目。
  • 班级导航:Taglist http://www.vim.org/scripts/script.php?script_id=273 or Tagbar http://www.vim.org/scripts/script.php?script_id=3465

编辑:截至 2013 年 7 月更新

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 C++ 配置 Vim 的相关文章

  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • C++ 子字符串返回错误结果

    我有这个字符串 std string date 20121020 我正在做 std cout lt lt Date lt lt date lt lt n std cout lt lt Year lt lt date substr 0 4 l
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 如果使用 SingleOrDefault() 并在数字列表中搜索不在列表中的数字,如何返回 null?

    使用查询正数列表时SingleOrDefault 当在列表中找不到数字时 如何返回 null 或像 1 这样的自定义值 而不是类型的默认值 在本例中为 0 你可以使用 var first theIntegers Cast
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • const、span 和迭代器的问题

    我尝试编写一个按索引迭代容器的迭代器 AIt and a const It两者都允许更改容器的内容 AConst it and a const Const it两者都禁止更改容器的内容 之后 我尝试写一个span
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke

随机推荐

  • 如何从 git 终端编辑 .git / config 文件?

    我正在尝试从 git 终端修改配置文件 为此 在存储库内 我启动了命令git global edit 编辑器在同一终端中打开 我的问题是 如何保存更改并退出编辑器 每次我进行更改时 编辑器都会崩溃 我必须重新开始 有没有办法在终端之外更轻松
  • 使用 -classpath 运行时未检测到 Spring application.yml

    我是第一次使用 Spring 框架 特别是 Spring Boot 所以如果有一个明显的解决方案 请原谅我 在我的应用程序中 我有一个嵌入式 application yml 它为整个配置参数负载提供默认值 如果我使用以下命令运行 JAR 则
  • 模板只能与字段访问、属性访问、一维数组索引或单参数自定义索引器表达式一起使用

    我的型号 public class EmployeeModel Required StringLength 50 Display Name Employee Name public string EmpName get set Requir
  • Java将GIF图像转换为PNG格式

    我必须构建一个 Java servlet 它接收图像并返回转换为 PNG 格式的图像 我怎样才能实现这个目标 正如一些示例所示 转换并不是指更改文件扩展名 提前致谢 试试这个 package demo import javax imagei
  • R 中 %in% 运算符的 C++ 版本

    C 中有没有相当于的函数 in R 中的运算符 考虑 R 中的以下命令 which y in x 我试图在 C 中找到等效的东西 特别是在犰狳中 但我找不到任何东西 然后我编写了自己的函数 与上面的 R 命令相比 它非常慢 这是我写的 in
  • 目前使用 Rails 构建 Facebook 应用程序的资源有哪些? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找使用 Rails 构建一个基本的 Facebook 应用程序 您推荐哪些资源 书籍 播客 截屏视频 博客文章等 请每个帖子一个答
  • 使用 Pandas.rolling 计算滚动自相关

    我正在尝试使用 Pandas 0 23 3 计算 Series 对象的滚动自相关 设置示例 dt index pd date range 2018 01 01 2018 02 01 freq B data np random rand le
  • 在 Perl 中可以将一个数组的地址分配给另一个数组吗?

    在以下 C 代码中 int X new int 2 X 0 1 X 1 2 int Y X X 1 3 执行后 Y 1 也将为 3 因为操作 Y X 不会进行克隆 而是将 X 所指向的引用或指针分配给 Y 如果在 Perl 5 下尝试相同的
  • constexpr 函数内的编译时或运行时检测

    当 C 11 中引入 constexpr 时 我很兴奋 但不幸的是我对其有用性做出了乐观的假设 我假设我们可以在任何地方使用 constexpr 来捕获文字编译时常量或文字编译时常量的任何 constexpr 结果 包括如下所示 const
  • 更新推送接收时应用程序图标上的徽章计数 (IOS)

    我正在开发可以从服务器接收推送通知的应用程序 从服务器发送推送通知时 您可以指定要在应用程序图标上显示的徽章编号 现在这意味着您必须跟踪服务器上的徽章计数 这似乎不是一个好的方法 有没有什么好的替代方案 这样我就不需要跟踪服务器上的徽章编号
  • 在 NSView 上使用 NSPoint 鼠标跟踪

    我在 App Delegate 中有一个方法可以创建窗口和内容视图 但我希望能够在进入和退出视图时使用 NSPoint 跟踪鼠标 问题是我不想创建 NSView 自定义类 而是想在我的 AppDelegate 中完成这一切 鼠标跟踪 底部
  • 简单的 PowerShell LastWriteTime 比较

    我需要一个 PowerShell 脚本来访问文件的属性并发现最后写入时间属性并将其与当前日期进行比较并返回日期差 我有这样的东西 writedate Get ItemProperty Path source Name LastWriteTi
  • 使用 Android Studio 未选择渲染目标

    我的 Android Studio 在 Activity main xml 中显示此问题 渲染问题未选择渲染目标 帮助 您需要运行 AVD 管理器来添加与您的项目设置的目标 API 版本相匹配的虚拟设备 单击工具 gt Android gt
  • Maven:如何重命名项目的war文件?

    我有一个项目bird具有以下组件pom xml
  • 具有内联模型表单或表单集的基于 django 类的视图

    我有以下型号 class Bill models Model date models DateTimeField Date of bill null True blank True class Item models Model name
  • 未找到 JSF2.0 标签

    最近我一直在玩 JSF2 0 Richface 3 3 3 我使用 STS 作为我的 IDE 和 Maven 来构建我的项目 但不知何故我无法让以下 JSF2 0 标签工作 h button h link f 元数据 f viewParam
  • 如何解耦小部件的模型/视图

    我正在编写一个应用程序 用于绘制小部件 菜单 控件等以创建应用程序模型 每个屏幕都表示为小部件的集合 每个小部件都是简单的类 例如 class Model object def init self self widgets class Wi
  • 将长格式转换为宽格式

    id lt c 1 8 1 8 age1 lt c 7 5 6 7 8 6 9 5 8 7 6 3 9 5 age2 lt age1 round runif 1 1 3 1 age lt c age1 age2 tanner lt samp
  • ng-bootstrap 在 Angular 4 中不起作用

    我是 Angular 4 的新手 我正在尝试配置引导程序 我安装了 ng bootstrap https ng bootstrap github io getting started https ng bootstrap github io
  • 为 C++ 配置 Vim

    我想让 vim 成为我的 C 编辑器 我对此的使用经验很少 并需要帮助配置 vim 以使用 C 我需要这样的功能 代码完整 对于 stl 和我的课程 在 cc 和 h 文件之间切换 作为 C 和 Vim 大师 您可能还有更多技巧 也许您可以