将Vim打造成IDE编辑器(基础)-Vim使用技巧(19)

Vim技巧
将Vim打造成IDE编辑器(基础)-Vim使用技巧(19)

根据个人的经验,一个程序员使用文本编辑器进行编程时最常用的功能主要是:语法高亮、代码自动补齐、函数跳转、工程项目树展示、全局搜索、代码折叠等。作为入门级Vim配置,本文介绍如何将Vim打造成最基础的集成开发环境(IDE,Integrated Development Environment)。 1. 语法高亮Vim 自带语法高亮显示功能,只需要打开 syntax 选项即可。...

Vim自动补齐插件YouCompleteMe安装指南(2019年最新)-Vim插件(15)

Vim插件
Vim自动补齐插件YouCompleteMe安装指南(2019年最新)-Vim插件(15)

YouCompleteMe 简称 YCM,是一款 Vim 下非常流行的自动代码补齐神器。 虽然 Vim自带自动补齐功能,但是这种自带的补齐功能其本质就是 猜:通过对文本进行正则表达式匹配,再根据字典文件和生成的tags文件实现自动补全的效果, 因此其功能相对也较为简单。YouCompleteMe 插件是一种基于语义分析的补齐:通过分析源文件,经过语法分析以后进行智能补全。...

再谈Vim substitute替换命令-Vim入门教程(54)

Vim入门教程
再谈Vim substitute替换命令-Vim入门教程(54)

在Vim替换命令一文介绍过,substitute 命令的语法格式为::[range]s[ubstitute]/{pattern}/{string}/[flags]。 [flags] 表示可选的标志位,常用的包括 g、c、n、e 等。其中,标志位 g 使得 substitute 命令可以修改一行内的所有匹配,而不仅仅是第一处匹配;标志位 c 可以确认或拒绝每一处修改;标志位...

Vim模式行及应用-Vim入门教程(53)

Vim入门教程
Vim模式行及应用-Vim入门教程(53)

你应该在很多源代码文件中看到过类似下图红框中这种注释信息,在源文件中的注释信息中设置跟 Vim 相关的选项,这是使用了 Vim 的模式行 (modeline) 特性。 一、Vim 模式行介绍Vim 模式行是指文件中一行以特定语言的注释符 (如 #、//、/*) 开头,间隔一个空格,以 vi: 、vim: 、Vim: 等关键字触发的设置命令。该命令只对命令所在文件生效,且...

Vim单词拼写检查与更正-Vim入门教程(52)

Vim入门教程
Vim单词拼写检查与更正-Vim入门教程(52)

Vim 内置拼写检查器,使用命令 :set spell 可以对当前文件中所有未在字典中出现过的单词进行标记并高亮显示。 Vim 普通模式下,使用 [s、]s 命令可以在拼写错误间进行反向或正向跳转。当 Vim 光标位置某个错误单词之上时,可以使用 z= 命令获取 Vim 提供的更正建议列表,再输入 1<CR> 来选择编号为 1 的单词。如果已经确认第一项建议单...

Vim grep命令及其使用-Vim入门教程(51)

Vim入门教程
Vim grep命令及其使用-Vim入门教程(51)

grep 命令在 linux 系统中常用于在某个文件目录下查找包含指定目标内容的所有文件。 Vim 作为 linux 系统中最常用的编辑器之一,对外部 grep (或类似 grep) 命令进行了一层封装,提供了 Vim 命令 :grep。 使用 :grep 命令,可以在不退出 Vim 的情况下调用 linux 的 grep 命令,实现在多个文件中查找某个模式 (然后可以用...

Vim中文键盘速查表详细介绍-Vim入门教程(50)

Vim入门教程
Vim中文键盘速查表详细介绍-Vim入门教程(50)

经典的Vim键盘速查表中文介绍图以及各命令的详细介绍索引,按不同颜色区分Vim动作(motion)、Vim命令、Vim操作符(operator),推荐阅读谈谈Vim中的操作符和动作命令。 Esc:返回到Vim的普通模式 ~:大小写转换,即将当前光标所在的大写字符转为小写字符,或将当前小写字符转为大写字符 !:在 Vim 中执行外部命令,参考Vim执行shell命令。 @...

Vim文件间跳转-Vim入门教程(49)

Vim入门教程
Vim文件间跳转-Vim入门教程(49)

Vim 会把文件中的文件名当成一个超链接,进行了正确的配置后,在 Vim 普通模式下可以用 gf 命令跳转到当前光标下文件名对应的文件。(gf 命令可理解为 goto file 的缩写形式) 以下面的目录结构进行举例,假设当前目录下有个文件 event.c 和 文件夹 include,且 event.c 文件中需要引用定义在 include/event2/event.h ...

×
  • {title}