Vim引申以及Linux下彩色进度条实现
每个在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下彩色进度条实现相关推荐
- linux进度条脚本,Linux下简易进度条的实现代码
在生活中,进度条是很常见的,那么,进度条是如何实现的呢? 首先,进度条的动态是利用人眼视觉暂留效果的.实际上是如下过程: 先输出:[= ]表示进度是1%,刷新之后 再输出:[== ].. ...
- linux :vim 实现命令行下输出进度条
1. 进度条原理: 进度条的的动态增长是利用人的视觉短暂停留效果的,不断从输出缓冲区刷新出相同的内容,在肉眼看来进度条在不断的增长. 在显示器上先输出[# ...
- linux三并发进程,linux下用进度条显示三个进程的并发
#include #include #include /*用结构来存储进度条的有关信息 */ typedef struct _ProgressData { GtkWidget *window; Gtk ...
- pip命令下载第三方依赖的彩色进度条的具体实现
pip命令下载第三方依赖的彩色进度条的具体实现: 原理: 参看下面这个文档: Linux终端打印带颜色的文字_天龙至尊的博客-CSDN博客\033[0m 关闭所有属性 \033[1m 设置高亮度 \0 ...
- Linux下关于gcc、vim、readelf、rpm、yum、彩色进度条的问题
一.vim vim厉害的原因: 1.支持非常丰富的快捷键. 2.支持非常丰富的扩展功能. vim的竞争对手: 1.emacs(2000年之前) 2.notepad ++/notepadplus/ue/ ...
- Linux下基本工具及彩色进度条程序
1.vim配置 Vim是从 vi 发展出来的一个功能强大.高度可定制的文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的 ...
- 详解在Linux下实现(彩色)进度条程序,并通过makefile进行编译.
彩色进度条的实现与makefile编译: 创建一个process文件,在里面编写实现进度条的代码 1.在编写代码的时候我们首先要区分两个转义字符:\n \r \n:表示换行,换到下一行,并位于起 ...
- Linux代码编译(模式切换、gdb、编译器之间的对比、彩色进度条、rpm与yum区别)
常用工具: 软件包管理工具:yum 编程相关工具:vim.gcc/g++.gdb 项目相关工具:make/Makefile.git 查看软件包:yum list/grep key 安装软件包:yum ...
- 自定义彩色进度条效果
自定义彩色进度条效果 效果如下:颜色可以随意设置 View代码 1 package angus.wsj.com.circularprogressview;2 3 import android.cont ...
最新文章
- 控制台应用程序的根目录
- 盛最多水的容器—leetcode11
- @resource和@Autowired区别
- hive中的数据库与mysql中的hive数据库的关系
- Codeforces Round #493 (Div. 2):C. Convert to Ones
- html表格编辑器退出编辑状态,易优后台编辑器取消html标签(比如表格属性等)过滤解决方法...
- FPGA原理图设计----Arria II 系列FPGA设计(SATA)
- Linux设置免密登录
- Dual Thrust 商品期货 (注释版)
- 高斯过程回归(Gaussian process regression)原理详解及python代码实战
- 有趣的计算机课的作文,有趣的电脑课作文400字
- 核心单词Word List 46
- mean-shift均值偏移算法
- DataTable 列转行
- Shell脚本速查手册
- Tecno(传音)手机在非洲市场占有率高达40%,成功原因是?
- Word表格跨页/翻页有边框,去除(>^ω^<)
- [分布式] Git结合Github进行版本控制
- 移动端浏览器沉浸式导航
- 天津滨海职业学院计算机证书从哪领,2016年9月天津计算机等级考试准考证领取地点电话...
热门文章
- 个人学习进度条------第二周
- unset是不能清除保存在本地电脑上的cookie的,用于session就可以(弄了半天原来是这样)...
- Kali Linux下的软件安装
- 技巧实例:如何在.NET中访问MySQL数据库
- ICCV 2021 | 带你了解微软亚洲研究院CV领域前沿进展
- 【开源】近期遥感航空影像的检索、检测、跟踪、计数、分类相关工作
- CVPR 2020 | 序列化的三维形状生成网络PQ-NET
- 对于python初学者,如何使用python定义联合(使用ctypes)?
- 【OpenCV】OpenCV实战从入门到精通之 -- 离散傅里叶变换相关函数详解
- 【TensorFlow】TensorFlow从浅入深系列之十二 -- 教你深入理解卷积神经网络中的池化层