如何把Ubuntu的Gedit改成简单的IDE
如今学信息竞赛的OIer越来越多了,绝大部分人在NOIP竞赛中依然使用 终端[1] 编译和调试程序。实际上我们可以利用考前试机的30分钟时间,将Gedit编辑器以设置快捷键的方式,简单地设置成一个具有编译、运行、打开输出的IDE。
当然Code::Blocks也不错。
先推荐一波我的设置
打开 Ubuntu 系统后,有3种打开 Gedit 的方法。
- 按 Ctrl+Alt+T 进入终端,输入
gedit打开文本编辑器。 - 直接从左下角的 Show Applications 打开 Text Editor 文本编辑器。
- 在已有的文本文件上单击右键,点击 Open With Other Applications 选择 Text Editor 打开。
然后点击 **Preferences**(首选项)。我的设置是: - 第1页 **View**(查看):除了第4个 **Display grid pattern** 以外,全选。
- 第2页 Editor(编辑器):Tab Width(Tab键宽度)设为 4 ,除第1个 Insert spaces instead of tabs 以外,全选。
- 第3页 Font & Colors(字体和颜色):字体选择 Ubuntu Mono Regular(这样 Il10O 什么的终于能分清了!),大小为 20(默认也太小了叭)。然后颜色我选的是 Cobalt 。
把 Gedit 改成一个简单的IDE
注意:文档名为“ ***.cpp ”时,gedit 才会以C++的语法显示代码文本。
开启插件和快捷键
- 在刚才的 Preferences(首选项)中,点击第4页 Plugins(插件),勾选 External Tools(扩展工具)。(执行外部命令和 Shell[2] 脚本)
- 返回到编辑界面,发现在 Preferences(首选项)下方多了一项 Manage External Tools(管理扩展工具),点开它。
- 点左下角的 + 新建一个快捷键,命名为 "Compile"(编译),回车保存。
- 点击右边的 Shortcut Key(快捷键)编辑框(Type a new accelerator),按下 F2 即设置 F2 为此选项启动的快捷键。
设置编译命令
在上边的编辑框中,已经默认打好了一行代码 #!/bin/sh 这是告诉系统以 Shell 命令的方式执行此文本。
- 我们先输入
cd $GEDIT_CURRENT_DOCUMENT_DIR,进入到编辑器的工作目录(这段代码不需要记住,可以从左侧栏中的 Build 命令中复制过来)。注意:一句代码一行。 - 接下来输入编译命令:
g++ $GEDIT_CURRENT_DOCUMENT_NAME -o unnamed -Wall -g,将当前代码编译成程序。
这里解释一下:
- $GEDIT_CURRENT_DOCUMENT_DIR:代表当前你文档所在的工作目录。
- g++:C++程序的编译器。
- $GEDIT_CURRENT_DOCUMENT_NAME:就是上面那一串把DIR改成了NAME,代表你当前编辑的文档。
- -o:g++ 编译命令。
- unnamed:编译后的可执行文件名,可以改成其它不带空格的名字。
- -Wall:开启所有错误提示和警告,
-wall是只开启所有错误提示,后边会提到将错误信息输出到编辑器下方面板中。 - -g:将调试信息写入程序,不常用gdb调试可以不加。
OK,我们继续:
- 将 Save(保存)设为 Current document(当前文档),把修改过的代码保存到文件中,这样g++才能读取到你的代码。
- 将 Output(输出)设置为 Display in bottom pane(在下方面板中显示),这样我们可以在gedit的最下方看到程序编译的错误信息。
- 完成后直接关闭就行,大概是这个样子的:
![]()
代码在这里,也可以复制上去:
#!/bin/sh
cd $GEDIT_CURRENT_DOCUMENT_DIR
g++ $GEDIT_CURRENT_DOCUMENT_NAME -o unnamed -Wall -g
都完成后,我们在当前编辑的代码上按 F2 ,下方面板中就会显示编译信息,点击错误信息左侧的行号可以直接跳转到错误点 。


设置运行程序命令
按照刚才的方法,先新建一个名为 "Run"(运行)的快捷键,把右边 Sortcut key 设置为 F3 ,Output 改为 Display in bottom pane ,然后开始敲代码:
在 #!/bin/sh 下面,输入
cd $GEDIT_CURRENT_DOCUMENT_DIR
time ./unnamed
第一句不解释了。
第二句 time 是计时命令,./ 在这里表示作为程序打开,unnamed 是你的程序名,或者你刚起的程序名。这样可以将你的程序的运行时间、CPU占用情况等输出到下方面板。
设置打开输出命令
首先,你的程序得有输出。
其次,你输出的文件名后缀得是 .out 。
还是,先新建一个名为 Open(打开)的脚本,把 Sortcut key 设置为 F4 ,Output 改为 Display in bottom pane 。
直接上代码:
#!/bin/sh
killall unnamed
gedit ./*.out
解释:
- 如果要求输出为“ ***.ans ”,那就把代码里的 out 改成 ans 。
- killall:强行停止所有名为 unnamed 的程序,也就是你写的程序。Ubuntu 系统不会询问你是否强行停止某些死循环的程序。或者也可以用 System Monitor 手动结束。
- ./.out:这里需要你的程序中的
freopen()读写重定向语句中,你所写的输出位置为 "文件名.out" 。“ ./ ” 表示打开,".out" 表示任意一个后缀名为 .out 的文件。
Ubuntu 中其实没有后缀名的概念。
测试
在上述步骤中我们已经看到了编译的效果,接下来测试一下运行和输出:
- 按 F3 运行程序,可以看到下方显示的运行时间等,并且桌面上出现程序输出文件。

- 按 F4 结束程序并打开程序的输出文件。

- 更改输入文件后,程序运行结果不同,后续运行完打开程序输出时,.out 文件已更改,需要点击 Reload 重新载入。
到这里,一个方便快捷的IDE就完成了。
注:有些电脑按 F2、F3、F4 按键时需要同时按住 Fn 键。
最后提一下 Shell 命令
比如,在桌面上新建一个名为 "name.sh" 的空白文档( sh 是 Shell命令脚本 的文件后缀名),在里边先写: #!/bin/sh,然后写一些 Shell 代码, 注意一句一行。
打开终端,先用 cd 命令进入到桌面,输入 sh ./name.sh 后回车,即以 Shell 命令 的方式运行此文件。
注意: $GEDIT_CURRENT_DOCUMENT_DIR 等类似的全局变量仅在gedit中有效。


浙公网安备 33010602011771号