IT-Edit (Integrated Terminal Editor)

Introduction

We can consider that there are 2 sorts of programmers with programming habits :
  1. People working with an IDE (Integrated Development Environment).
  2. People working with seperated tools like editors, terminals, debuggers, interpreters...

I usually work with a text-editor and a terminal in order to compile or to launch programs; in addition to that, I often need a web client for consulting offline documentation.


I decided to write my own developpment environment, providing me all the tools which are directly accessible from inside my editor.


From this idea is born IT-Edit...


Screenshots

Introduction to it-edit 3.0

it-edit version 3.0 requirement:

The new version of it-edit provides as new feature:

  • Session management:

    which permit to reload the last:

    • Files.
    • Documentation.
    • Applications.

    The session management can be either:

    • Automatic.
    • Asked to the user by exit.
    • Disabled.

  • Spell check support:

    • In-line spell check (The misspelled words are underlined and can be corrected through the contextual menu).
    • Spell check dialog

  • And some other adding to it-edit...

Description:

it-edit (Integrated Terminal Editor)

The IT-Edit program icon

Presentation

it-edit provide a text editor with syntax highlight, line numbering and with the basics text editing functionalities:
  • Cut, Copy and Paste.
  • Duplicate a line or the selected text.
  • Undo/Redo functionalities.
  • Search and replace functionalities.
  • Jump to the given line number.
  • Enable | Disable in-line spell check.
  • Enable | Disable the use of tabs.

And an files managing interface for:
  • Open a new empty file.
  • Open the file you want.
  • Open an recent file.
  • Save the editor content.
  • Save the editor content as the filename you want.
  • Save all open files.
  • Close file.
  • Close all file(s).
  • Reload session.
  • Reload current file.
  • File informations.

it-edit provide terminals in the same window as the editor, as a sidebar, which can easily shown, hidden and resized.

You can add and remove as many terminals as you want to the sidebar...

it-edit provide a big terminal occupying the full interface, dividable into 4 resizable terminals, to which you can easy toggle from the main window.

In order to execute commands like compilation or debugging or any terminal command you want. You can launch it directly from the editor.


I intend to implement an manpages reading interface, in an toplevel terminal window (so it can be resize, minimize, maximize and closed),

but i remark by implementing it that i restrict the command to execute the man [section] page command.

So i decide to provide the same functionality but without restricting it to the manpage displaying, to expand it to execute any command you want in an toplevel terminal.

It result in a functionality to execute a command in a toplevel terminal, which can be resize, minimize, maximize and close.

After the execution of the command the toplevel terminal is yours and can continue to enter commands...


I intend to implement launching of registered offline HTML documentation in a toplevel window,

but i remark by implementing it that i restrict it to offline HTML pages.

So i decide to provide the same functionality with registering any file you like.

The registered files are launched with the default program for this filetype.

After registering the files, you can easy launch it and access them all directly from it-edit.


I want to launch necessary GUI tools directly from the editor.

So it-edit permit to register the application you want to get direct access to it from your editor.

Like: A GUI diff tool, A GUI debugger, a smart python interpreter, a calculator, a color picker, a dictionary, and so soon...



Files

You can start it-edit from a terminal with a list of space-separated filepath (it-edit support many filetypes), as arguments which will be opened in the editor at start.

To know for files managing:

  • Open a new empty file by using the menu item, the button or the shortcut: Ctrl + n.
  • Open file(s) by selecting it or them with the file selector, use the menu item, the button or the shortcut: Ctrl + o.
  • You can open a recent file by selecting it in the list from the menu item.
  • Save the current editor content by using the menu item, the button or the shortcut: Ctrl + s.
  • Save all open files by using the menu item, the button or the shortcut: Ctrl + Maj + S.
  • Reload last files will reload the last stored files: either in automatic storing case the last opened files or in user asking case the last user registered files.
  • Reload file will reload the last saved version from the file in the editor, use the menu item or the shortcut: Ctrl + R.
  • File informations will display informations, which you can edit, about the current file, use the menu item or the shortcut: Ctrl + I.


Edition

