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



目录
相关文章
|
3月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
284 2
|
3月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
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开发知识可参考相关书籍。
145 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
4月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
121 5
|
4月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
248 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
5月前
|
编解码 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)。
144 0
|
5月前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
6月前
|
IDE 开发工具 Python
新一代数据科学ide平台DataSpell提前发行版体验
新一代数据科学ide平台DataSpell提前发行版体验
126 0
|
6月前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
71 6
|
6月前
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
81 5