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



目录
相关文章
|
11天前
|
人工智能 IDE 开发工具
使用字节新出的Trae IDE开发一个AI ChatBot(超详细)
Trae是字节跳动推出的一款免费的AI集成的开发环境,集成了Claude3.5与GPT-4o等主流AI模型,提供AI问答、智能代码生成、智能代码补全,多模态输入等功能。支持界面全中文化,为中文开发者提供了高效的开发体验
248 10
使用字节新出的Trae IDE开发一个AI ChatBot(超详细)
|
2月前
|
IDE 开发工具
【开发IDE升级】如何对IDEA版本进行升级
本文介绍了如何将 IntelliJ IDEA Ultimate 从 2020.2.2 版本升级到 2022.3.2 版本。主要内容包括准备工作、卸载旧版本和安装新版本的步骤。首先,从官网下载所需版本并备份旧版配置;接着,通过 Uninstall.exe 卸载旧版,保留配置和插件;最后,安装新版并完成激活。详细的操作步骤和截图帮助用户顺利完成升级过程。
2178 1
【开发IDE升级】如何对IDEA版本进行升级
|
3月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
283 2
|
3月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
4月前
|
IDE 开发工具 C++
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
本文详细介绍了在离线环境中开发Avalonia UI项目的完整解决方案,包括Visual Studio 2022和JetBrains Rider的离线安装、Avalonia UI模板的配置、私有NuGet服务的部署与使用,以及NuGet包的制作和上传。通过这些步骤,您可以在网络受限或完全离线的环境中顺利进行Avalonia UI项目的开发。
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
|
4月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
120 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开发知识可参考相关书籍。
142 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
4月前
|
机器学习/深度学习 存储 监控
AllData数据中台核心菜单五:实时开发IDE
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
7天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用