How to handle edition:

  • Undo uses the contextual menu or the shortcut: Ctrl + z.
  • Redo uses the contextual menu or the shortcut: Ctrl + Maj + Z.
  • NOTE: The menu items from Undo and Redo don't work well.
  • Cut uses the contextual menu, the menu item, the button or the shortcut: Ctrl + x.
  • Copy uses the contextual menu, the menu item, the button or the shortcut: Ctrl + c.
  • Paste uses the contextual menu, the menu item, the button or the shortcut: Ctrl + v.
  • Duplicate the selection or the line at cursor position, use the menu item, the button or the shortcut: Ctrl + d.
  • Enable | disable In-line spell check, use the menu item or the shortcut: Ctrl + w.
  • Use space instead of tabs: for switching between tab use or not, use the menu item or the shortcut: Ctrl + P.


Editor

  • Go to line number by using the menu item, the button or the shortcut: Ctrl + g.
  • Enter a valid line number and press Enter or the Apply button to move the editor into the wanted line. This line will be highlighted.
  • Find and replace functionality.
  • You can show | hide the search and replace bar by using the toggle button.
  • The search and replace bar has got the following functionalities:
  • NOTE: You can use the shortcut Ctrl + F instead of the button.

  • Search button: this will highlight all the matching occurrence from the search term and moving the editor to the first occurrence position.
  • NOTE: You can use the shortcut Ctrl + Maj + F instead of the button.


  • Next button: highlight the next matching occurrence from the search term.
  • The search will start at cursor position per default.
  • Pressing Enter when the search entry field has the focus has the same effect, except that the search begin at file begin.
  • If you select some text with the mouse and use the shortcut Ctrl + f.
  • The search field will contains the selected text as search term and the search will start at your selection.
  • NOTE: You can use the shortcut Ctrl + + instead of the button (Use the keypad).

  • Previous button: highlight the previous matching occurrence from the serach term.
  • The search will start at the end of the file per default.
  • If you select some text with the mouse and use the shortcut Ctrl + f.
  • The search field will contains the selected text as search term and the search will start at your selection.
  • NOTE: You can use the shortcut Ctrl + - instead of the button (Use the keypad).

  • Replace button: replace the current matching occurrence, which is highlight, with the content of the replace field.
  • NOTE: You can use the shortcut Ctrl + Enter instead of the button (Use the keypad).

  • Replace all button: replace all the matching occurrence in the current file.
  • NOTE: You can use the shortcut Ctrl + Maj + Enter instead of the button (Use the keypad).

  • Mode: You can select how your search term(s) will be interpreted.

    • Raw text: all search terms matching.
    • Word boundary: The search term must be a complete word, not a part but an variable with separators like underscores or points will work too.
    • Regular expression: Perl compatible regular expression (REGEX).

  • Close button: hide the search and replace bar and clear the highlight.
  • NOTE: if you want to select some text with the mouse and use the Ctrl + f shortcut.

    1. The search and replace bar will be show.
    2. The search field will be filled with your selection.
    3. The search will begin at your selection position if you hit the Next or Previous button.


Actions

  • Sidebar Terminals adding: You can add some terminals, 2 per item, to the sidebar, reorder them, and remove it.
  • Use the menu item or the shortcut Ctrl + Maj + T.
  • Big terminal(s) switch: You can switch between a very big terminal and a very big terminal divided into 4 terminals.
  • Use the menu item or the shortcut Ctrl + Maj + B.
  • Command execution: use the menu item, the Cmd button or the shortcut: Ctrl + e.
  • This will display a little toplevel in which you can enter a command.
  • Then press the Enter key or the Apply button to execute the command in a terminal include in a toplevel window (so you can resize, minimize, maximize and close the window).
  • NOTE: The command is executed with your default shell (it fails if the '-c' option is not supported).
  • After the execution from the command the toplevel terminal is yours and you can continue to enter commands and use it as you want.
  • File Handler: use the menuitem or the shortcut: Ctrl + h.
  • For using this features you must register files from the Files handler manager tab interface reachable through the settings->Configure program menu item.
  • For registering a file you must give it a title which will appears as the button text in the File Handler window and selecting the corresponding file.
  • Then wenn you press the button in the File Handler window, the file will be launched with the default application for this filetype.
  • NOTE: this feature can be used for any use you want. Previously, it was created for fast access to offline html-documentation, but in the meantime it has been expanded to any type of file (for example, consulting pdf documentation).
  • The registered files can be removed from the File Handler list through the same interface with which you add it.
  • Application launcher: use the menu item or the shortcut: Ctrl + a.
  • This will display an application chooser. By selecting an application you will launch it.

  • Dialog spell check by using the menu item or the shortcut: Ctrl + Maj + w.


Applications

