geekdoc-linux-zh/docs/use-vim-ide
..
img
README.md
SUMMARY.md
use-vim-ide_01.md
use-vim-ide_02.md
use-vim-ide_03.md
use-vim-ide_04.md
use-vim-ide_05.md
use-vim-ide_06.md
use-vim-ide_07.md
use-vim-ide_08.md
use-vim-ide_09.md
use-vim-ide_10.md

README.md

像 IDE 一样使用 vim

yangyangwithgnu@yeah.net 2016-03-30 16:39:33

【谢谢】

捐赠:支付宝 yangyangwithgnu@yeah.net ,支付宝二维码(左),微信二维码(右)

二手书我提高开发技能的重要手段之一随着职业生涯的发展书籍也在不断增多对我而言一本书最多读三遍再往后几乎没有什么营养吸收这部分书对我已基本无用但对其他人可能仍有价值所以为合理利用资源我决定低价出售这些书希望达到两个目的0用售出的钱购买更多新书没当过雷锋的朋友 (๑´ڡ`๑)1你低价购得需要的书虽然二手。到 github.com/yangyangwithgnu/used_books 看看有无你钟意的。

【公告】


  • 帮助英译版编制。github.com 上搜索 vim ide 关键字后第一匹配项便是本文,洋人浏览到本文的次数非常多,常常收到要求同步发表英文版的邮件,但是,你知道,这 80+ 页的中文已经耗费我大量业余时间,所以,如果可能,希望有精力的朋友可以将其翻译为英文,感谢!

  • 讨论:任何意见建议移步 www.v2ex.com/t/138696

【版本】


  • v0.1.52016-03-30新增/优化0采用 vundle 作为插件管理器,并统一采用各插件在 github.com 的地址1C++11/14 语法高亮插件从 STL-Syntax 换为 vim-cpp-enhanced-highlight后者支持 STL 以及自行编写函数、容器、模版等的高亮2接口文件MyClass.h与实现文件MyClass.cpp快捷切换的插件从 a.vim 换为 vim-fswitch3增加标签系统和语义系统的介绍4其他调整
  • v0.1.42016-02-16优化0为规避快捷键前导字符重复导致操作等待的问题优化光标快速移至行首/行尾的快捷键优化结对符间快速移动的快捷键1增加代码折叠的环境恢复。
  • v0.1.32015-11-08新增0光标快速移至行首的快捷键 lh 与光标右移键 l 冲突,导致光标左移操作等待,现添加 \ 规避该问题1中文输入状态导致命令模式无效借助插件解决该问题。
  • v0.1.22015-01-18新增0重写“内容查找”让匹配项具备上下文提醒能力1“快速输入结对符”扩充快速选中结对符内文本的相关知识2增加支持分支 undo 的介绍3增加持久化保存 undo 历史的介绍4全文结构调整将“内容查找”和“内容替换”移至“4 代码分析”将“快速输入结对符”更名为“快速编辑结对符”并移至“8 其他辅助”。
  • v0.1.12014-12-27新增/修正0重写“代码收藏”章节停用过时的 visual mark启用用户体验更优的 vim-signature@arcticlion谢谢1新增“基于语义的导航”章节YCM 新增该项功能2调整“5.2 模板补全”章节结构UltiSnips 不再提供预定义代码模板3protodef 插件更新,修复 protodef 生成成员函数实现的返回语句错误的问题4给出安装插件 vim-instant-markdown 的详细步骤。
  • v0.1.02014-10-13新增。发布初始版本。

【目录】


0 vim 必知会 ........0.1 .vimrc 文件 ........0.2 .vim/ 目录 1 源码安装编辑器 vim 2 插件管理 3 界面美化 ........3.1 主题风格 ........3.2 营造专注氛围 ........3.3 添加辅助信息 ........3.4 其他 4 代码分析 ........4.1 语法高亮 ........4.2 代码缩进 ........4.3 代码折叠 ........4.4 接口与实现快速切换 ........4.5 代码收藏 ........4.6 标识符列表 ................标签系统 ................语义系统 ................基于标签的标识符列表 ........4.7 声明/定义跳转 ................基于标签的声明/定义跳转 ................基于语义的声明/定义跳转 ........4.8 内容查找 ........4.9 内容替换 ................快捷替换 ................精确替换 5 代码开发 ........5.1 快速开关注释 ........5.2 模板补全 ........5.3 智能补全 ................基于标签的智能补全 ................基于语义的智能补全 ........5.4 由接口快速生成实现框架 ........5.5 库信息参考 6 工程管理 ........6.1 工程文件浏览 ........6.2 多文档编辑 ........6.3 环境恢复 7 工具链集成 ........7.1 构建工具集成 ................代码编译 ................系统构建 ................一键编译 ........7.2 静态分析器集成 8 其他辅助 ........8.1 快速编辑结对符 ........8.2 支持分支的 undo ........8.3 快速移动 ........8.4 markdown 即时预览 ........8.5 中/英输入平滑切换 9 尾声

【正文】


开始前我假设你0具备基本的 vim 操作能力,清楚如何打开/编辑/保存文档、命令与插入模式间切换1希望将 vim 打造成 C/C++ 语言的 IDE而非其他语言。

关于 vim 的优点,你在网上能查到 128+ 项对我而言只有两项0所思即所得让手输入的速度跟上大脑思考的速度1所需即所获只有你想不到的功能、没有实现不了的插件。希望获得前者的能力你需要两本教程深入学习《Practical Vim: Edit Text at the Speed of Thought》和《vim user manual》要想拥有后者的能力通读本文 -。-#。对于 vim 的喜爱,献上湿哥哥以表景仰之情:

vi 之大道如我心之禅, vi 之漫路即为禅修, vi 之命令禅印于心, 未得此道者视之怪诞, 与之为伴者洞其真谛, 长修此道者巨变人生。 作reddy@lion.austin.com 译yangyangwithgnu@yeah.net

言归正传,说说 vim 用于代码编写提供了哪些直接和间接功能支撑。vim 用户手册中50 的例子都是在讲 vim 如何高效编写代码由此可见vim 是一款面向于程序员的编辑器,即使某些功能 vim 无法直接完成,借助其丰富的插件资源,必定可以达成目标,这就是所需即所获。 我是个目标驱动的信奉者,本文内容,我会先给出优秀 C/C++ IDE 应具备哪些功能,再去探索如何通过 vim 的操作或插件来达到目标。最终至少要像这个样子:![](img/图形环境下%20IDE%20 总揽.png) (图形环境下 IDE 总揽) (纯字符模式下 IDE 总揽)