====== SciTE ====== {{ wiki:SciTE.png?300|The SciTE main window with the configuration applied}} [[http://www.scintilla.org/SciTE.html|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 [[http://en.wikipedia.org/wiki/Vi|vi]] or [[http://www.vim.org/|vim]]. You can use Scite for scripting, programming, webdesign, Lua-scripts (for itself or e.g. [[archive:imapfilter]]), [[LaTeX]] files... ===== Configuration ===== 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)" ===== Sorting ===== SciTE doesn't allow for sorting by default. By adding a simple [[http://www.lua.org/|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 [[http://lua-users.org/wiki/SciteSortSelection|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 '' + + ''.