linux平台开发自学笔记(二)-打造IDE

简介:

在linux上开发最大的不适应就是找不到win上的vs这种IDE了,当然可以安装一个带图形界面的系统,再装个eclipse或者kde之类的,但是这违反了进入linux平台开发的初衷,linux毕竟不是用来办公,做服务器,它的文字界面更加省能存,更加稳定,更加短小精悍,有时候还需要远程ssh到服务器上,更没有界面可言,所以还是老老实实适应vim吧。

不过vim有很多强大的插件,也可以将vim变成一个不亚于vs一些常见功能的ide,当然还是要去熟悉背一些键盘指令。


0.vim插件的安装都是一个套路,先熟悉vim的主要文件夹,vim的主要文件夹一般在/usr/share/vim/vim**/下面

里面的plugin一般就是放.vim插件的地方,里面的doc存储插件的文档。

此外还有vimrc是vim的配置文件,全局的在/etc/vim下面,用户的一般在~/.vimrc中,如果没有就从全局的拷贝一个,没有用户的酒直接使用全局的了


1.首先安装nerdtree,他提供一个树形文件浏览器,首先去下载它,vim的插件一般都在vim的主页可以找到,在这里http://www.vim.org/scripts/script_search_results.php

去里面搜nerdtree,就可以下载一个,下载后把里面相应的.vim文件拷贝到plugin下面,doc文件拷入doc文件夹

在vimrc里加入一个键盘映射

map <F3> :NERDTreeMirror<CR>

map <F3> :NERDTreeToggle<CR>

按F3弹出nerdtree窗口

在多个窗口间切换,一般使用ctrl+W结合上下左右键进行


2.安装ctags,ctags可以为代码生成tag,这样让vim识别一些关键的tag在代码里通过一些指令可以快速的跳到定义的地方,一般的ide都有这个功能(下载安装方式同nerdtree)

首先需要产生ctags,在你的代码根目录运行ctags -R 会产生tags文件,再再vimrc里面加入一行set tags=***/tags就可以了

一些常用操作包括在某个tag处按crtl+]就可以找到它的所有引用,进入某个引用后,按ctrl+T就可以回到浏览堆栈的上一层


3. 安装taglist,它可以弹出一个独立的窗口,里面列出当前代码里所有的tag。安装好后一般在vimrc里面设置

let Tlist_Show_One_File=1

let Tlist_Exit_OnlyWindow=1

let Tlist_Use_Right_Window=1

let Tlist_Auto_Open=1

let Tlist_Close_On_Select=1

进入vim后,输入Tlist即可打开taglist窗口


4.安装cscope,cscope可看做是更加强大ctag,可以完成很多tag的浏览,文件的查找工作,安装好后,和ctag类似,首先也需要生成标签,在代码跟目录运行cscope -Rbq就可以生成标签文件cscope.out,在vimrc中加入

:cs add coderoot/cscope.out coderoot 导入这些tag

一般还加入:set cscopequickfix=s-,c-,d-,i-,t-,e-

cscope的主要功能是通过同的子命令"find"来实现的
"cscope find"的用法:
cs f c|d|e|f|g|i|s|t name

0 或 s 查找本 C 符号(可以跳过注释)
1 或 g 查找本定义
2 或 d 查找本函数调用的函数
3 或 c 查找调用本函数的函数
4 或 t 查找本字符串
6 或 e 查找本 egrep 模式
7 或 f 查找本文件
8 或 i 查找包含本文件的文件
 当查找到结果时,输入:cw可以额外打开一个窗口浏览所有的结果

5.安装minibufferexplorer,它可以同时开多个文件窗口,方便多个文件同时打开来回切换,安装好后

在vimrc里面设置let g:miniBufExplMapCTabSwitchBufs = 1,就可以在打开的多个窗口间使用tab切换


这样一个很基本的ide就成型了



