如何把Ubuntu的Gedit改成简单的IDE

如今学信息竞赛的OIer越来越多了,绝大部分人在NOIP竞赛中依然使用 终端[1] 编译和调试程序。实际上我们可以利用考前试机的30分钟时间,将Gedit编辑器以设置快捷键的方式,简单地设置成一个具有编译、运行、打开输出的IDE。
当然Code::Blocks也不错。


先推荐一波我的设置

打开 Ubuntu 系统后,有3种打开 Gedit 的方法。

  1. Ctrl+Alt+T 进入终端,输入 gedit 打开文本编辑器。
  2. 直接从左下角的 Show Applications 打开 Text Editor 文本编辑器。
  3. 在已有的文本文件上单击右键,点击 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++的语法显示代码文本。

开启插件和快捷键

  1. 在刚才的 Preferences(首选项)中,点击第4页 Plugins(插件),勾选 External Tools(扩展工具)。(执行外部命令和 Shell[2] 脚本)
  2. 返回到编辑界面,发现在 Preferences(首选项)下方多了一项 Manage External Tools(管理扩展工具),点开它。
  3. 点左下角的 + 新建一个快捷键,命名为 "Compile"(编译),回车保存。
  4. 点击右边的 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,将当前代码编译成程序。

这里解释一下:

  1. $GEDIT_CURRENT_DOCUMENT_DIR:代表当前你文档所在的工作目录。
  2. g++:C++程序的编译器。
  3. $GEDIT_CURRENT_DOCUMENT_NAME:就是上面那一串把DIR改成了NAME,代表你当前编辑的文档。
  4. -o:g++ 编译命令。
  5. unnamed:编译后的可执行文件名,可以改成其它不带空格的名字。
  6. -Wall:开启所有错误提示和警告,-wall 是只开启所有错误提示,后边会提到将错误信息输出到编辑器下方面板中。
  7. -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 设置为 F3Output 改为 Display in bottom pane ,然后开始敲代码:

#!/bin/sh 下面,输入

cd $GEDIT_CURRENT_DOCUMENT_DIR
time ./unnamed

第一句不解释了。
第二句 time 是计时命令,./ 在这里表示作为程序打开,unnamed 是你的程序名,或者你刚起的程序名。这样可以将你的程序的运行时间、CPU占用情况等输出到下方面板。


设置打开输出命令

首先,你的程序得有输出。
其次,你输出的文件名后缀得是 .out

还是,先新建一个名为 Open(打开)的脚本,把 Sortcut key 设置为 F4Output 改为 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就完成了。

注:有些电脑按 F2F3F4 按键时需要同时按住 Fn 键。


最后提一下 Shell 命令

比如,在桌面上新建一个名为 "name.sh" 的空白文档( sh 是 Shell命令脚本 的文件后缀名),在里边先写: #!/bin/sh,然后写一些 Shell 代码, 注意一句一行。

打开终端,先用 cd 命令进入到桌面,输入 sh ./name.sh 后回车,即以 Shell 命令 的方式运行此文件。

注意: $GEDIT_CURRENT_DOCUMENT_DIR 等类似的全局变量仅在gedit中有效。


  1. Linux 终端:基于 Linux 的 Ubuntu 系统中类似 Windows 命令提示符的程序。Ubuntu 20.04.1 是NOIP官方要求的系统。 ↩︎

  2. Shell 命令:Linux 终端中使用的命令就是 Shell 命令。 ↩︎

posted @ 2021-08-28 18:05  听海云烟  阅读(24)  评论(0)    收藏  举报