我正在使用 gedit 和一种奇怪的字体,有时候线条会互相覆盖。我可以更改线条之间的间距吗?
答案1
外部工具插件可以帮助改变行距。
具体来说,它通过帮助您在工作文件上运行脚本,并允许 gedit 与计算机上的其他程序交互来扩展 gedit。
要启用外部工具插件,请选择:
Gedit ----首选项----插件----外部工具。
一旦启用了插件,您将需要对其进行配置以满足您的需要。
可以通过选择以下配置选项来获得:
工具----管理外部工具。
需要脚本知识才能有效使用。
将出现一个对话框,您可以开始添加工具。
要运行工具,请转到:
工具 ---- 外部工具或使用(如果适用)相关的快捷键。
工具的存储和手动编辑:/usr/share/gedit/plugins/externaltools/tools。
Gedit 的 LineSpacing 插件示例如下:
http://natural966.wordpress.com/2012/08/19/my-linespacing-plugin-for-gedit-3/
由两个文件组成:
行距.插件:
[Plugin]
Loader=python
Module=linespacing
IAge=3
Name=Line-spacing
Description=Increase or decrease space between lines
Authors=
Copyright=
Website=
行距.py:
from gi.repository import GObject, Gtk, Gedit
UI_XML = """<ui>
<menubar name="MenuBar">
<menu name="ToolsMenu" action="Tools">
<placeholder name="ToolsOps_3">
<menuitem name="LineSpacingAction0" action="LineSpacingAction0"/>
<menuitem name="LineSpacingAction1" action="LineSpacingAction1"/>
<menuitem name="LineSpacingAction2" action="LineSpacingAction2"/>
</placeholder>
</menu>
</menubar>
</ui>"""
class LineSpacing(GObject.Object, Gedit.WindowActivatable):
__gtype_name__ = "LineSpacing"
window = GObject.property(type=Gedit.Window)
def __init__(self):
GObject.Object.__init__(self)
def _add_ui(self):
manager = self.window.get_ui_manager()
self._actions = Gtk.ActionGroup("LineSpacingActions")
self._actions.add_actions([
('LineSpacingAction0', Gtk.STOCK_INFO, "Reset Line spacing",
"<Control><Alt>0", "Reset Line spacing",
self.on_linespacing_action_activate0),
('LineSpacingAction1', Gtk.STOCK_INFO, "Decrease Line spacing",
"<Control><Alt>8", "Decrease Line spacing",
self.on_linespacing_action_activate1),
('LineSpacingAction2', Gtk.STOCK_INFO, "Increase Line spacing",
"<Control><Alt>9", "Increase Line spacing",
self.on_linespacing_action_activate2),
])
manager.insert_action_group(self._actions)
self._ui_merge_id = manager.add_ui_from_string(UI_XML)
manager.ensure_update()
def do_activate(self):
self._add_ui()
def do_deactivate(self):
self._remove_ui()
def do_update_state(self):
pass
def on_linespacing_action_activate0(self, action, data=None):
view = self.window.get_active_view()
if view:
view.set_pixels_below_lines(0)
view.set_pixels_inside_wrap(0)
def on_linespacing_action_activate1(self, action, data=None):
view = self.window.get_active_view()
if view:
if view.get_pixels_below_lines() >= 0:
view.set_pixels_below_lines(view.get_pixels_below_lines() - 1)
if view.get_pixels_inside_wrap() >= 0:
view.set_pixels_inside_wrap(view.get_pixels_inside_wrap() - 1)
def on_linespacing_action_activate2(self, action, data=None):
view = self.window.get_active_view()
if view:
view.set_pixels_below_lines(view.get_pixels_below_lines() + 1)
view.set_pixels_inside_wrap(view.get_pixels_inside_wrap() + 1)
def _remove_ui(self):
manager = self.window.get_ui_manager()
manager.remove_ui(self._ui_merge_id)
manager.remove_action_group(self._actions)
manager.ensure_update()
资料来源:
http://natural966.wordpress.com/2012/08/19/my-linespacing-plugin-for-gedit-3/
http://www.micahcarrick.com/writing-plugins-for-gedit-3-in-python.html
https://wiki.gnome.org/Projects/Vala/Gedit3PluginSample
答案2
我为 gedit 3 制作了一个行距小插件
下载“linespaces.plugin”和“linespaces.py”,并将它们移动到“~/.local/share/gedit/plugins/”
在“linespaces.py”中设置“像素”
运行gedit
转到首选项->插件->选择行距