用VIM编写C/C++程序

Linux 下使用 vim 编写运行 C/C++ 程序 早就听说 vim 编程了。 由于 Linux 实验课以及 OS 实验课的要求,需要在 vim 中编写 C/C++ 程序。 一、创建 .c 文件 vim hello.c/hello.cpp 回车之后,就进入 vim 了。 二、进入 vim 输入模式 输入 i ,此时就进入 vim 的输入模式了。 三、编写 C 语言程序 #include<stdio.h> int main(){ ... 阅读详情
 Vi 是Unix下最常用的文本编辑器。VIM(Vi IMproved)则是它的增强版。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。用 过emacs的人肯定会为emacs的一些快捷键感到烦恼,有时候用真希望自己有八只手。VIM的学习曲线也不象emacs那么长,只要看看VIM自带的 vitutor,大约只要20分钟就能掌握VIM的用法。对于Unix下的C/C++的程序员,我推荐你们使用VIM+Ctags的组合来写程序。其中原 因听我慢慢道来。(下面对VIM的介绍主要是针对5.6以后的版本)
VIM支持语法制导和自动缩进
VIM会根据文件的后缀名,如: *.c、*.cpp、*.cc,等,自动设置语法制导(Syntax Highlighting)。C/C++中的一些保留字,如:if、for、include,等等,就会有不同的颜色,这样就会减少程序员犯错的可能,阅 读程序的时候相对来说也轻松很多。用下面这些命令在VIM中查看有关语法制导的帮助:“:h syntax”、“:h syn-qstart”、“:h syntax-printing”。
VIM也支持根据GNU的风格自动缩进,这样程序员编写出来的代码就更易阅读,而且也有利于培养好的编程风 格。用下面这些命令在VIM中查看有关自动缩进的帮助:“:h cindent”、“:h cinoptions”、“:h cinoptions-values”、“:h cinkeys”、“:h cinwords”。
使用Ctags
VIM中已经带了Ctags这个程序。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。Ctags可以帮助程序员很容易地浏览源代码。用下面的命令可以在源代码的根目录下创建“tags”文件:
[/home/brimmer/src]$ ctags -R
“-R”表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。“tags”文件中包括这些对象的列表:
l        用#define定义的宏
l        枚举型变量的值
l        函数的定义、原型和声明
l        名字空间(namespace)
l        类型定义(typedefs)
l        变量(包括定义和声明)
l        类(class)、结构(struct)、枚举类型(enum)和联合(union)
l        类、结构和联合中成员变量或函数
VIM用这个“tags”文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:
1)        用命令行。在运行vim的时候加上“-t”参数,例如:
[/home/brimmer/src]$ vim -t foo_bar
这个命令将打开定义“foo_bar”(变量或函数或其它)的文件,并把光标定位到这一行。
2)        在vim编辑器内用“:ta”命令,例如:
:ta foo_bar
3)        最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl-]”。用“Ctrl-o”退回原来的地方。
注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:set tags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。
快速改正错误
在VIM 编辑器的环境下用“:make”就可以编译程序,当然其前提是在当前目录下有Makefile文件。运行完“:make”之后,如果程序中有错误,就会显 示出来。这时候,光标会自动指向第一个出现错误的地方,而且你还可以看到错误的提示。然后,你就可以改正错误,而不用手工找到出错的那一行。记住下面几个 有用的命令:
l        “:cl”列出错误
l        “:cn”让光标指向下一个错误
l        “:cp”让光标指向上一个错误
l        “:cnew”从头开始
你 甚至可以让VIM识别出其它编译器而不是gcc的错误提示。这对一些开发嵌入式系统的程序员这很有用,因为他们很可能用的不是gcc而是其它编译器。通过 设置“errorformat”的值,可以让VIM识别出编译器的出错提示。因为不同的编译器的出错提示是不同的,所以如果用的不是gcc就要重新设置。
“errorformat”的值是一个字符串,它的格式和C语言的scanf的字符串格式相识。
gcc的“errorformat”的值为:%f:%l:/%m。其中“%f”表示文件名,“%l”表示行号,“%m”表示出错信息。
用“:h errorformat”查看详细的帮助信息。
用“:h quickfix”、“:h make”、“:h makeprg”、“:h errorfile”查看其它的信息。
有用的快捷键
下面的这些快捷键对程序员很有帮助:
在函数中移动光标
[[ 转到上一个位于第一列的“{”
]] 转到下一个位于第一列的“{”
{   转到上一个空行
}   转到下一个空行
gd 转到当前光标所指的局部变量的定义
*   转到当前光标所指的单词下一次出现的地方
#   转到当前光标所指的单词上一次出现的地方
括号的匹配
%   用来进行小括号、中括号和大括号的匹配。这要看当前光标指向的是什么符号了。
其它
VIM的配置文件是“.vimrc”,用这个文件可以配置VIM。VIM的图形界面的版本叫gvim。VIM也有用于Windows平台的版本。
VIM的资源
VIM的主页: http://www.vim.org/。
版权说明
这篇文章的版权属于作者brimmer( brimmer@linuxaid.com.cn)和 www.linuxaid.com.cn。如果要转载请加上版权提示。
Brimmer的主页: www.linuxaid.com.cn/engineer/brimmer。HTML格式和Word格式的文档可以在主页上找到。
YOLO26涨点改进 | 损失函数改进篇 | 引入SlideLoss,适配尺度变化+遮挡+难易样本不平衡,手把手配置+实战案例 COCO-Hard是COCO数据集的复杂场景子集,包含80个类别,重点筛选多尺度、遮挡密集样本,其中小尺度目标(<32×32像素)占比42%,大尺度目标(>128×128像素)占比28%,遮挡目标占比57%,场景涵盖人群密集、车流拥堵、复杂工业环境,完美模拟真实复杂检测场景,适合验证SlideLoss的适配性。 阅读详情

相关推荐

图像加密与解密(附matlab代码)

详细介绍了三种图像加密解密原理,并基于matlab开发了一套相应系统。

2440

【转】使用vim编辑C程序

使用VIM编辑C程序 原文:http://ldp.linuxforum.net/HOWTO/C-editing-with-VIM-HOWTO/index.html  使用VIM编辑C程序Siddharth Heroor译:mingleiChen修订历史修订版v1.0 Jan 14, 2001 Revised by: s

周海汉的开发专栏 5034

MD01和MD01N比较

摘要:MD01(传统MRP)与MD01N(MRP Live)是SAP系统不同版本的物料需求计划事务码。核心差异包括:MD01N取消MRP列表、简化计划规则、合并MPS/MRP操作、采用BAdI技术等,体现S/4HANA平台简化、标准化和智能化的演进方向。MD01N通过优化参数配置、增强筛选功能、利用HANA实时计算能力,实现了更高效的物料计划流程,代表了新一代计划引擎的技术革新。

SAP_LES_COM的博客 892

怎么用vim高效的写C

给大家推荐一篇好文章:关于怎么用vim高效的写C ,其中的ctags功能根source insight差不多。如果你就愿意在linux工作, 而不用每次都把把代码copy到windows 下,再用source insight 。。。。。。。^_^ 太慢了,麻烦。  用ctags好处下面都说道了,我觉得还有一个地方,跟系统有关,你可以方面的找到一个宏定义 Ctrl -],不用再grep ,累死了。

3814

Mathtype公式下标深度调整技巧:解决固定行距下的显示不全问题

本文针对在Word等文档中设置固定行距时,Mathtype公式下标显示不全的问题,提供了专业解决方案。核心在于调整Mathtype软件内部的“下标深度”参数,通过修改单个公式或批量格式化全文,使公式完美适配固定行距,确保下标清晰完整,且不影响文档整体排版。

pepsi的博客 1499

混沌系统在图像加密中的应用(随机性测试之FIPS 140-2测试和SP800-22测试)

本节内容我们将学习混沌序列的随机性测试,那么前面讲了,混沌系统产生的随机序列,它的随机性到底好不好,除了看相图、分岔图、指数图以外,还有一个非常重要的指标,那就是FIPS 140-2测试和SP800-22测试。(1)保证密码学模块的安全性:密码学模块在加密和解密敏感信息时使用随机数生成器来增加对手动解密和猜测攻击的抵抗力。通过进行FIPS 140-2测试,可以验证密码学模块是否符合安全标准,确保其实施和设计的安全性,以有效地保护敏感信息。

weixin_42207434的博客 2085

Vim技巧:加快编辑速度

例如,您可以录制一个宏,然后在文本中执行该宏来重复执行一系列命令。以上是一些有用的Vim技巧,可以帮助您加快编辑速度。Vim是一款强大的文本编辑器,它可以帮助您更高效地编辑文本。在Vim中,有许多快捷键可以帮助您快速编辑文本。caw:删除当前单词并包括空格,然后进入插入模式。在Vim中,您可以同时编辑多行文本。输入I,进入插入模式并输入您要添加的文本。ci’:删除单引号内的文本并进入插入模式。ci”:删除引号内的文本并进入插入模式。cw:删除当前单词并进入插入模式。daw:删除当前单词并包括空格。

fantasy27149的博客 497

淘宝扫码登录避坑指南:如何避免异地登录风控并稳定获取Cookie(附Python代码)

本文深入解析了淘宝扫码登录的风控机制,提供了从环境仿真到代码实现的完整避坑指南。通过精细化伪装请求头、管理会话与IP策略,并附上Python示例代码,帮助开发者稳定获取Cookie,有效避免异地登录风控,实现自动化流程的可靠集成。

l6m7n8的博客 591

vim编辑器使用教程

vim是Linux系统内置的「文本编辑器」,用于查看或编辑文件的内容,学会使用vim编辑器,将在Linux终端中畅通无阻。

明天你好的博客 1万+

Doris实战——结合Flink构建极速易用的实时数仓

Doris实战——结合Flink构建极速易用的实时数仓

爱吃辣条的博客 8231

DBC中如何实现报文传输类型属性的配置

AUTOSAR中CAN报文的传输类型主要有三种,周期型,事件型和混合型。周期型:按固定时间间隔自动发送,无需额外的触发条件。事件型:当信号值变化或满足内部条件时立即发送。混合型:默认按周期发送,但事件触发时可提前发送。

sunchengl的博客 304

使用vim编写C/C++程序

一、准备工作 1.安装vim(已安装则忽略) sudo apt-get install vim 2.安装C的编译器gcc和C++的编译器g++(已安装则忽略) sudo apt-get install gcc sudo apt-get install g++ 二、创建目录、编辑、编译、运行 1.在主目录下创建存放代码文件的目录,例如mycode mkdir mycode 2.进入创建的目录 cd mycode 3.进入vim编辑程序(以求质数为例,Prime.cpp是代码文件名) vim Prim

qq_43015237的博客 4962

飞牛 NAS 部署 Hermes Agent 全指南:打造 24 小时在线、自我进化的 AI 智能体!

当大多数人还在把 AI 当聊天机器人使用时,我已经把它部署到了家里的飞牛 NAS 上,让它 24 小时在线工作、记忆我的习惯、自动执行任务,甚至还能不断学习新的技能。今天带你从零搭建这个真正属于自己的 AI Agent。🚀

XiaoqiangClub的博客 1227

ubuntu内使用vim编写C/C++程序并编译运行

刚开始我们是不能直接输入内容的,我们得给vim下达一个指令,按一下字母键“i”或者键盘上功能键“insert”,之后我们在空白界面左下角看到键入的提示我们就可以开始写C/C++文件了。不管是什么形式的程序编写都离不开编译的过程,这个过程都是编译器将我们写好的文件编译成机器能理解的形式才能运行。编写好文件以后我们按一下“esc”键后,左下角的“键入”提示就不见了,之后我们输入“:wq”按下回车跳转到最开始的终端界面且没有报错的话我们编写好的程序文件就创建好了。三、运行编译好的程序文件。

qq_46005899的博客 2598

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

vim编写C/C++程序过程

  vim编写C、C++程序过程(以hello world为例): vim hello.c/hello.cpp 或者vi hello.c/hello.cpp创建hello.c/hello.cpp文件并进入vim界面; 键入i或a,进入输入模式。 编写hello.c/hello.cpp程序。 写完后先按Esc键,退出输入模式;进入命令模式,输入:wq,保存并...

WC20140711的博客 201

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

linux下用vim编写C/C++单个源程序的基本方法

在Linux下可以用于编程的工具实在是太多了,我比较喜欢的是Kdevelop,今天又学了下在终端直接用vim编写简单C/C++程序的方法。这样貌似更方便些。 一、在终端直接用vim编写C程序 在某路径下打开一个终端,或打开终端后进入你想存放源文件的路径,然后 [root@localhost ~]# vim hello.c 接下来就可以输入源程序了,这里我们用一个最简单的程序做

靠谱-ing 1989

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

(转)用VIM编写C/C++程序

用VIM编写C/C++程序(转载)用VIM编写C/C++程序Vi是Unix下最常用的文本编辑器。VIM(Vi IMproved)则是它的增强版。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。用过emacs的人肯定会为emacs的一些快捷键感到烦恼,有时候用真希望自己有八只手。VIM的学习曲线也不象emacs那么长,只要看看VIM自带的v

554

Linux环境下用vim编写编译运行C/C++程序

在Linux环境下编写编译运行C程序 首先在终端下输入命令进入编写 vim hello.c #include <stdio.h> int main() { printf("hello C\n"); return 0; } 输入命令进行编译,该编译方式会默认生成一个a.out文件 gcc hello.c 输入命令进行运行 ./a...

2370

用vi编写c语言程序,用vim编写C/C++程序

VIM支持语法制导和自动缩进VIM会根据文件的后缀名,如:*.c、*.cpp、*.cc,等,自动设置语法制导(Syntax Highlighting)。C/C++中的一些保留字,如:if、for、include,等等,就会有不同的颜色,这样就会减少程序员犯错的可能,阅读程序的时候相对来说也轻松很多。用下面这些命令在VIM中查看有关语法制导的帮助:“:h syntax”、“:h syn-qstart...

weixin_31308305的博客 2128

用vim编写c/c++程序

用vim编写c/c++程序Vi 是Unix下最常用的文本编辑器。VIM(Vi IMproved)则是它的增强版。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。用过emacs的人肯定会为emacs的一些快捷键感到烦恼,有时候用真希望自己有八只手。VIM的学习曲线也不象emacs那么长,只要看看VIM自带的 vitutor,大约只要20

ehui928的专栏 1344
上一篇: 80X86寻址方式总结
下一篇: Far away from csdn,bccn.Far away from computer...
Non_Recursive
博客等级 码龄18年 57粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值