Archive for the ‘etexteditor’ tag
Building The E-TextEditor On Ubuntu 9.04 64 Bit
E-TextEditor a.k.a e is my favorite text editor on windows. AFAIK there is no text editor on linux that matches what e can do except for VIM. When I saw the post about making e open source I was pretty exited and wanted to try it out.
So I grabbed the source from GitHub and thought of building it. I am making this post to explain all the problems that I faced while building e. You may or may not face the same problem or you may face different problem altogether, so good luck.
Grab The Source
Download the latest source code from http://github.com/etexteditor/e/tree/master using the download button available or by using git tool to clone the repository.
Extract the source code somewhere and open the linux-notes.txt in your favorite text editor.
Downloading & Building E-TextEditor
I am a linux n00b so I choose the easiest way to build e according to linux-notes.txt
# The easiest way to build is to use the supplied scripts (example shows debug build): cd external sudo ./get-packages-ubuntu.sh bakefile ./get_externals_linux.sh ./build_externals_linux.sh debug cd .. cd src make DEBUG=1 ./e.debug
I face problem while getting external packages for linux and while building WebKit. The problem was get-packages-ubuntu.sh was unable to install libwxgtk2.8-dev due to header mismatch (Sorry but I don’t remember the exact error. I guess it includes wxWidgets header files) and the link to download tomcrypt and tommath libraries were not found.
I had to download wxWidget headers from their site. I downloaded the amd64 package because I am running Ubuntu 9.04 64 bit
http://apt.wxwidgets.org/dists/jaunty-wx/main/binary-amd64/wx2.8-headers_2.8.10.1-1_amd64.deb
The url’s mentioned in get-external-linux.sh to download tomcrypt and math libraries didn’t resolve because libtomcrypt.com is down at the moment.
wget -nc http://libtomcrypt.com/files/crypt-1.11.tar.bz2 wget -nc http://math.libtomcrypt.com/files/ltm-0.39.tar.bz2
So I had download the crypt-1.11.tar.bz2 and ltm-0.39.tar.bz2 files from http://safari.iki.fi/tom/. You need to be careful here download the exact version mentioned in the script or else it won’t compile.
Now that we have all the dependencies we are now ready to install them and then we can build e.
Install The Dependencies
Double click on the wx2.8-headers_2.8.10.1-1_amd64.deb file and then click on Install Package button to install the file.
Now its time to fix problems in get_external_linux.sh file. If you can write your own script after reading get_external_linux.sh its great, but I am lazy so I just created the arch directory inside the external directory and copied all the files that were supposed to be downloaded by the _download function.
_download()
{
# Download external libraries
echo "Downloading external libraries..."
echo
pushd arch
wget -nc http://libtomcrypt.com/files/crypt-1.11.tar.bz2
wget -nc http://math.libtomcrypt.com/files/ltm-0.39.tar.bz2
wget -nc http://www.equi4.com/pub/mk/metakit-2.4.9.7.tar.gz
wget -nc ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.6.tar.gz
wget -nc http://kent.dl.sourceforge.net/sourceforge/tinyxml/tinyxml_2_5_3.tar.gz
wget -nc http://biolpc22.york.ac.uk/pub/2.8.10/wxWidgets-2.8.10.tar.bz2
wget -nc http://builds.nightly.webkit.org/files/trunk/src/WebKit-r43163.tar.bz2
popd
}
I actually downloaded all the files mentioned in the _download function to some location to save me download time just in case if anything goes wrong. You may copy only the missing files and the script will download rest of the files.
Now run the get_external_linux.sh file again by issuing the command ./get_external_linux.sh.
Everything would work fine after this step (worked fine for me). Now issue rest of the commands
./build_externals_linux.sh debug cd .. cd src make DEBUG=1
It will take sometime to complete all these commands. If you get any error here that mean something is wrong with the code and you are missing a patch. All you need to do now is Google the error or fix it yourself or post it here and wait for somebody to answer.
If everything goes fine as expected you can now see e.debug. But as you can see the size of e.debug file is more than 200MB use the strip command to remove all debug information.
# source : http://fixnum.org/blog/2009/e_on_fedora strip e.debug -o e.stripped
Now you will have a e.stripped executable weighing approximately 26MB.
Getting Themes & Bundles
E-TextEditor will not run without the Themes & Bundles. So it needs to be downloaded and placed inside .e folder in your home directory. Issue the following commands to download and export e themes and bundles.
Install Subversion if you haven’t already.
sudo apt-get install subversion svn checkout http://ebundles.googlecode.com/svn/trunk/ ebundles-read-onlysvn export ebundles-read-only ~/.e/
You will see an message Export Complete. Now you can run the e.stripped or e.debug and e should run.

Though I was able to build and run E-TextEditor on my machine but its pretty much useless, it has got lots of bugs and it keeps crashing. I still have to download patches from e repository and rebuild my source.
Hope it helps
E-TextEditor Useful Keyboard Shortcuts
I have been using e-texteditor for quite a long time. I really like using it, when I am using it I work twice as fast as compared to any other IDE. I prefer using shortcuts instead of using the mouse, it surely increases the productivity. So here is a list of e-texteditor shortcuts that I got from here. Hope it helps.
File Operations
Ctrl+N : New file
Double-Click tab bar : New file
Ctrl+O : Open file
Ctrl+S : Save file
Ctrl+Shift+S : Save as
Ctrl+W: Close file
Ctrl+Shift+T : Go To File dialog
Editing
Ctrl+K : Delete to end of line; if the caret already is at end-of-line it deletes the newline.
Ctrl+Shift+K : Delete the entire line
Ctrl+Backspace : Delete to start of word (same as Ctrl+H)
Ctrl+Delete : Delete to end of word
Ctrl+(Shift)+U : Change case on word/selection
Alt+G : Inverse case on word/selection
Ctrl+Alt+U : Title case
Ctrl+T : Transpose, for swapping words or chars.
Ctrl+Alt+R : Run current line/selection
Ctrl+C : Copy (or: Ctrl+Insert)
Ctrl+V : Paste (or: Shift+Insert)
Ctrl+X : Cut
Ctrl+Z : Undo
Ctrl+Y : Redo. If there aremultiple branches to choose fromundo history will be displayed.
Selection
Ctrl+A : Select all
Ctrl+Shift+arrow : Select entire word
Alt+Left-mouse : column selection
Ctrl+Left-mouse : Multi selection
Shift+Home : Selects to the first non-whitespace char on the line, second time the white spaces will be selected as well
Shift+Ctrl+Home : Selects to the beginning of the document
Shift+Ctrl+End : Selects to the end of the document
Shift+Ctrl+L : Selects current line
Shift+Ctrl+W: Selects current word
Shift+Ctrl+Space : Selects current scope. If you keep hitting it, it will cycle through the available scopes.
Folding
F1 : Toggle current fold
Alt+F1 : Open current fold and closes all others
Ctrl+F1 : Fold all
Ctrl+Alt+F1 : Unfold all
Shift+F1 : Select current fold
Left-mouse : Fold end or fold indicator: Select fold, twice to fold
Mouseover : Fold end: Show fold preview Fold indicator: Highlight fold (useful for nested folds)
Navigation
Ctrl-Tab : Go to last active tab (or next tab if used repeatedly)
Ctrl-Shift-Tab : Go to previous tab
Alt+Ctrl+R/L-arrow : Next/previous tab
Alt+Ctrl+Up-arrow : Go to header/source
Ctrl+L : Go to Symbol
Ctrl+G : Go to line
Ctrl+F : Find
Ctrl+G : Find next
Ctrl+R : Replace
Home : Move cursor to the beginning of the line
End : Move cursor to the end of the line
Ctrl+Home : Move cursor to the beginning of the document
Ctrl+End : Move cursor to the end of the document
Ctrl+Up/Down-arrow : Scroll up/down, withoutmoving the caret
Ctrl+1-8 : Go to tab
Ctrl+9 : Go to last tab
Ctrl+0 : List open tabs
View
F3 : Show/hide revision history
F4 : Show/hide visual undo
Ctrl+Alt+P : Show/hide web preview
Alt+Shift+T : Show TODO list
Document
Ctrl+M:Makemilestone
Bundle
Ctrl+Shift+B : Show bundle editor
Ctrl+Alt+T : Select bundle
Esc : Kill current running bundle command
Projects
Ctrl+P : Show/hide project pane
Ctrl+Shift+P : Switch focus between editor and project pane (opening it if needed).
Arrow keys : Up/down and expand/close folder
Enter : Open file in editor
F2 : Rename
F5 : Refresh project view
Shift-F10 : Show contextmenu
Mouse Shortcuts
Double-click : Select word
Triple-click : Select line
Alt-doubleclick : Select scope

