我最近潜入了LaTeX,首先是在像Lix这样的WYSIWYM编辑器的帮助下。现在我正在盯着在Sci-TE中编写tex文件,它已经有语法高亮,我调整了tex.properties文件在Windows上工作,在Go上显示预览[F5]
Lyx做的一件好事,并且用常见的文本编辑器很难实现,就是将文本格式化为80列:我可以写一个段落并在每次到达边缘列时点击Return但是如果在第一列之后草稿,我想在这里和那里添加或删除一些单词,最后打破布局并重新排列换行符。
在Sci-TE中使用工具会很有用,这样我就可以选择我添加或删除了一些单词的文本段,并将其重新排列在80列中。可能不会对整个文档起作用,因为它可能会打破一些预期的预期换行符。
也许我可以轻松地为geany编写一个Python插件,我看到vim有类似的东西,但我想知道它是否也可以在Sci-TE中使用。
答案 0 :(得分:4)
function wrap_text()
local border = 80
local t = {}
local pos = editor.SelectionStart
local sel = editor:GetSelText()
if #sel == 0 then return end
local para = {}
local function helper(line) table.insert(para, line) return "" end
helper((sel:gsub("(.-)\r?\n", helper)))
for k, v in pairs(para) do
line = ""
for token in string.gmatch(v, "[^%s]+") do
if string.len(token .. line) >= border then
t[#t + 1] = line
line = token .. " "
else
line = line .. token .. " "
end
end
t[#t + 1] = line:gsub("%s$", "")
end
editor:ReplaceSel(table.concat(t, "\n"))
editor:GotoPos(pos)
end
用法就像启动脚本中的任何其他功能一样,但是为了完整性,我将从SciTE属性文件中粘贴我的工具定义:
command.name.8.*=Wrap Text
command.mode.8.*=subsystem:lua,savebefore:no,groupundo
command.8.*=wrap_text
command.replace.selection.8.*=2
它确实尊重段落,因此它可以用于更广泛的选择,而不仅仅是一个段落。
答案 1 :(得分:2)
这是scite中的一种方法:首先,将其添加到.SciTEUser.properties
(选项/打开用户选项文件):
# Column guide, indicates long lines (https://wiki.archlinux.org/index.php/SciTE)
# this is what they call "margin line" in gedit (at right),
# in scite, "margin" is the area on left for line numbers
edge.mode=1
edge.column=80
...并保存,因此您可以看到一个80个字符的行。
然后缩放scite
窗口,以便您看到的文本被包裹在该行中。
最后,选择要分成行的长行文本,然后执行编辑/段落/拆分(对我来说,快捷键Ctrl-K也适用于此)。
不幸的是,不再了,现在有一个插件 - 请参阅this answer scite
似乎没有“像你一样的断行”设施,就像geany
中的“换行”设施一样。
答案 2 :(得分:1)
同样但更容易,我认为...
将其放在用户属性中:
command.name.0.*=swrap
command.0.*=fold -s $(FileNameExt) > /tmp/scite_temp ; cat /tmp/scite_temp >$(FileNameExt)
command.is.filter.0.*=1
侨 彼得
答案 3 :(得分:1)
嗯,我对there seems to be no "break-lines-as-you-type" facility in scite
感到非常失望;我终于设法为它编写了一个小的Lua插件/附加组件/扩展,然后在这里发布:
安装和使用说明在脚本本身中。以下是SciTE在正确安装扩展时的外观,以及启动后激活的切换:
请注意,它与geany
中的功能几乎相同 - 它在键入文本时插入换行符 - 但不是在按退格键时,也不是在复制/粘贴时。