Linux_Geany使用指南

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作为编辑器,高低搭配,干活不累.

本文出自 “Mr_Computer” 博客,请务必保留此出处http://caochun.blog.51cto.com/4497308/1658923

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。