it-edit will auto-detect following external applications at the first start:
Programming tools:

  • A GUI diff tool: kompare, meld, fldemff, diffuse.
  • A GUI debugger tool: ddd, xxdbg.
  • A GUI python interpreter: pycrust, idle-python2.7, dreampie, idle-python3.4.
  • A GUI generator: glade, wxglade.
  • A developer helper: devhelp.
Utilities:

  • A GUI calculator: galculator, kcalc, speedcrunch.
  • A GUI color picker: gcolor2, kcolorchooser, gpick.
  • A GUI dictionary: goldendict, stardict, opendict, babiloo.
  • A file manager: nautilus, dolphin, thunar, xfe, pcmanfm.
  • A GUI notetaker: keepnote, bijiben, gnotes, xpad, kjots, tuxcards, rhinote.
  • A GUI web browser: firefox, chromium-browser, konqueror.
And register the match as a menuitem.
Else you can set any of this tools after or register any tool you like in the Others categorie
What make you a shortcut to quickly launch an applications directly from inside the editor.


View

You can set following view settings from the View menuitem.
  • Big term Show | hide: use the menu item, the toggle button or the shortcut: Ctrl + B.
  • Terminals show | hide: use the menu item, the toggle button or the shortcut: Ctrl + T.
  • Button bar show | hide: use the menu item.
  • Fullscreen toggle: use the menu item.


Settings

  • Syntax highlight: use the menu item.
  • To set the syntax highlight on, on the current edited text from the supported language.
  • Editor schemes: use the menu item.
  • To set the appearance from the text editor.
  • Currently they are 13 different schemes available:
    • build.
    • classic.
    • cobalt.
    • emacs.
    • kate (default).
    • matrix.
    • oblivion.
    • slate.
    • solarized-dark.
    • solarized-light.
    • tango.
    • turbo.
    • vsdark.
  • Each time you change the scheme your choice is registered so that you don't have to change it every time you start it-edit.
  • NOTE: the application use a personnal set of schemes files: the set from the latest version from the gtksourceview-3.0 library and find on the web.



Configure program

Access to the program configuration window which is divide into 6 part:

Editor settings:

  • Use scheme (kate per default).
  • Display lines numbers (Enabled per default).
  • Display TABS characters (Enabled per default).
  • Show all spaces (Disabled per default).
  • Use auto-indent (Enabled per default).
  • Indent width (2 per default).
  • Use spaces instead of TABS (Enabled per default).
  • TABS width (2 per default).
  • Spell check language (install apsell, ispell or myspell dictionaries)

Files settings:

  • Warn the user if he attempt to load a file already into the editor.
  • Warn the user if he attempt to load a file which is read-only.
  • Save a file despite a newer time stamp.
  • Charset to use by file saving.
  • Newline type.
  • Permission by file saving.
  • Warn the user by closing an unsaved file.
  • Create a backup file by saving (Enabled per default).
  • Remove trailing space at file saving (Enabled per default).

Terminal settings:

Appearance

  • Font (Monospace 10 per default).
  • Font scale (1.0 per default).
  • Cursor type (BLOCK per default).
  • Cursor color (white per default).
  • Cursor blink mode (BLINK_SYSTEM per default).
  • Background color (Black per default).
  • Foreground color (White per default).
  • Allow bold (True per default).
  • Bold color(White per default).
  • Pointer autohide (Disabled per default).

