test Blog
Happy living

gEdit: 打造简洁,小巧的编程环境

老鼠 posted @ 2009年4月17日 04:53 in linux with tags 插件 gedit , 9689 阅读

使用gEdit搭配terminal来写程序也有一段时间了,但一直当它是windows下的notepad,没有好好熟悉下它,今天无意中发现原来gEdit也可以打造一个不错的编程环境。这里对相关的资料收集总结了一下,与大家共享。
gEdit是GNOME桌面环境中默认的文本编辑器,它简单易用,对中文支持良好,支持多种字符编码,同时具有开放的插件支持特性。通过安装插件,作一些简单的设置,gEdit就可以做为一个简洁的编程环境。在我的ubuntu 8.04下,默认情况只安装了gedit包,还有以下几个插件:
 

代码:
   Change case: Changes the case of selected text.
   Document Statistics: Analyses the current document and reports the number of words, lines, characters and non-space characters in it.
   External tools: Execute external commands and shell scripts. (More)
   File Browser: A file browser plugin allowing to easily access your filesystem (includes remote mounts, creating new files/dirs, monitor dirs for changes, etc) (More)
   Indent: Indents or un-indents selected lines.
   Modelines: Emacs, Kate and Vim-style modelines support for gedit.
   Python console: Interactive python console standing in the bottom panel.
   Snippets: Insert often used pieces of text in a fast way. (More)
   Sort: Sorts a document or selected text.
   Spell: Checks the spelling of the current document.
   Tag list: Provides a method to easily insert into a document commonly used tags/strings without having to type them.
   Insert Date/Time: Inserts current date and time at the cursor position.


就编程而言,我觉得比较有用的有External tools(外部工具),通过它在菜单上集成shell命令来编译运行程序(由于不是交互性的shell,所以不便用于debug);File Browser(文件浏览器),提供一个多文件(工程)的视图,还有可以编辑远程文件,虽然后者我很少用到;Snippets(片断),提供一种代码模板以快速输入,如我在snippets->C++下定义了如下for循环:
 

代码:
      for( $1 ; $2 ; ${3:++ix} )
      {
         $4
      }
      $0


并且其Tab触发器设置为forlp+tab(表示输入forlp,然后按下tab键)。之后在代码中每当我要输入for循环,在C++的源文件中,只需输入forlp,然后按下tab键,forlp+tab就会自动扩展成上面的for循环,光标会处于$1处,此时可以直接输入for的初始条件,然后按一下tab,光标会跳到$2处,再按tab,跳到$3处,如此类推。$3处设置了默认值++ix,如果直接按tab跳过,就为默认值++ix,如果输入ix++之后再按tab跳到$4,默认值就会被ix++覆盖。$0为此模块最后跳转到的位置。
此外Tag list对编写网页等多tag源文件比较有用,Indent方便我们对代码进行缩进与取消缩进。默认安装好系统后,gedit能通过后缀正确识别到不同语言的源代码,其语法高亮也做得比较好。但是要作为一个编程环境还有很多不方便的地方,此时就要安装另外一些插件来完善其功能了,首先我们安装软件源中gedit的plugin集,terminal下输入:
 

代码:
      $ sudo apt-get install gedit-plugins


安装gedit-plugins。其中包括
 

代码:
     * Smart Spaces: Forget you're not using tabulations.   <=== 智能空格
     * Embedded Terminal: Embed a terminal in the bottom pane.   <=== 内嵌的terminal,应该是最有用的一个插件了,有了它,我们就可以不用上面External tools来编译调试程序啦,而且也不用心烦在gedit与terminal之间来回切换了,不足之处是貌似只能有一个terminal,有时不够方便。
     * Show/Hide Tabbar: Add a menu entry to show/hide the tabbar.     <=== 显示/隐藏标签栏
     * Join/Split Lines: Join several lines or split long ones         <=== 合并/分割行
     * Color Picker: Pick a color from a dialog and insert its hexadecimal representation.  <=== 拾色器
     * Draw Spaces: Draw Spaces and Tabs           <=== 特别显示空格与制表符
     * Session Saver: Save and restore your working sessions    <=== 会话保存  不过貌似不怎么管用哦,>3<
     * Code comment: Comment out or uncomment a selected block of code.   <=== 注释代码,这下要注释大片代码就方便了
     * Bracket Completion: Automatically adds closing brackets.     <=== 自动的括号补全
     * Character Map: Insert special characters just by clicking on them.  <=== 对特殊字符集映射,暂时对我而言没什么用


