Eddie tries to balance a combination of ease of use and feature completeness of a mainstream editors, great performance and speed, with a host of super-powerful features under the hood. Here is a quick overview of some of these. If you hate reading manuals, at least glance over this part to get an idea of what to expect and make sure you are not overlooking some of the more subtle features that may be perfect for your power-user workflow.
Configurable syntax coloring is available for a C, C++. Obj-C, HTML, JavaScript, LaTeX, Visual Basic, Makefiles, PHP, Python, Ruby, shell scripts and others.
Further, Eddie supports a function popup for C/C++/Obj-C, Perl, Lua, Python, LaTeX and JavaScript.
Symbol lookup offers symbol auto-completion and lookup. Eddie comes bundled with an advanced code indexer that understands complex C, C++ and Objective C. The indexer can be configured to automatically re-index both the system header files and your project files without much fuss.
Make sure to check out Magic prototyper a tool that greatly speeds up C/C++ and Obj-C development by helping auto-generating class/function boilerplate with a single click.
Worksheet is an enhanced version of a Terminal window. Its integration with the rest of the application makes it a perfect environment for compiling, running commands and other tasks you would use a Terminal for.
To execute a command from the worksheet, you either type the command or move the cursor to a line with an existing command and hit return. You may for instance type ls -la. As with Terminal, the contents of the current directory will be printed. Unlike Terminal, the commands in a Worksheet can be easily edited, reused and stored for later use. Worksheet is the default Shell window but you may open as many other additional Shell windows as you like. Each has an actual bash shell running. You can use make, cd, ls, grep, xcodebuild, etc. You may set shell variables, aliases and other shell state from within a Worksheet. Pathname and shell variable completion you would normally rely on in a Terminal is indeed fully supported in the worksheet. You may hit the Tab key to complete a pathname of a file, hit it again to get a list of possible suggestions if there is more than one possible completion.
By default the contents of a Worksheet is automatically saved when Eddie quits (this can be configured in Eddie Preferences). The Worksheet window is instantly accessible—you may reopen the Worksheet or bring it to the front by pressing Command-0.
If you are not a big command line user or otherwise don't care for the Worksheet, you can configure Eddie to not show by default it in the "Shell" pane of the Preferences, you may instead choose to open it occasionally by pressing Command-0 or not use it at all.
Smart Open Selection (Command-D) is a subtle yet very handy and powerful feature. It knows how to parse a file path around your current selection and open the file path. If the specified path is not absolute, it will find the file using an elaborate lookup heuristic. It knows how to parse out line numbers next to the file names in grep/complier output and select these lines when the corresponding document is opened. Together with Tab-completion Smart Open Selection makes for a super-quick alternate way to open files.
Eddie has an extensive array of built-in keyboard shortcuts, both standard and more exotic. You may for instance find Smart Swap (Command-Option-LeftArrow, Command-Option-RightArrow), or Drag Line Up/Down useful. Each keyboard shortcut is fully customizable using the SetKey command. Eddie defines many more editing commands than are actually assigned to shortcuts. Some of the heavily used commands (like scrolling for instance) are available in a several different variants to suit some very individualistic preferences of how some commands behave.
Eddie comes pre-configured with several toolbar buttons. The three clipboard buttons support copy & paste in three independent clipboards. You may press any of the clipboard buttons to examine the contents of the clipboard.
Pressing on the Function popup button will bring up a popup menu of all the
C, C++, Obj-C, JavaScript, Lua and Perl functions defined in a text document.
The Magic prototyper
button allows you to generate prototypes from a C++ or Obj-C
class and paste them into text with just two clicks. It knows about details
like pure virtuals, functions inlined inside the class definition (in both
cases a prototype is not generated unless you hold down the Option key),
templates, it will remove default function parameters, etc. In short, it will save you from
ton of the usual boilerplate editing when for instance implementing class member functions.
The extended Clipboards
are useful for heavy-duty copy-paste
jobs. Each of the three independent clipboards can do the usual Cut/Copy/Paste. In addition
each can Swap-Paste (the text replaced by the paste is placed back
onto the clipboard), operate as a stack.
Press the clipboard button to examine the clipboard contents.
Note that in the example the first clipboard is being used in stack mode — it contains two entries that may be pasted one after the other.
The Commenter
button lets you comment or uncomment a selection with a single keystroke (Command-/),
using the commenting style appropriate for the document type. It also supports commenting of the
current selection.
Eddie offers a first-class tabbed window browsing experience. Tabs can be rearranged, torn out and added to other windows. Default tabbing behavior can be toggled in preferences. Each of the many commands that open windows by default follows the preference or can be overridden with a modifier.
More on tabs here.
Each document window can be split into two or more editing panes.
More on split panes here.
Eddie offers a well integrated SSH Open/Save panel that makes editing your source code on a remote server feel like you are working on local files.
The SSH Open panel remembers the recent servers you have accessed, uses Bonjour to find nearby servers and optionally stores your passwords in the Keychain.
Aside from the application Preferences, you can configure keyboard shortcuts and a number of other settings by editing the UserStartup file. The default UserStartup comes with keyboard shortcuts pre-configured to match a keyboard map similar to other editors such as BBEdit. An Emacs-like keymap is also supplied and can be enabled in the UserStartup.
Eddie can be further customized through its rich plugin interface. Many of its features (Magic Prototyper, Syntax Coloring, Function Popup, etc.) are implemented as plugins.
tellEddie is a command line tool that allows quick opening of files in Eddie from a Terminal or a Worksheet window, provides hooks for integration with source control environments such as Subversion, CVS, git or Perforce, offers piping of shell tool output into an Eddie window, adds a super-convenient way to generate a .c/.h file pair and a host of other tricks.
Eddie takes advantage of dynamic menus to hide some of the more exotic menu commands. Take time to explore these — to view alternate menu commands, pull down each menu and press Option, Shift and/or Control in various combinations — you will see the different alternate menu commands.
MPW is a registered trademark of Apple Computer, Inc. BBEdit is a registered trademark of Bare Bones Software, Inc.