DeskTux

Linux on Desktops

User Tools

Site Tools


apps:scite

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

apps:scite [2016-02-16 14:32] (current)
Line 1: Line 1:
 +====== 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. [[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.
 +
 +<file lua .SciTEUser.properties>​
 +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)"​
 +</​file>​
 +
 +===== 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:​
 +<code lua>
 +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
 +</​code>​
 +
 +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!
 +<file lua scitesort.lua>​
 +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
 +</​file>​
 +
 +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>''​.
apps/scite.txt ยท Last modified: 2016-02-16 14:32 (external edit)