安装好后将觉得有用的插件启用,不用的插件禁用掉。比起notepad已经好用了很多,但是还不够,要让gEdit变得更方便,登录gEdit的插件网站http://live.gnome.org/Gedit/Plugins ,选择你需要的插件啦。这里写下个人觉得写代码比较有用的几个插件,仅供参考:
1.Class Browser:显示代码中类,函数,宏等的大纲,类似于VC或eclipse的类视图,支持多种语言,但这个插件相对简单,另一个Symbol Browser貌似更强大,不过暂时我找不到下载。
2.单词自动补全,有多个word completion的小插件,功能大同小异,都支持自动补全前文或所有打开的文件标签中已经出现过的单词,类似于visual assist或eclipse的自动补全功能,不足在于暂时不支持根据不同语言提供不同的关键字自动补全
3.Full screen: 在打开文件的情况下将gEdit全屏,偶尔会用下。
4.Open terminal here: 在当前文件夹下打开新terminal,有了Embedded Terminal这个插件比较鸡肋了
5.session autosave: 记录上次退出gEdit时打开的文件,下次打开时重新打开这些文件,由于止面的Session Saver好像不能用,所以装了这个。打开多个相关文件时比较有用,退出后下次就不用一个个文件手动打开啦
6.Code Formatter:自动格式化
7.snap open: 输入文件名(支持正则表达式)查找并打开文件
8.vigedit: 支持vi快捷键
9.Tabs Extend: 扩展的标签功能支持
gEdit的插件多用python来写,我们可以根据自己的偏好来修改编写,gEdit的插件网站上也有很多的插件,可以根据自己的需要酌情安装。这些插件都放在~/.gnome2/gedit/plugins/目录下,如果没有此目录则创建一个,下载的插件可以直接放到此目录下。
很多人可能习惯去改变编辑器的配色(代码高亮,像定制vim或Emacs时常常做的那样),使经常面对着电脑写代码的眼睛没那么累,在gEdit的菜单 [编辑]->[首选项]->[字体和颜色] 中,只有4种配色可选,此外通过GUI并不能具体定制配色。要DIY配色的话,我们可以从网上下载载配置文件,添加配色,或自己重新写一个。下面提供两个配色文件下载网站:
1. http://github.com/mig/gedit-themes/tree/master
2. http://live.gnome.org/GtkSourceView/StyleSchemes
gEdit使用的是gtksourceview,我们将后缀为.xml的文件下载并放入
1. /usr/share/gtksourceview-2.0/styles <==== 所有用户均可用
or 2. ~/.gnome2/gedit/styles <==== 只有你自己可用
重启一次gedit,就可以在[编辑]->[首选项]->[字体和颜色]选择喜欢的配色,也可以修改配色文件来DIY自己的Style.再定义一种好看的字体,对行号,备份时间等简单设置一下,整个编辑环境就相当个性,舒服啦。
虽然比不上vim,emacs的灵活,也比不上IDE的强大,但Gedit也是不错的一种工具。即使搭配了众多的插件,gEdit还是相当轻量的编辑器,如你像我一样,用不习惯vim或Emacs,又不喜欢那些慢悠悠的IDE,那就试下系统默认安装的Gedit吧

 

参考:

1. 把Gedit打造為Linux下的Textmate
http://www.ubuntu-tw.org/modules/newbb/ ... t_id=39747
2. 磨快linux下免费的小刀-gedit
http://ror-party.group.javaeye.com/group/blog/195702
3. 13 Gedit Plugins to Make It a More Useful Text Editor
http://www.makeuseof.com/tag/top-plugin ... 【T×O×R】-linux/
4. 让linux下的gedit媲美textmate
http://www.agatezone.cn/code/archives/62
5. Pimp my Gedit (Was: Textmate for Linux)
http://grigio.org/pimp_my_gedit_was_textmate_linux

友情链接:

ljcs - gedit的c++提示插件
https://forum.ubuntu.org.cn/viewtopic.p ... 12&start=0
 

mon activité 说:
2023年7月13日 19:46

Google Mon activité pour supprimer une grande partie ou la totalité de son historique de recherche. Supprimer ou effacer votre historique et votre activité de recherche. mon activité Google supprimera uniquement les éléments entrés dans les produits Google tels que l’historique de localisation de la chronologie Google Maps, les photos, l’activité de recherche et de surveillance YouTube, etc.

Assam 7th Class Syl 说:
2023年7月14日 16:31

Assam 7th Class Syllabus 2024 will help Students to Prepare for pass Marks in All Exams the All Subjects, Assam Students to get a Clear idea of the Topics and Subtopics and According to it they can Decide on which topic to Focus more, Assam 7th Exam Conducted Every Year Month of March and April Months, This 7th Date Sheet 2024 Available at Official Website.as it helps Students to Plan their Preparations Assam 7th Class Syllabus 2024 Accordingly to Meet their Expectations, we Provide Students with All the Necessary Support and Allow them to Prove their Talent by performing best in their examination, The Students skill Profile Should move From being Predominantly Receptive to Productive.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter