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就成型了



目录
相关文章
|
6天前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
17 5
|
4天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
23 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
5天前
|
机器学习/深度学习 存储 监控
AllData数据中台核心菜单五:实时开发IDE
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
1月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
1月前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
2月前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
37 6
|
2月前
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
41 5
|
2月前
|
编解码 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的低延迟体验,适用于多种应用场景。
|
2月前
|
编解码 Linux 开发工具
Linux平台x86_64(麒麟|统信UOS)|aarch64(飞腾)如何实现摄像头|屏幕和麦克风|扬声器采集推送RTMP服务或轻量级RTSP服务
国产化操作系统的发展,减少了外部依赖,更符合国家安全标准,并可提升自主研发能力,促进产业链发展,满足定制开发能力,减少了外部技术封锁的风险,提高了国际竞争力,推动了产业升级。目前大牛直播SDK针对Linux平台x86_64架构和aarch64架构的RTMP推送模块和轻量级RTSP服务模块
Linux CentOS 平台安装 rar unrar 命令
Linux CentOS 平台安装 rar unrar 命令
1192 0