SciTE is a really great and versatile source editor. Fast, knows lots of languages (syntax highlighting), fully customizable, platform independent and so on. As with everything, it is a matter of taste what you use. SciTE just became my favourite when it comes to editing in a graphical environment. On the console or in a terminal the one and only editor of course is vi or vim.
You can use Scite for scripting, programming, webdesign, Lua-scripts (for itself or e.g. imapfilter), LaTeX files…
However, the default settings are not as nice as they could be. Use the settings below to paste them in the .SciTEUser.properties
(in the menu go to “Options → Open User Options File”). Then your working experience with SciTE should be way better!
Of course you can modify these settings according to your own needs and preferences; with a few adjustments these settings also work with the Windows version of SciTE.
position.width=1024 position.height=768 position.left=0 position.top=0 toolbar.visible=1 toolbar.usestockicons=1 tabbar.visible=1 tabbar.multiline=1 statusbar.visible=1 split.vertical=0 edge.mode=1 save.recent=1 save.session=0 open.dialog.in.file.directory=1 wrap=1 buffers=32 autocompleteword.automatic=1 check.if.already.open=1 strip.trailing.spaces=1 xml.auto.close.tags=1 eol.auto=1 ensure.final.line.end=1 ensure.consistent.line.ends=1 line.margin.visible=1 line.margin.width=4+ fold=1 fold.on.open=0 fold.symbols=3 caret.fore=#ff0000 caret.width=3 source.files=*.asm;*.c;*.cc;*.cpp;*.cxx;*.cs;*.h;*.hh;*.hxx;*.hpp;\ *.idl;*.odl;*.rc;*.rc2;*.dlg;*.def;*.vb;*.vbs;*.bas;*.frm;*.cls;*.ctl;\ *.java;*.js;*.py;*.pl;*.rb;*.cgi;*.lua;*.conf;*.sh;make*;*.mak;\ *.properties;*.html;*.xml;*.iface;*.bat;*.e;*.css;*.tex;*.php font.base=$(font.monospace) font.small=font:!Mono,size:7 font.comment=$(font.monospace) font.code.comment.box=$(font.comment) font.code.comment.line=$(font.comment) font.code.comment.doc=$(font.comment) font.text=$(font.base) font.text.comment=$(font.comment) font.embedded.base=$(font.monospace) font.embedded.comment=$(font.comment) font.monospace=font:!Mono,size:8 font.vbs=$(font.embedded.base) font.js=$(font.embedded.base) command.build.$(file.patterns.latex)=pdflatex $(FileNameExt) command.go.$(file.patterns.latex)=acroread $(FileName).pdf command.go.$(file.patterns.web)=firefox "file://$(FilePath)" command.print.*=a2ps "$(FileNameExt)"
SciTE doesn't allow for sorting by default. By adding a simple Lua script and assigning a keyboard shortcut to it SciTE can learn it though.
Just add these lines to your user configuration:
ext.lua.startup.script=$(SciteUserHome)/.scitesort.lua command.name.11.*=Sort Selection command.11.*=sort_text command.subsystem.11.*=3 command.mode.11.*=savebefore:no command.shortcut.11.*=Shift+Ctrl+S
And save the following script as ~/.scitesort.lua
.
Actually, this is not from me but taken from the Lua Users Wiki, I am not a programmer and definitely don't speak Lua Thanks a million for this script, Lua Users!
function lines(str) local t = {} local i, lstr = 1, #str while i <= lstr do local x, y = string.find(str, "\r?\n", i) if x then t[#t + 1] = string.sub(str, i, x - 1) else break end i = y + 1 end if i <= lstr then t[#t + 1] = string.sub(str, i) end return t end function sort_text() local sel = editor:GetSelText() if #sel == 0 then return end local eol = string.match(sel, "\n$") local buf = lines(sel) table.sort(buf) local out = table.concat(buf, "\n") if eol then out = out.."\n" end editor:ReplaceSel(out) end
Done! From now on you will find the sorting function (for all selected lines) in the “Tools” menu or as keyboard shortcut <Shift> + <Control> + <S>
.