目录
相关文章
|
4天前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
15 6
|
4天前
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
17 5
|
18天前
|
安全 Linux 图形学
Linux平台Unity下RTMP|RTSP低延迟播放器技术实现
本文介绍了在国产操作系统及Linux平台上,利用Unity实现RTMP/RTSP直播播放的方法。通过设置原生播放模块的回调函数,可将解码后的YUV数据传递给Unity进行渲染,实现低延迟播放。此外,还提供了播放器启动、参数配置及停止的相关代码示例,并概述了如何在Unity中更新纹理以显示视频帧。随着国产操作系统的发展,此类跨平台直播解决方案的需求日益增长,为开发者提供了灵活高效的开发方式。
|
18天前
|
编解码 算法 Linux
Linux平台下RTSP|RTMP播放器如何跟python交互投递RGB数据供视觉算法分析
在对接Linux平台的RTSP播放模块时,需将播放数据同时提供给Python进行视觉算法分析。技术实现上,可在播放时通过回调函数获取视频帧数据,并以RGB32格式输出。利用`SetVideoFrameCallBackV2`接口设定缩放后的视频帧回调,以满足算法所需的分辨率。回调函数中,每收到一帧数据即保存为bitmap文件。Python端只需读取指定文件夹中的bitmap文件,即可进行视频数据的分析处理。此方案简单有效,但应注意控制输出的bitmap文件数量以避免内存占用过高。
|
18天前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
18天前
|
编解码 Linux 数据安全/隐私保护
Linux平台x86_64|aarch64架构如何实现轻量级RTSP服务
为满足在Linux平台(x86_64与aarch64架构)上实现轻量级RTSP服务的需求,我们开发了一套解决方案。该方案通过调用`start_rtsp_server()`函数启动RTSP服务,并设置端口号及认证信息。支持AAC音频和H.264视频编码,可推送纯音频、纯视频或音视频流。此外,还支持X11屏幕采集、部分V4L2摄像头采集、帧率/GOP/码率调整、摄像头设备选择与预览等功能。对于音频采集,支持alsa-lib和libpulse接口。整体设计旨在提供150-400ms的低延迟体验,适用于多种应用场景。
|
3天前
|
IDE 开发工具 Python
新一代数据科学ide平台DataSpell提前发行版体验
新一代数据科学ide平台DataSpell提前发行版体验
|
2月前
|
Web App开发 缓存 Linux
FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流
《FFmpeg开发实战》书中第10章提及轻量级流媒体服务器MediaMTX,适合测试RTSP/RTMP协议,但不适合生产环境。推荐使用SRS或ZLMediaKit,其中SRS是国产开源实时视频服务器,支持多种流媒体协议。本文简述在华为欧拉系统上编译安装SRS和FFmpeg的步骤,包括安装依赖、下载源码、配置、编译以及启动SRS服务。此外,还展示了如何通过FFmpeg进行RTMP推流,并使用VLC播放器测试拉流。更多FFmpeg开发内容可参考相关书籍。
54 2
FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流
|
17天前
|
编解码 Linux 开发工具
Linux平台x86_64(麒麟|统信UOS)|aarch64(飞腾)如何实现摄像头|屏幕和麦克风|扬声器采集推送RTMP服务或轻量级RTSP服务
国产化操作系统的发展,减少了外部依赖,更符合国家安全标准,并可提升自主研发能力,促进产业链发展,满足定制开发能力,减少了外部技术封锁的风险,提高了国际竞争力,推动了产业升级。目前大牛直播SDK针对Linux平台x86_64架构和aarch64架构的RTMP推送模块和轻量级RTSP服务模块
|
2月前
|
弹性计算 运维 自然语言处理
阿里云OS Copilot测评:重塑Linux运维与开发体验的智能革命
阿里云OS Copilot巧妙地将大语言模型的自然语言处理能力与操作系统团队的深厚经验相结合,支持自然语言问答、辅助命令执行等功能,为Linux用户带来了前所未有的智能运维与开发体验。
下一篇
云函数