文档章节

Ubuntu上把Geany配置成好用的PHP开发工具

eechen
 eechen
发布于 2014/12/27 21:57
字数 2022
阅读 10818
收藏 37


Ubuntu用户通过添加PPA源安装最新版Geany:
sudo add-apt-repository ppa:geany-dev/ppa
sudo apt-get update
sudo apt-get install geany geany-plugins libvte9
Geany内置的虚拟终端依赖libvte9这个GTK2的虚拟终端窗口库,而Gnome3和KDE上默认没有这个库,所以需要安装.


在菜单"编辑-首选项-虚拟终端"里可以设置终端的字体,前景色,背景色等.
编辑器字体和终端字体我都使用DejaVu Sans Mono.

在菜单"编辑-首选项-快捷键"里把"自动完成"快捷键改为Alt+/,
因为其默认的快捷键为Ctrl+Space,会和输入法冲突.
值得一提的是,输入法在Geany编辑器里光标不跟随,会一直出现在左下角,这是一个瑕疵.

在菜单"编辑-首选项-文件"里,比如你可以设置使用GB18030编码打开非Unicode文件,
这样打开简体中文编码的文件就不会乱码了.
还有你还可以在"文档-设置文件编码"里进行编码转换.

在菜单"编辑-首选项-编辑器"里提供有"自动完成","缩进","长行标志"等的一些设置,
比如设置敲一个字母,自动完成当前打开文档中的所有单词.
比如你打开了两个文件functions.php和my.php,你在编辑my.php里的内容的时候,
Geany除了能够提示PHP库函数,还能够提示functions.php里的函数.
而且你在my.php使用了functions.php里的一个函数后,"Ctrl+左键单击"这个函数
是能够跳转到functions.php里函数所在位置.
选中关键词后,右键菜单"搜索"里也提供了查找/标记/跳转的功能.

在菜单"搜索-在多个文件中查找"或者使用"Ctrl+Shift+F"调出"在多个文件中查找"对话框,
如果快捷键和输入法冲突,可以修改为"Ctrl+Alt+F".
Geany的这个功能会调用系统的grep来在多个文件中查找包含搜索关键字的文件,
速度很快,很稳定,指定文件后缀,编码类型,搜索目录和子目录,正则等都是支持的.
搜索结果会显示在下方的信息窗口,点击即可打开搜索关键字所在文件的具体的行.
如果不小心搜索了一个很大的目录,用 killall grep 关闭进程即可.
总而言之,利用这个功能,在项目里找东西还是挺方便的.
Geany并不会像Netbeans等IDE那样精准,但快速够用就是Geany的定位.

