SciTE is like the Firefox of text editors – fast, cross platform, configurable, free / Open Source etc. with the bonus of giving a familiar environment on Linux and Windows, particularily where shortcuts are concerned.
If you’re used to editors like EditPlus or Ultra Edit on Windows, SciTE is at least as configurable (end of line chars, tabs / spaces etc.) and provides a source “tree view” allowing you to “collapse” functions / classes etc. plus has excellent code completion.
On Windows there are a number of pre-packaged installers – I tend to use this one (.exe) which is based on the latest SciTE CVS. On Linux, usually use a package geared for the distro, although compiling your own is no problem if GTK is available.
There’s also a companion Filerx (Windows only) which I don’t use but adds “project” related features.
Anyway – thought I’d dump my SciTEGlobal.properties file here, to make my life and anyone else’s easier. Configuration can be applied in a number of files, allowing a base configuration to be inherited while individual users can modify their own settings further. The easiest way to to edit your own is from menu “Options” > “Open Global Properties”
This configuration probably needs further tuning, particularily font-wise, but has the basics set up as I like them and is geared for PHP. If you use a “raw” build of SciTE you may need to get PHP related add-ons from here. Documentation of the settings in this configuration can be found here.
# Global initialisation file for SciTE
# For Linux, place in $prefix/share/scite
# For Windows, place in same directory as SciTE.EXE (or Sc1.EXE)
# Documentation at http://www.scintilla.org/SciTEDoc.html
# Globals
# Window sizes and visibility
if PLAT_WIN
position.left=0
position.top=0
if PLAT_GTK
position.left=5
position.top=22
position.width=576
position.height=740
position.tile=1
#full.screen.hides.menu=1
#minimize.to.tray=1
#split.vertical=1
#output.horizontal.size=200
#output.vertical.size=60
#horizontal.scrollbar=0
#horizontal.scroll.width=10000
#output.horizontal.scrollbar=0
#output.horizontal.scroll.width=10000
#output.scroll=0
#end.at.last.line=0
tabbar.visible=1
tabbar.hide.one=1
tabbar.multiline=1
#toolbar.visible=1
#undo.redo.lazy=1
statusbar.visible=1
#fileselector.width=800
#fileselector.height=600
#magnification=-1
#output.magnification=-1
# Sizes and visibility in edit pane
line.margin.visible=1
line.margin.width=4
margin.width=16
#fold.margin.width=16
#fold.margin.colour=#FF0000
#fold.margin.highlight.colour=#0000FF
blank.margin.left=4
#blank.margin.right=4
buffered.draw=1
#two.phase.draw=0
use.palette=0
# Element styles
#view.eol=1
#control.char.symbol=.
caret.period=500
view.whitespace=1
view.indentation.whitespace=1
view.indentation.guides=1
highlight.indentation.guides=1
caret.fore=#FF0000
caret.width=2
caret.line.back=#FFFED8
calltip.back=#FFF0FE
edge.column=200
edge.mode=0
edge.colour=#C0DCC0
braces.check=1
braces.sloppy=1
selection.fore=#006000
# DADADA used as background because it yields standard silver C0C0C0
# on low colour displays and a reasonable light grey on higher bit depths
selection.back=#DADADA
whitespace.fore=#FF0000
whitespace.back=#FFF0F0
#error.marker.fore=#0000A0
#error.marker.back=#DADAFF
#bookmark.fore=#808000
#bookmark.back=#FFFFA0
#use.monospaced=1
# Checking
are.you.sure=1
#are.you.sure.for.build=1
#quit.on.close.last=1
load.on.activate=1
#save.on.deactivate=1
are.you.sure.on.reload=1
reload.preserves.undo=1
#check.if.already.open=1
default.file.ext=.php
title.full.path=1
title.show.buffers=1
save.recent=1
save.session=1
open.dialog.in.file.directory=1
#strip.trailing.spaces=1
#ensure.final.line.end=1
#ensure.consistent.line.ends=1
#save.deletes.first=1
buffers=50
buffers.zorder.switching=1
#win95.death.delay=1000
#translation.missing=***
#read.only=1
# Indentation
tabsize=4
indent.size=4
use.tabs=0
indent.automatic=1
indent.opening=0
indent.closing=0
#tab.indents=0
#backspace.unindents=0
wrap=1
#cache.layout=3
#output.wrap=1
#output.cache.layout=3
# Folding
# enable folding, and show lines below when collapsed.
fold=1
fold.compact=1
fold.flags=16
fold.symbols=1
#fold.on.open=1
# Find and Replace
#escapes.in.find.replace=1
# findstr is available on recent versions of Windows including 2000
if PLAT_WIN
# find.command=findstr /n /s $(find.what) $(find.files)
find.command=grep --line-number "$(find.what)" $(find.files)
#find.input=$(find.what)
if PLAT_GTK
find.command=grep --line-number "$(find.what)" $(find.files)
find.files=*.c *.cxx *.h
#find.replace.matchcase=1
find.replace.escapes=1
#find.replace.regexp=1
#find.replace.regexp.posix=1
#find.replace.wrap=0
#find.replacewith.focus=0
# Behaviour
eol.mode=LF
#eol.auto=1
clear.before.execute=0
#vc.home.key=1
wrap.aware.home.end.keys=1
autocompleteword.automatic=1
autocomplete.choose.single=0
caret.policy.xslop=1
caret.policy.width=20
caret.policy.xstrict=0
caret.policy.xeven=0
caret.policy.xjumps=0
caret.policy.yslop=1
caret.policy.lines=1
caret.policy.ystrict=1
caret.policy.yeven=1
caret.policy.yjumps=0
#visible.policy.strict=1
#visible.policy.slop=1
#visible.policy.lines=4
#time.commands=1
# Status Bar
statusbar.number=4
statusbar.text.1=
li=$(LineNumber) co=$(ColumnNumber) $(OverType) ($(EOLMode)) $(FileAttr)
statusbar.text.2=
$(BufferLength) chars in $(NbOfLines) lines. Sel: $(SelLength) chars.
statusbar.text.3=
Now is: Date=$(CurrentDate) Time=$(CurrentTime)
statusbar.text.4=
$(FileNameExt) : $(FileDate)
Frequently Asked Questions about SciTE Properties
What is SciTE and what are its main features?
SciTE is a SCIntilla-based Text Editor, a free source code editor that supports a wide range of programming languages. It offers features such as syntax styling, error indicators, code folding, and call tips. It also allows users to customize the interface and functionality using properties files, making it a versatile tool for developers.
How can I customize SciTE using properties files?
SciTE allows users to customize its behavior using properties files. These files contain settings that control the appearance and operation of SciTE. You can modify these files to change the editor’s behavior, such as changing the font size, color scheme, or enabling line numbers.
What is the difference between global and user properties files in SciTE?
In SciTE, global properties files apply to all instances of the editor, while user properties files apply only to the current user. This allows for a high degree of customization, as different users can have different settings according to their preferences.
How can I use SciTE for different programming languages?
SciTE supports a wide range of programming languages, including C++, Python, and JavaScript. You can set the language mode by selecting the appropriate language from the ‘Language’ menu, or by saving your file with the correct file extension.
Can I use SciTE on different operating systems?
Yes, SciTE is a cross-platform text editor. It is available for Windows, Linux, and macOS. This makes it a versatile tool for developers working on different platforms.
How does SciTE compare to other text editors?
SciTE stands out for its customization options and support for a wide range of programming languages. However, it may lack some features found in other editors, such as integrated version control or a built-in terminal. It’s best suited for users who value simplicity and customization.
Can I extend SciTE’s functionality with plugins?
Yes, SciTE supports extensions and plugins, allowing you to add new features or modify existing ones. This makes it a flexible tool that can adapt to your specific needs.
How can I troubleshoot problems in SciTE?
If you encounter problems while using SciTE, you can check the documentation for solutions. If the issue persists, you can seek help from the community through forums or mailing lists.
Is SciTE suitable for large projects?
While SciTE is a powerful text editor, it may not be the best choice for large projects due to its lack of certain features, such as project management tools. However, it can be a great tool for smaller projects or individual files.
Is SciTE open source?
Yes, SciTE is an open-source project. This means that its source code is freely available, and you can modify it to suit your needs. It also means that it benefits from the contributions of a large community of developers.
Harry Fuecks is the Engineering Project Lead at Tamedia and formerly the Head of Engineering at Squirro. He is a data-driven facilitator, leader, coach and specializes in line management, hiring software engineers, analytics, mobile, and marketing. Harry also enjoys writing and you can read his articles on SitePoint and Medium.