Settings

  • User shell (Default to your default shell).
  • Start directory when you launch a terminal.
  • Select by word char (Default to: -A-Za-z0-9,./?%&#:_=+@~). (No more available and automatic in version 3.0)
  • When the user double-clicks to start selection, the terminal will extend the selection on word boundaries.
    It will treat characters included in spec as parts of words, and all other characters as word separators.
    Ranges of characters can be specified by separating them with a hyphen.
  • Audible bell (Not available in version 2.0)
  • Scrollback lines.

    • Unlimited (Default).
    • Settable to the value you want.

  • Scrolling.

    • Scroll on output (Disabled per default).
    • Controls whether or not the terminal will forcibly scroll to the bottom of the terminal when the new data is received.
    • Scroll on keystroke (Enabled per default).
    • Controls whether or not the terminal will forcibly scroll to the bottom of the terminal when the user presses a key.
  • Erase binding.

    • Backspace key binding (Default to automatic).
    • Delete key binding (Default to automatic).

File handler manager:

Here you can add and remove files for the File handler feature.

Applications

Here you can define shortcuts for the applications you want.

Settings

  • Define the ratio main-interface and sidebar in form of a floating-point value between 0.0-1.0,
    representing the surface the sidebar will cover and so the width of the sidebar terminals.
  • Show | hide the sidebar terminals at start.
  • Show | hide the big terminal at start.
  • Choosing to divide the big terminal in 4 at start.
  • Toggle to fullscreen at start.
  • Launch a command in the terminals at start.
  • Set it-edit as your default editor or reset the settings.


Shortcuts memo

Shortcut functionality Mnemonic
Ctrl + n New file n = new
Ctrl + o Open file o = open
Ctrl + s Save file s = save
Ctrl + Maj + S Save all files S = Save
Ctrl + r Reload file r = reload
Ctrl + i File informations i = Informations
Ctrl + z Undo None
Ctrl + Maj + Z Redo None
Ctrl + f Find f = find
Ctrl + Maj + F Find all F = find
Ctrl + + (Keypad) Next None
Ctrl + - (Keypad) Previous None
Ctrl + Enter (Keypad) Replace None
Ctrl + Maj + Enter Replace all None
Ctrl + g Go to line number g = go to
Ctrl + x Cut None
Ctrl + c Copy c = copy
Ctrl + v Paste None
Ctrl + d Duplicate text d = duplicate
Ctrl + p Use tabs None
Ctrl + w Enable | Disable In-line spell check. None
Ctrl + Maj + w Dialog spell check. None
Ctrl + e Execute command e = execute
Ctrl + y Copy file-path to clipboard. None
Ctrl + Maj + Y Copy folder-path to clipboard None
Ctrl + b Show | Hide big terminal b = big terminal
Ctrl + Maj + B Switch big terminal features B = big terminal
Ctrl + t Show | Hide sidebar terminals t = terminal
Ctrl + Maj + t Add new terminals T = terminal
Maj + Copy (Keypad 1) Copy from terminal None
Maj + Insert (Keypad 0) Paste to terminal None
Ctrl + h File handler h = handler
Ctrl + a Application launcher a = application
Ctrl + q Quit application q = quit

Documentation: it-edit-3.0


On-line notice:

Download notice:

Read The Doc notice:

it-edit html doc:

it-edit pdf doc:

ChangeLog to version 3.0:



Files and useful links:


Note: By debian and rpm packages the gspell-1 library is optional, so better install it before installing it-edit if you use the *.deb or *.rpm file.

debian package file.

  

  • Use gdebi (in preference) or dpkg to install the debian package !

  • sudo gdebi it-edit-3.0.deb   # gdebi resolves dependencies.
    sudo dpkg -i it-edit-3.0.deb # dpkg doesn't resolves dependencies.

rpm package file.

  
  • it-edit-3.0-1.noarch.rpm

  • NOTE: If you get all requirements installed but the rpm program refuse to install it-edit: try the --nodeps switch.


Tarball file containing the sources from it-edit: An autotool implemented building system Linux and POSIX Compliant systems (not tested).


To install on Linux and POSIX compliant systems simply type:
$ ./configure
$ make
$ make strip # Remove all unneeded symbols.
$ sudo make install

Or if you can't install the gspell-1 library:

$ ./configure --disable-gspell-1
$ make
$ make strip # Remove all unneeded symbols.
$ sudo make install

github repository:



Older versions of it-edit


debian package file.


  • Use gdebi (in preference) or dpkg to install the debian package !

  • sudo gdebi it-edit-2.91.deb   # gdebi resolves dependencies.
    sudo dpkg -i it-edit-2.91.deb # dpkg doesn't resolves dependencies.

Tarball file containing the sources from it-edit: An autotool implemented building system Linux and POSIX Compliant systems (not tested).


To install on Linux and POSIX compliant systems simply type:
$ ./configure
$ make
$ make strip # Remove all unneeded symbols.
$ sudo make install

Credits

Program:it-edit
Versions:3.0
Platform:Linux, and Posix compliant (not tested).
Synopsis:An integrated terminal editor, fully adaptable to your requirement, with severals functionalities.
Licence:GPLv3.
Author:Eddie Brüggemann mrcyberfighter@gmail.com
Corrections:Thanks to Gerald Dumas for his help into the it-edit project.
Bugfix:Thanks to Mickaël S for his little bug-fix with big effects and the trailing spaces auto-removing idea.
Thanks:Thanks to my beloved mother, my family and to the doctors.
Advice:Stay away from drugs: drugs destroy your brain and your life.