eany 是一个轻快的高级文本编辑器,仅仅依赖几个其他的软件包。Geany 仅使用 GTK2 工具包,因此您只需要 GTK2 运行库即可运行。
Ubuntu用户通过添加PPA源安装最新版Geany:
sudo add-apt-repository ppa:geany-dev/ppa
sudo apt-get update
sudo apt-get install geany geany-plugins lxterminal
因为Geany不支持Gnome3和KDE的终端,所以需要安装一个lxterminal作为Geany内置的终端.
在菜单"编辑-首选项-虚拟终端"里可以设置终端的字体,前景色,背景色等.
编辑器字体和终端字体我都使用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重载一下文件.
如果你要一个类似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远程修改文件也很方便.
关于IDE:
Netbeans 完美支持HTML/CSS/JavaScript(jQuery/AngularJS)/PHP智能提示和文档提示,丰富的快捷键和宏支持,
界面汉化,支持Xdebug,ZendDebugger调试,支持git,svn,hg版本控制,支持PHPUnit单元测试以及支持ssh加密下的远程项目开发.
Netbeans会动态实时收集项目下所有文件的量,就算你不require文件,Netbeans也会提示哪个文件里有哪个量.
Netbeans作为IDE,Geany作为编辑器,高低搭配,干活不累.