DeskTux

Linux on Desktops

User Tools

Site Tools


apps:scite
no way to compare when less than two revisions

Differences

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


Previous revision
Last revision
apps:scite [2016-02-16 14:32] – external edit 127.0.0.1
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: 2024-04-12 15:01 by jens