Genay对PHP库函数的智能提示来自于/usr/share/geany/php.tags的支持,
当然你也能用Geany生成自己项目的tags文件.
比如进入wordpress目录生成tags文件到Geany用户配置目录:
geany -g ~/.config/geany/tags/wordpress.php.tags $(find . -type f -name '*.php' -o -name '*.php5')
注意生成的WordPress的tags文件后缀为.php.tags,另外-o表示Or(或者)的意思.
在菜单"工具-载入标记文件"载入生成的wordpress.php.tags,这样不用重启Geany就能生效了.
Geany自带的语言tags文件,上面提到的php.tags只是其中的一个:
ls -lh /usr/share/geany/*.tags
官方源码包data目录里集成了最新的php.tags文件.
更多tags代码提示(PHP/JS/HTML/CSS等):
http://wiki.geany.org/tags/start

snippets片段完成(PHP/JS/HTML/CSS等):
http://wiki.geany.org/snippets/start
比如HTML文件里输入form按Tab键补全片段,PHP文件里输入for或switch按tab键补全.
Geany片段完成定义在snippets.conf:
/usr/share/geany/snippets.conf
~/.config/geany/snippets.conf
snippets.conf是一个可配置的文本文件,你完全可以自定义一些自己常用的片段.
在菜单"工具-配置文件"里可以打开snippets.conf进行编辑.

配色方案下载地址:
http://wiki.geany.org/themes/start
把geany配色方案里的colorschemes和filedefs放到~/.config/geany下重启Geany即可实现安装,
在"查看-更改配色方案"里可以选择自己喜欢的配色,文首配图的配色方案是Bespin.

Geany的主配置文件里面~/.config/geany/geany.conf记录了最近打开的文件:
[files]
recent_files=xxx
可以自己建个clear.sh来清除最近打开的文件:
#!/bin/bash
sed -i '/recent_files=\//c recent_files=' ~/.config/geany/geany.conf

在菜单"工具-插件管理器"里进行插件管理,比如启用"附加组件","文件浏览器","TreeBrowser"和"Pair Tag Highlighter".

有的插件也提供了首选项,可以在里面进行一些配置.比如在菜单"编辑-插件首选项"的" 附加组件 "里
勾选"Mark all occurrences of a word when double-clicking it"
这样你就能像在Notepad++里那样,双击一个词,标记所有相同的词.
你还可以选中词,然后按Ctrl+Shift+M进行标记,再按一次该快捷键则取消标记.

Pair Tag Highlighter 能实现HTML里的单击标签成对高亮.
不过有时候,旧的高亮不能及时清除,这时可以Ctrl+S保存后执行Ctrl+R重载一下文件.
Pair Tag Highlighter的这个问题 已经得到修复 :
64位Linux可以这样安装:
wget http://kononenko.ws/_media/en/blog/2015-03-09/pairtaghighlighter.so
sudo cp pairtaghighlighter.so /usr/lib/x86_64-linux-gnu/geany/

如果你要一个类似IDE的项目管理器,那就启用 TreeBrowser 这个插件吧,
因为我的桌面是Xfce,所以我把TreeBrowser使用的外部文件管理器设为Xfce默认的thunar,即thunar "%d"
由于TreeBrowser默认使用xterm在当前目录打开终端,
用lxterminal替换xterm让Geany调用lxterminal打开终端:
sudo mv /usr/bin/xterm /usr/bin/xterm.backup
sudo ln -s /usr/bin/lxterminal /usr/bin/xterm

另外还有" 导出 "插件,可以把代码文件导出成高亮的HTML文件.
总之,插件还是很多的,这里有一张C开发者使用Geany开发的 截图 .

Geany自带的 标记列表 非常棒,里面列出了当前文件的类/函数/变量/固定值等信息,
显示在左侧,默认按名称排序,也可以选择按出现的顺序排序.

Geany针对PHP文件的编译命令对应php -l "%f"用于检查语法,执行命令对应php "%f"用于运行脚本.
在菜单"生成"里可以进行"编译"(语法检查)或者"执行"操作,这些操作可以进一步配置,比如指定绝对路径PHP.
"编译"操作(语法检查)的信息会在下方信息窗口列出,"执行"操作会在弹出终端中运行程序(比如PHP脚本).
工具栏也提供了按钮,方便操作.你可以在首选项里定制自己的工具栏.

Geany能够自动侦测到文件被修改,并提示用户重载,当然也可以点击工具栏的重载按钮手动重载.
Geany的快捷键还是挺方便的,比如Ctrl+E可以注释和反注释.
Geany对大文件的控制和编辑也不错,编辑个几万行的文件非常轻松,比Win上Notepad++的体验好太多了.
在FileZilla里把Geany设为默认的编辑器,FTP/SFTP远程修改文件也很方便.

补充: 发现Geany内置了一个Project Organizer(GProject)插件,可以智能提示和跳转到项目内所有的函数和变量,不需要手动生成tags,怪不得Geany敢对外宣称自己是轻量级的IDE,还是有点底气的嘛.另外还有一个插件GeanyCtags也不错,跳转功能集成在右键菜单.

关于IDE:
Netbeans 支持HTML/CSS/JavaScript(jQuery/AngularJS)/PHP智能提示和文档提示,丰富的快捷键和宏支持,
界面汉化,支持Xdebug,ZendDebugger调试,支持git,svn,hg版本控制,支持PHPUnit单元测试以及支持ssh加密下的远程项目开发.
Netbeans会动态实时收集项目下所有文件的量,就算你不require文件,Netbeans也会提示哪个文件里有哪个量.
Netbeans作为IDE,Geany作为编辑器,高低搭配,干活不累.

© 著作权归作者所有

共有 人打赏支持
eechen

eechen

粉丝 1005
博文 107
码字总数 55962
作品 1
深圳
私信 提问
加载中

评论(10)

gaga2013
gaga2013
zend studio 感觉更好?哈哈,虽然是收费的
黑传说
黑传说

引用来自“HYUO”的评论

确实不错,可惜Win版的Geany用的不太习惯。Win版的Geany打开大文件的速度不敢恭维了,用Geany打开一个719MB,582万行的Reg注册表文件Geany竟然提示“无法分配1073741824字节以读取文件”而用UEStudio则是秒开,难道大神的Linux版Geany在打开大文件方面性能优秀?1
大文件的读法和普通的应该不一样的,看优化级别,否则直接飙到电脑极限了。
eechen
eechen

引用来自“首席撸破皮”的评论

话说有没有按着 ctrl 点函数/方法 就跳到对应的文件功能?
可以,但有限制。文中有提及,搜索"Ctrl+左键单击"。
金拱门
金拱门
话说有没有按着 ctrl 点函数/方法 就跳到对应的文件功能?
eechen
eechen

引用来自“HYUO”的评论

notepad++本来打开大文件的速度就慢的一13,不比记事本快多少,大神你想证明Geany的性能,怎么能找这种弱130
因为我在Windows上经常用Notepad++,而且Notepad++也是Windows上大量被使用的高级编辑器,就这么简单,大神,你说对吗?
HYUO
HYUO
notepad++本来打开大文件的速度就慢的一13,不比记事本快多少,大神你想证明Geany的性能,怎么能找这种弱130
eechen
eechen

引用来自“HYUO”的评论

确实不错,可惜Win版的Geany用的不太习惯。Win版的Geany打开大文件的速度不敢恭维了,用Geany打开一个719MB,582万行的Reg注册表文件Geany竟然提示“无法分配1073741824字节以读取文件”而用UEStudio则是秒开,难道大神的Linux版Geany在打开大文件方面性能优秀?1
Linux上阅读和分析大文件直接用head/tail/grep/vim/split这些工具即可,你用Geany写一个700多MB的PHP脚本那也算是你的本事了,呵呵。
eechen
eechen

引用来自“HYUO”的评论

确实不错,可惜Win版的Geany用的不太习惯。Win版的Geany打开大文件的速度不敢恭维了,用Geany打开一个719MB,582万行的Reg注册表文件Geany竟然提示“无法分配1073741824字节以读取文件”而用UEStudio则是秒开,难道大神的Linux版Geany在打开大文件方面性能优秀?1
文中写的是几万行,你说的是几百万行,文中是和Notepad++比,你冒出个什么UEStudio,什么眼神?真是呵呵你个大呵呵了。
HYUO
HYUO
确实不错,可惜Win版的Geany用的不太习惯。Win版的Geany打开大文件的速度不敢恭维了,用Geany打开一个719MB,582万行的Reg注册表文件Geany竟然提示“无法分配1073741824字节以读取文件”而用UEStudio则是秒开,难道大神的Linux版Geany在打开大文件方面性能优秀?1
Ubuntu Geany打开文件乱码的解决方法

Geany是Ubuntu下一款很不错的文本编辑工具和开发工具,但美中不足的是使用Geany打开非UTF-8编码的简体中文文件时,一般显示乱码,查看看属性会发现Geany对于中文文件是按照ISO8859-1编码打开...

我是一只鱼
2011/12/06
0
0
Geany - 轻巧快速的IDE和文本编辑器

Geany 简介 Geany 是一款使用 GTK2 编写的、有集成开发环境(IDE)基本特性的文本编辑器。它是开源的,基于 GPL,其目标是提供一个小型快速、依赖软件包较少(只依赖于 GTK2)的集成开发环境...

Chen-Zhiqiang
2014/03/20
0
0
Linux发行版--slitaz

SliTaz是一个超小型的Linux发行版。它在一张不足30MB的LiveCD上,不仅集成了Firefox 3、Mplayer、gFTP、pdf阅读器等众多常用的软件,还包括了Lua解释器、Geany等一些简单的开发工具。目前这个...

匿名
2008/10/31
7.6K
1
小型C代码编辑器 Geany 0.18 发布

Geany 是一个小型的 C 代码编辑器,使用 GTK2 开发的开发环境。包括语法高亮、代码自动完成、调用提示以及支持其他类型语言的文件包括: C, Java, PHP, HTML, DocBook, Perl, LateX, and Bas...

红薯
2009/08/17
924
0
SliTaz GNU/Linux Cooking 20100221

SliTaz是一个超小型的Linux发行版。它在一张不足30MB的LiveCD上,不仅集成了Firefox 3、Mplayer、gFTP、pdf阅读器等众多常用的软件,还包括了Lua解释器、Geany等一些简单的开发工具。目前这个...

红薯
2010/02/22
315
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 —— 看来我只适合当一个千斤顶

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《我想我是伟大的》 《我想我是伟大的》- 九天 手机党少年们想听歌,请使劲儿戳(这里) 最近面试的好多呀, 面试了一个漂...

小小编辑
19分钟前
194
7
grafana安装使用及与zabbix集成

grafana简介 Grafana是一个完全开源的度量分析与可视化平台,可对来自各种各种数据源的数据进行查询、分析、可视化处理以及配置告警。 Grafana支持的数据源: 官方:Graphite,InfluxDB,Ope...

阿dai学长
52分钟前
12
0
带你看数据挖掘与机器学习-厦大EDP上课出勤预测

带你看数据挖掘与机器学习-厦大EDP上课出勤预测 标签: 数据挖掘 特征工程 机器学习 出勤预测 write by xmhexi 2019/3/22 内容提要 首先说明本文是一篇科普文章,通过一个实际案例,帮助理解什...

xmhexi
今天
128
0
IOS  学习记录

1.StackView=>IOS 9及以上支持 2.布局方式: AutoLayout / StackView 堆布局 (线性布局) 3.屏幕适配 (资源分辨率、设计分辨率、屏幕分辨率) Size Class技术 可以针对 屏幕的方向进行设置...

萨x姆
今天
5
0
第四次工业革命:自主经济的崛起

https://36kr.com/p/5170370.html

shengjuntu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部