每个在linux环境下编程过的人一定都用过vim,那你知道vim是什么的增强版吗?

1.其他的编辑器:

  linux下,vim是最常用也是最强大的文本编辑器。

  除此之外,还有比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano,ed,ex

  vi和vim是我们在Linux中最常用的编辑器。

  参考:https://blog.csdn.net/qq_15282027/article/details/50865920

2.其他的编译器:

  每个程序员不出意外都是从c语言开始,那么一定也都知道gcc编译器。

  那么除了gcc编译器以外,还有什么厉害的编译器?

  还有g++、ICC、Clang、MSVC、BCC等C/C++编译器。

  其中常用的为g++,Clang,MSVC,ICC。他们各有各的特点。

  参考:https://www.zhihu.com/question/23789676

3.功能强大而又麻烦得调试器gdb:

  我们在编译一段代码的时候,可以给其加上 -g 的选项。

  目的是可以用gdb来调试生成的可执行程序。

  r-运行程序。

  l - 显示行号或者函数,一次十行

  n - 单条执行

  s -  进入函数调用

  b+行号 - 设置断点

  into break - 查看断点信息

  finish - 执行到当前函数返回,然后等待命令。

  whatis - 看类型....

4.自拟一个进度条程序,并且设置自撰一个Makefile。

  首先我们需要知道:

  1.颜色的品牌:

       \033      [00;  1;        33m           xxxx

分别对应:  开始    亮度   背景色      字体色        字符串

  其中,亮度色中01为高亮,00为低亮度。

  背景色中:40:黑,41:红:42:绿,43:黄,44:青,45:蓝,47:白。

  字体色中:30:黑,31:红,32:绿,33:黄,34:蓝,35:紫,36:青,37:白。

  参考:https://blog.csdn.net/c2682736/article/details/34438763

  

  2.代码的输出中:

  因为在一次循环输出中没有 ‘\n’ ,所以需要用 fflush()  函数来刷新缓冲区。

  ps:其中 stdout 为标准输出文件。

  并且每次输出结束都要用 ‘\r’ 来回到本行开头。

  

  代码:

 1 #include<iostream>
 2 #include<time.h>
 3 #include<stdlib.h>
 4 #include<unistd.h>
 5 #include<stdio.h>
 6
 7 #define RESET "\033[0m"
 8 #define BLACK "\033[30m"
 9 #define RED "\033[31m"
10 #define GREEN "\033[32m"
11 #define YELLOW "\033[33m"
12 #define BLUE "\033[34m"
13 #define MAGENTA "\033[35m"
14 #define CYAN "\033[36m"
15 #define WHITE "\033[37m"
16
17 using namespace std;
18
19 int main()
20 {
21     char buf[101]={};
22
23     int i=0;
24     char ptr[5]="/|\\-";
25
26     srand((int)time(0));
27
28     for(i = 0; i<100;i++)
29     {
30         buf[i]='#';
31
32         //调整颜色。
33         switch(i%4)
34         {
35             case 0:
36                 cout<<RED;
37                 break;
38             case 1:
39                 cout<<YELLOW;
40                 break;
41             case 2:
42                 cout<<MAGENTA;
43                 break;
44             case 3:
45                 cout<<BLUE;
46                 break;
47             defalut:
48                 break;
49         }
50         //\r用于从头输入。
51         printf("[%-100s][%d%%][%c]\r",buf,i+1,ptr[i%4]);
52
53         fflush(stdout);
54         usleep(300000);
55     }
56     cout<<WHITE<<endl;
57     return 0;
58 }

  Makefile:

1 processbar:processbar.cpp
2     g++ -o $@ $^
3
4 .PHONY:clean
5
6 clean:
7     rm -f prrcessbar

  

  最后实现结果:

   

  

转载于:https://www.cnblogs.com/shy0322/p/8659299.html

Vim引申以及Linux下彩色进度条实现相关推荐

  1. linux进度条脚本,Linux下简易进度条的实现代码

    在生活中,进度条是很常见的,那么,进度条是如何实现的呢? 首先,进度条的动态是利用人眼视觉暂留效果的.实际上是如下过程: 先输出:[=     ]表示进度是1%,刷新之后 再输出:[==    ].. ...

  2. linux :vim 实现命令行下输出进度条

    1.  进度条原理: 进度条的的动态增长是利用人的视觉短暂停留效果的,不断从输出缓冲区刷新出相同的内容,在肉眼看来进度条在不断的增长. 在显示器上先输出[#                       ...

  3. linux三并发进程,linux下用进度条显示三个进程的并发

    #include #include #include /*用结构来存储进度条的有关信息 */ typedef struct _ProgressData { GtkWidget *window; Gtk ...

  4. pip命令下载第三方依赖的彩色进度条的具体实现

    pip命令下载第三方依赖的彩色进度条的具体实现: 原理: 参看下面这个文档: Linux终端打印带颜色的文字_天龙至尊的博客-CSDN博客\033[0m 关闭所有属性 \033[1m 设置高亮度 \0 ...

  5. Linux下关于gcc、vim、readelf、rpm、yum、彩色进度条的问题

    一.vim vim厉害的原因: 1.支持非常丰富的快捷键. 2.支持非常丰富的扩展功能. vim的竞争对手: 1.emacs(2000年之前) 2.notepad ++/notepadplus/ue/ ...

  6. Linux下基本工具及彩色进度条程序

    1.vim配置 Vim是从 vi 发展出来的一个功能强大.高度可定制的文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的 ...

  7. 详解在Linux下实现(彩色)进度条程序,并通过makefile进行编译.

    彩色进度条的实现与makefile编译: 创建一个process文件,在里面编写实现进度条的代码    1.在编写代码的时候我们首先要区分两个转义字符:\n \r \n:表示换行,换到下一行,并位于起 ...

  8. Linux代码编译(模式切换、gdb、编译器之间的对比、彩色进度条、rpm与yum区别)

    常用工具: 软件包管理工具:yum 编程相关工具:vim.gcc/g++.gdb 项目相关工具:make/Makefile.git 查看软件包:yum list/grep key 安装软件包:yum ...

  9. 自定义彩色进度条效果

    自定义彩色进度条效果 效果如下:颜色可以随意设置 View代码 1 package angus.wsj.com.circularprogressview;2 3 import android.cont ...

最新文章

  1. 控制台应用程序的根目录
  2. 盛最多水的容器—leetcode11
  3. @resource和@Autowired区别
  4. hive中的数据库与mysql中的hive数据库的关系
  5. Codeforces Round #493 (Div. 2):C. Convert to Ones
  6. html表格编辑器退出编辑状态,易优后台编辑器取消html标签(比如表格属性等)过滤解决方法...
  7. FPGA原理图设计----Arria II 系列FPGA设计(SATA)
  8. Linux设置免密登录
  9. Dual Thrust 商品期货 (注释版)
  10. 高斯过程回归(Gaussian process regression)原理详解及python代码实战
  11. 有趣的计算机课的作文,有趣的电脑课作文400字
  12. 核心单词Word List 46
  13. mean-shift均值偏移算法
  14. DataTable 列转行
  15. Shell脚本速查手册
  16. Tecno(传音)手机在非洲市场占有率高达40%,成功原因是?
  17. Word表格跨页/翻页有边框,去除(>^ω^<)
  18. [分布式] Git结合Github进行版本控制
  19. 移动端浏览器沉浸式导航
  20. 天津滨海职业学院计算机证书从哪领,2016年9月天津计算机等级考试准考证领取地点电话...

热门文章

  1. 个人学习进度条------第二周
  2. unset是不能清除保存在本地电脑上的cookie的,用于session就可以(弄了半天原来是这样)...
  3. Kali Linux下的软件安装
  4. 技巧实例:如何在.NET中访问MySQL数据库
  5. ICCV 2021 | 带你了解微软亚洲研究院CV领域前沿进展
  6. 【开源】近期遥感航空影像的检索、检测、跟踪、计数、分类相关工作
  7. CVPR 2020 | 序列化的三维形状生成网络PQ-NET
  8. 对于python初学者,如何使用python定义联合(使用ctypes)?
  9. 【OpenCV】OpenCV实战从入门到精通之 -- 离散傅里叶变换相关函数详解
  10. 【TensorFlow】TensorFlow从浅入深系列之十二 -- 教你深入理解卷积神经网络中的池化层