Gibt es im SciTE die Möglichkeit Zeilen zu sortieren?
Also eine ganz normale Sortierfunktion wie es auch MS Word anbietet.
Gibt es im SciTE die Möglichkeit Zeilen zu sortieren?
Also eine ganz normale Sortierfunktion wie es auch MS Word anbietet.
Was willst du sortieren?
Ein bisschen mehr Informationen wären hilfreich.
Zeilen zu sortieren?
Wie möchtest du vorgehen?
Kann man eine Lua-Funktion für schreiben. Aber welchen Sinn ergibt das?
Die einzige Sortierung, die für mich durchaus nutzbar ist, wäre eine Sortierung erstellter Funktionen in einer UDF. Das könnte ich durchaus mal in Angriff nehmen.
Ich möchte den Inhalt einer Textdatei von A-Z sortieren.
Also
D...
B...
A...
C...
in
A...
B...
C...
D...
Ich habe mal eine Lua-Funktion dafür geschrieben. Vorerst nur zur Ausgabe der Sortierung in die Konsole. Kannst ja überprüfen, ob es passt. Ersetzen im Editor ist dann auch kein Problem. jetzt mit enthalten.
Speichere dir folgendes Skript als z.B. TextSort.lua
--[[
Text-Sortierung
Zeilenweise aufsteigend: tab space # $ % & * + , - . / 0-9 ? @ A-Z _ a-z ~ § µ €
Leerzeilen werden ignoriert
]]
EditorSortLines = function()
local len_line_breake = 2 -- Standard: CRLF=2, Dateien mit nur LF (z.B. *.lua)=1
local breake = '\r\n'
if len_line_breake == 1 then breake = '\n' end
local count = editor.LineCount
local tLines, s_sort, line, len = {}, ''
if count > 0 then
for i=0, count -1 do
line, len = editor:GetLine(i)
if len ~= nil and len > len_line_breake then
if not line:find('[\r\n]$') then
line = line..breake
end
table.insert(tLines, line)
end
end
table.sort(tLines)
for i=1, #tLines do
s_sort = s_sort..tLines[i]
end
editor:SelectAll()
editor:ReplaceSel(s_sort)
scite.MenuCommand(IDM_SAVE)
end
end
EditorSortLines()
Alles anzeigen
In der SciTEUser.properties suchst du dir eine freie Kommandonummer und weist dieser als Aufruf den Speicherpfad des Lua Skriptes zu. Dann noch einen Hotkey vergeben und du kannst es nutzen.
# 37 Text Sortieren **** statt '37' eine freie Nummer von dir verwenden, in allen Befehlen von 'command'
# **** die Pfadangabe entweder mit '\\' oder '/' schreiben, falls Leerzeichen darin, mit " einfassen!
command.37.*.*=dofile PFAD/zur/TextSort.lua
command.name.37.*.*=Sortiere Textdatei
command.mode.37.*.*=subsystem:lua,savebefore:yes
command.shortcut.37.*.*=Ctrl+Alt+H
Viele Wege führen nach Rom^^
Folgende Funktionen würde ich dafür nutzen:
Die nützen dir nichts im Editor.
Das könntest du auf Dateiebene machen, aber für eine im Editor geöffnete Datei ist es nicht sinnvoll.
Ok, ggf habe ich das "Gibt es im SciTE die Möglichkeit Zeilen zu sortieren?" anders interpretiert aber denke du hast Recht.
Wobei ich selber wohl einfach nicht auf die Idee kommen würde diesen als "normalen" Text-Editor zu nutzen.
Diese SciTEUser.properties sollte die schon existieren? Weil bei mir gibt es die nicht.
Was bedeutet "freie Kommandonummer" ?
Kenn mich da nicht so aus.
Diese SciTEUser.properties sollte die schon existieren? Weil bei mir gibt es die nicht.
SciTE-Menüleiste:
<Optionen> <Benutzereinstellungen Öffnen>
oder englisch:
<Options> <Open User Options File>
Wenn du sie zum ersten mal öffnest, ist sie noch leer.
Was bedeutet "freie Kommandonummer" ?
Wenn du bisher keine Modifizierungen vorgenommen hast, kannst du frei verwenden von 36 bis 49.
command.37.*.*=....
Diese Zahl austauschen.