Gedit是一款运行在GNOME桌面环境下兼容UTF-8的文本编辑器。它使用GTK+编写而成,因此它十分的简单易用,有良好的语法高亮,对中文支持很好,支持包括gb2312、gbk在内的多种字符编码。那么这时候肯定会有人问“Gedit是做什么用的?”Gedit是Linux下的一个纯文本编辑器,但你也可以把它用来当成是一个集成开发环境 (IDE), 它会根据不同的语言高亮显现关键字和标识符。gedit包含语法高亮和标签编辑多个文件的功能。利用GNOME VFS库,它还可以编辑远程文件。它支持完整的恢复和重做系统以及查找和替换,它还支持包括多语言拼写检查和一个灵活的插件系统,可以动态地添加新特性。例如snippets和外部程序的整合。此外,gedit还包括一些小特性,包括行号显示,括号匹配,文本自动换行,当前行高亮以及自动文件备份。
Gedit配置教程
一、基础配置
1.首先打开gedit,编辑->首选项,在查看、编辑器、字体和颜色这三个选项卡里选择自己喜欢的配置。比如缩进,代码高亮等
2.然后在插件选项卡里选择自己所需的插件,许多非默认的gedit插件也有内置。如果没有可以试试用下面的命令来安装/更新gedit的插件:
sudo apt-get install gedit-plugins
3.可选以下插件:插入日期/时间、代码注释、单词补全、绘制空白、嵌入终端、括号补全、片段、拼写检查器、外部工具、文本大小、文档统计、文件浏览器面板。这些插件都是我目前有能力驾驭的,其他一些高级的插件等我以后长大了再加吧。
片段(快速插入常用的文本片段):
选择工具->Manage Snippet,可以对其进行管理,例如加入常用模板,以便加快coding速度
二、嵌入终端(在底部面板中嵌入一个终端)
1.默认快捷键是Ctrl+F9,也可以选择通过查看->底部面板把它调出来,这时候你会发现字体和背景很糟糕,请打开终端并输入以下命令:
dconf-editor
2.选择org->gnome->gedit->plugins->terminal,在右边的面板中将"use-theme-colors"取消即可
三、外部工具(执行外部命令和shell脚本)
1.选择工具->Manage External Tools,对其进行管理
2.如果无法通过快捷键对程序进行编译运行,那以上的所有操作都是白费(如果你想每次都打开终端输入命令我也不反对),这个插件提供了很好的接口
四、编译(以C/C++和Java为例)
1.添加新工具,在右边的编辑栏中输入代码
2.编译选项的命令可以自己选择,设置成自己习惯的,以上编译选项部分参考了ACM/ICPC的编译选项。然后设置自己习惯的快捷键,调整选项
五、运行(以C/C++和Java为例)
添加新工具,在右边的编辑栏中输入代码
Gedit文本编辑器使用教程
一、启动
1.从菜单启动:应用程序——>附件——>文本编辑器
2.从命令行执行以下命令:gedit
二、窗口说明
1.菜单栏:包含您在 gedit 中处理文件所需的所有命令
2.工具栏:包含您可以从菜单栏访问的命令的子集
3.显示区域:该区域包含您正在编辑的文件的文本
4.输出窗口:显示 Shell 命令插件和比较文件插件返回的输出
5.状态栏:显示关于当前 gedit 活动的信息和关于菜单项的上下文信息
三、操作技巧
1.打开多个文件
要从命令行打开多个文件,请键入下面的命令,然后按下回车键:gedit file1.txt file2.txt file3.txt
2.将命令输出输送到文件中
要将ls命令的输出输送到一个文本文件中,请键入ls|gedit,然后按下回车键。ls命令的输出就会显示在gedit窗口的一个新文件中
3.更改突出显示模式以适用文件编写
查看—突出显示模式—标记语言—HTML即可以彩色模式查看html文件
4.善用插件
A)文档统计信息:计算当前文件中的行数、单词数、字符数及字节数。该插件将结果显示在一个“文档统计信息”对话框中。
B)缩进行:对选定的行进行缩进,或从选定的行删除缩进
C)插入日期/时间:在文件中插入当前日期和时间
D)Shell:命令在输出窗口中显示 shell 命令的文本输出
E)排序:对选定的文本进行排序
5.打开和修改需要取得root权限的文件
一些linux没有开放root账户,可以在终端下操作使它打开和修改需要取得root权限的文件
输入 sudo gedit (想要打开的文件的位置和文件名)在回车就可以打开并修改它了
例如:
sudo gedit /etc/mke2fs.conf
Gedit功能特色
1、gedit包含语法高亮和标签编辑多个文件的功能。利用GNOME VFS库,它还可以编辑远程文件。它支持完整的恢复和重做系统以及查找和替换。
2、gedit还支持包括多语言拼写检查和一个灵活的插件系统,可以动态地添加新特性。例如snippets和外部程序的整合。
3、gedit还包括一些小特性,包括行号显示,括号匹配,文本自动换行,当前行高亮以及自动文件备份。
Gedit快捷键
CTRL-Z:撤销
CTRL-C:复制
CTRL-V:粘贴
CTRL-T:缩进
CTRL-Q:退出
CTRL-S:保存
CTRL—R:替换
CTRL+Tab 切换
CTRL+W 关闭选项卡
Gedit命令
一、输入模式->命令模式:Esc
二、命令模式->末行模式:按下"shift+:"
三、末行模式->命令模式:ESc
四、命令模式下常用的命令:
1.删除字符的方法
x删除光标当前位置处的1个字符
[n]x 删除从当前光标所在位开始处的n个字符
2.删除行的方法
dd 同1)处解释
[n]dd
3.撤销
u
4.拷贝复制
[n]yy 将光标所在行下的n行(n包括自己)拷贝
p 将拷贝的内容粘贴到光标所在行的下面
5.行内快速跳转方法
HOME 行首
END 行尾
shift+^ 行首
shift+$ 行尾
6.行间的快速跳转
shift+g 最后一行
[n]shfit+g 第n行
[1]shfit+g 第1行
PageUP 向前翻1版
PageDown 向后翻1版
gg 第1行
[n]gg 第n行
7.查找
/keyword n后一个 N前一个
?keyword n前一个 N后一个
五、末行模式下常用的命令
1):set number|nu 显示行号 :set nonumber|nonu 取消行号
2):w 保存
3):w filename 保存到文件filename
4):wq 保存并退出
5):q! 强制退出,不保存
6):wq! 强制保存并退出,用于对没有权限的文件提取权限
7):1,100w file2 将1-100行保存到文件file2
8):r /etc/passwd 从/etc/passwd读取内容,插入到当前光标所在行的下一行
9):%s/this/that 将每一行的第一个this替换成that
10):%s/this/that/g 将每行的所有this替换成that
11):!command [option]
gedit常见问题解答
一、 sudo gedit /boot/grub/grub.cfg
(gedit:5943): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel', but failed: 创建文件“/root/.local/share/recently-used.xbel.FVTZ9V”失败:没有那个文件或目录
(gedit:5943): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel', but failed: 没有那个文件或目录
1.原因
由于ubuntu默认不启用root账户,所以root就从来没登录过,所以就没有/root/.local/share/目录在ubuntu 11.04中运行所以会出错,只要建立这个目录就解决了
2.解决方法
sudo mkdir -p /root/.local/share/
二、sudo gedit
出现以下错误:
No protocol specified
(gedit:3062): Gtk-WARNING **: cannot open display: :0.0
1.原因
当使用su 到另外一个用户运行某个程序,而这个程序又要有图形显示的时候,就有可能有下面提示:
Invalid MIT-MAGIC-COOKIE-1 key
(:3825): Gtk-WARNING **: cannot open display: :0.0
这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应以当前登陆的用户, 也就是切换身份前的用户执行如下命令
2.解决方法
执行:sudo xhost +
三、运行gedit,普通用户下不会出错,但在su到root下会出现如下错误:
(gedit:6556): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
GLib-GIO:ERROR:/build/buildd/glib2.0-2.26.0/gio/gdbusconnection.c:2270:initable_init: assertion failed: (connection->initialization_error == NULL)
1.原因
su与su -命令的差别:
su 只能切换到管理员用户权限,不使用管理员的登陆脚本和搜索路径
su - 不但能切换到管理员权限而且使用管理员登陆脚本和搜索路径
2.解决方法
注意区分su和su-