Original author(s)Dan Murphy
Initial release1962/63
Operating systemOS/8, ITS, TOPS-10, TOPS-20, RT-11, RSTS/E, RSX-11, OpenVMS
TypeText editor

Sep 21, 2016 If you like the Vi editor in Linux, but prefer a graphical editor that also serves well as a programmer’s text editor, Editra and Komodo Edit are good options. They both provide Vi emulation, as well as support for syntax highlighting in many programming languages and code folding. A text editor for BeOS. Free software: pluma: The default text editor of the MATE desktop environment for Linux. Free software: PolyEdit: Proprietary: Programmer's File Editor (PFE) Freeware: PSPad: An editor for Microsoft Windows with various programming environments. Freeware: Q10: A full screen text editor (Windows). Freeware: RJ TextEd. Jul 29, 2019 Today, we bring you a line up of text editors for Mac users that are sure to meet all your coding requirements while offering reliability and security. Visual Studio Code. Visual Studio Code is an open-source source code editor created and maintained by Microsoft. It is designed with beauty, ease-of-use, and speed in mind, coupled with. 9 Best Text Editors for Mac – Paid and Free Mac Text Editors. Earlier, we had given you a list of best CSS editors to create and edit CSS files, and some of those editors are good text editors as well.We have both free and paid text editors for Mac listed here, offering different capabilities. A text editor is at the core of a developer’s toolbox, but it doesn't usually work alone. Work with Git and GitHub directly from Atom with the GitHub package. Create new branches, stage and commit, push and pull, resolve merge conflicts, view pull requests and more—all from within your editor.

TECO (Tee'koh[1] / /ˈtk/), Text Editor & Corrector[2][3][4] is both a character-oriented text editor and a programming language,[5][6] that was developed in 1962 for use on Digital Equipment Corporation computers, and has since become available on PCs and Unix. Dan Murphy developed TECO while a student at the Massachusetts Institute of Technology (MIT).[5]

According to Murphy, the initial acronym was 'Tape Editor and Corrector' because 'punched paper tape was the only medium for the storage of program source on our PDP-1. There was no hard disk, floppy disk, magnetic tape (magtape), or network.'[5] By the time TECO was made available for general use, the name had become 'Text Editor and Corrector,'[4] since even the PDP-1 versionby then supported other media.[5] It was subsequently modified by many other people[7] and is a direct ancestor of Emacs, which was originally implemented in TECO macros.[8][9][10]


TECO is not only an editor but also an interpretedprogramming language for text manipulation. Arbitrary programs (called 'macros') for searching and modifying text give it great power. Unlike regular expressions, however, the language was imperative, though some versions had an 'or' operator in string search.

TECO does not really have syntax; each character in a program is an imperative command, dispatched to its corresponding routine. That routine may read further characters from the program stream (giving the effect of string arguments), change the position of the 'program counter' (giving the effect of control structures), or push values onto a value stack (giving the effect of nested parentheses). But there is nothing to prevent operations like jumping into the middle of a comment, since there is no syntax and no parsing.

TECO ignores case and whitespace (except tab, which is an insertion command).[11]

An essay on computer programming, Real Programmers Don't Use Pascal, suggested that a common game for TECO fans was to enter their name as a command sequence, and then try to work out what would happen. The same essay in describing TECO coined the acronymYAFIYGI, meaning 'You Asked For It You Got It' (like WYSIWYG).


Richard Stallman's Emacs editor was originally implemented in TECO. Parallel desktop for mac cracked mac. TECO became more widely used following a Digital Equipment Corporation (DEC) PDP-6 implementation developed at MIT's Project MAC in 1964. This implementation continuously displayed the edited text visually on a CRT screen, and was used as an interactive online editor. Later versions of TECO were capable of driving full-screen mode on various DEC RS232 video terminals such as the VT52 or VT100.

TECO was available for several operating systems and computers, including the PDP-1 computer, the PDP-8 (under OS/8)[12][13], the Incompatible Timesharing System (ITS) on the PDP-6 and PDP-10, and TOPS-10 and TOPS-20 on the PDP-10. A version of TECO was provided with all DEC operating systems; the version available for RT11 was able to drive the GT40 graphics display while the version available for RSTS/E was implemented as a multi-user run-time system and could be used as the user's complete operating environment; the user never actually had to exit TECO. The VTEDIT (Video Terminal Editor) TECO macro was commonly used on RSTS/E and VAX systems with terminals capable of direct-cursor control (e.g. VT52 and VT100) to provide a full-screen visual editor similar in function to the contemporaneously developed Emacs.

TECO continues to be included in OpenVMS by VSI, and is invoked with the EDIT/TECO command.[14]

A descendant of the version DEC distributed for the PDP-10 is still available on the Internet, along with several partial implementations for the MS-DOS/Microsoft Windows environment.


TECO was originally developed at MIT[15] in around 1963 by Daniel L. Murphy for use on two PDP-1 computers, belonging to different departments, both housed in MIT's Building 26.[16] On these machines, the normal development process involved the use of a Friden Flexowriter to prepare source code offline on a continuous strip of punched paper tape. Programmers of the big IBM mainframes customarily punched their source code on cards, using key punches which printed human-readable dot-matrix characters along the top of every card at the same time as they punched each machine-readable character. Thus IBM programmers could read, insert, delete, and move lines of code by physically manipulating the cards in the deck. Punched paper tape offered no such amenities, leading to the development of online editing.

An early editor for the PDP-1 was named 'Expensive Typewriter'. Written by Stephen D. Piner, it was the most rudimentary imaginable line-oriented editor, lacking even search-and-replace capabilities. Its name was chosen as a wry poke at an earlier, rather bloated, editor called 'Colossal Typewriter'. Even in those days, online editing could save time in the debugging cycle. Another program written by the PDP-1 hackers was Expensive Desk Calculator, in a similar vein.

The original stated purpose of TECO was to make more efficient use of the PDP-1. As envisioned in the manual, rather than performing editing 'expensively' by sitting at a console, one would simply examine the faulty text and prepare a 'correction tape' describing the editing operations to be performed on the text. One would efficiently feed the source tape and the correction tape into the PDP-1 via its high-speed (200 characters per second) reader. Running TECO, it immediately would punch an edited tape with its high-speed (60 characters per second) punch. One could then immediately proceed to load and run the assembler, with no time wasted in online editing.

TECO's then-sophisticated searching operations were motivated by the fact that the offline Flexowriter printouts were not line-numbered. Editing locations therefore needed to be specified by context rather than by line number. The various looping and conditional constructs (which made TECO Turing-complete) were included in order to provide sufficient descriptive power for the correction tape. The terse syntax minimized the number of keystrokes needed to prepare the correction tape.

The correction tape was a program, and required debugging just like any other program. The pitfalls of even the simplest global search-and-replace soon became evident. In practice, TECO editing was performed online just as it had been with Expensive Typewriter (although TECO was certainly a more feature-complete editor than Expensive Typewriter, so editing was much more efficient with TECO). The original PDP-1 version had no screen display. The only way to observe the state of the text during the editing process was to type in commands that would cause the text (or portions thereof) to be typed out on the console typewriter.

By 1964, a special Version of TECO (TECO-6) had been implemented on the PDP-6 at MIT. That version supported visual editing, using a screen display that showed the contents of the editing buffer in real time, updating as it changed.[17] Amongst the creators of TECO-6 were Richard Greenblatt and Stewart Nelson.[18]

At MIT, TECO development continued in the fall of 1971.[citation needed] Carl Mikkelsen had implemented a real-time edit mode loosely based on the TECO-6 graphic console commands, but working with the newly installed Datapoint-3300 CRT text displays.[19] The TECO buffer implementation, however, was terribly inefficient for processing single character insert or delete functions—editing consumed 100% of the PDP-10. With Richard Greenblatt's support, in summer of 1972 Carl reimplemented the TECO buffer storage and reformed the macros as native PDP-10 code.[citation needed] As entering the real-time mode was by typing cntl+R, this was known as control-R mode. At the same time, Rici Liknaitski added input-time macros (cntl+]), which operated as the command string was read rather than when executed.[citation needed] Read-time macros made the TECO auxiliary text buffers, called Q-registers, more useful.[citation needed] Carl expanded the Q-register name space. With read-time macros, a large Q-register name space, and efficient buffer operations, the stage was set for binding each key to a macro.[20] These edit macros evolved into Emacs.[21]

The VMS implementation has a long history - it began as TECO-8, implemented in PDP-8 assembly. This code was translated into PDP-11 assembly to produce TECO-11. TECO-11 was used in early versions of VAX/VMS in PDP-11 compatibility mode. It was later translated from PDP-11 assembly into VAX assembly to produce TECO32. TECO32 was then converted with the VEST and AEST binary translation utilities to make it compatible with OpenVMS on the Alpha and Itanium respectively.[22][23][24]

OS/8 MUNG command[edit]

The OS/8 CCLMUNG command invoked TECO to read and execute the specified .TE TECO macro. Optional command line parameters gave added adaptability.[25]

As a programmer's tool[edit]

During and shortly following the years of the punched card era, there were source programs that had begun as punched card-based. Comments were often a series of lines that included single marginal asterisks and top/bottom full lines of asterisks. Once the cards were transferred online, it was a chore to realign the marginal stars. TECO to the rescue..[26][27]

As a programming language[edit]

The obscurity of the TECO programming language is described in the following quote from 'Real Programmers Don't Use Pascal', a letter from Ed Post to Datamation, July 1983:

It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse - introduce subtle and mysterious bugs in a once working subroutine.[28]


According to Craig Finseth, author of The Craft of Text Editing,[29] TECO has been described as a 'write-only' language, implying that once a program is written in TECO, it is extremely difficult to comprehend what it did without appropriate documentation.

Despite its syntax, the TECO command language was tremendously powerful, and clones are still available for MS-DOS and for Unix.

TECO commands are characters (including control-characters), and the prompt is a single asterisk:

The escape key displays as a dollar sign, pressed once it delineates the end of a command requiring an argument and pressed twice initiates the execution of the entered commands:

Example code[edit]

Given a file named hello.c with the following contents:

one could use the following TECO session (noting that the prompt is '*' and '$' is how ESC is echoed) to change 'Hello' into 'Goodbye':

These two example programs are a simple interchange sort of the current text buffer, based on the 1st character of each line, taken from the PDP-11 TECO User's Guide. A 'goto' and 'structured' version are shown.

Example 1[edit]

Example 2[edit]


  1. ^'DEC Timesharing'. The DEC Professional.
  2. ^'A powerful and sophisticated text editor, TECO (Text Editor and Corrector) .. Bell, C. Gordon; Mudge, J. Craig; McNamara, John E. (2014). Computer Engineering: A DEC View of Hardware Systems Design. ISBN1483221105.
  3. ^The name on the cover of DEC's DEC-10-UTECA-A-D manual is 'Introduction To TECO (Text Editor And Corrector)'
  4. ^ abPDP 8/e small computer handbook. 1970. p. 2-30.
  5. ^ abcdMurphy, Dan (October–December 2009). 'The Beginnings of TECO'(PDF). IEEE Annals of the History of Computing. 31 (4): 110–115. doi:10.1109/mahc.2009.127.
  6. ^citing Comm. of the ACM (see vol. 19, no. 12, 1976)
  7. ^'TECO'. The Jargon File. v.4.4.7. ibiblio.
  8. ^'A History of EMACS'.
  9. ^Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015). Making and Unmaking Intellectual Property: Creative Production. ISBN022617249X. EMACS was originally built on top of TECO
  10. ^Harley Hahn (2016). Harley Hahn's Emacs Field Guide. p. 9. ISBN1484217039.
  11. ^'TECO Pocket Guide'. <tab>text$, Inserts specified text preceded by a tab.
  12. ^'Standard TECO Text Editor and Corrector'. Standard TECO. Text Editor and Corrector for the. VAX, PDP-11, PDP-10, and. PDP-8.
  13. ^'Doug Jones's DEC PDP-8 FAQs'. What programming languages were supported on the PDP-8? .. TECO, the text editor, was included in the standard OS/8 distributions
  14. ^'VSI OpenVMS DCL Dictionary: A-Z'(PDF). vmssoftware.com. April 2020. Retrieved 2020-09-13.
  15. ^'Summary of TECO commands'. From a collection of MIT PDP-1 paper tapes at the Computer History Museum. Archived from the original on 2008-01-18. Retrieved 2007-09-12.
  16. ^Murphy, Dan (2009). 'The Beginnings of TECO'(PDF). IEEE Annals of the History of Computing. 31 (4): 110–115.
  17. ^Samson, Peter (July 23, 1965). 'PDP-6 TECO'(PDF). Memorandum MAC-M-250. p. 9. Retrieved 2007-09-12.
  18. ^Edwards, Daniel J. (October 29, 1964). 'TECO 6'. Memorandum MAC-M-191. p. 2. Archived from the original on 2007-09-28. Retrieved 2007-09-12.
  19. ^'For the Time Sharing Computer User: Datapoint 3300'(PDF). Computer Terminal Corporation. Retrieved 2009-10-27.
  20. ^'Teco Editor'. c2.com. August 16, 2010. Retrieved 2013-08-17.
  21. ^'An Introduction to the EMACS Editor'(PDF). MIT. January 1978. Retrieved 2016-11-15.
  22. ^'tecox Readme'. github.com. 2019-06-10. Retrieved 2020-09-13.
  23. ^'VAX PDP11 Compatibility Mode'. comp.os.vms.narkive.com. 2019-08-06. Retrieved 2020-09-13.
  24. ^'Andy Goldstein retirement'. comp.os.vms.narkive.com. 2009-06-12. Retrieved 2020-09-13.
  25. ^'TECO Reference Manual digital equipment corporation'(PDF).
  26. ^Martin Pring (July 1982), Why Teco
  27. ^ He wrote this years after his colleague Carl B. Marbach became editor of a DEC-oriented periodical and wrote 'Why Teco?.' Both items were published together.
  28. ^Post, Ed (July 1983). 'Real Programmers Don't Use PASCAL'. Datamation. 29 (7): 263–265.
  29. ^Finseth, Craig A. (2006). The Craft of Text Editing. Lulu.com. ISBN978-1-4116-8297-9.


  • TECO pocket guide. Digital Equipment Corporation. 1978. Archived from the original on 2008-02-07. Retrieved 2012-05-24.
  • Murphy, Dan (2009). 'The Beginnings of TECO'(PDF). IEEE Annals of the History of Computing. 31 (4): 110–115.
  • TECO Historic Archive. 1990.

External links[edit]

  • Tom Almy's TECO page. Includes a TECO based on Pete Siemsen's TECOC and DECUS documentation. There are MS-DOS, Windows (console), Linux, Mac OS X, and OS/2 versions.

This article is based in part on the Jargon File, which is in the public domain.

Retrieved from 'https://en.wikipedia.org/w/index.php?title=TECO_(text_editor)&oldid=978264979'

Python as a programming language finds application in many sectors like Business Intelligence, Database management, Data Science, Machine Learning and Deep Learning, etc. This language makes life easy for every coder around the globe. The codes that are written in this language are general English words that we use in our day to day life. Now, to decorate these codes we have written and get fancy colors in our texts along with code suggestions, there are many text editors present on the internet. These text editors help in making programs more attractive and easily understandable along with easy execution of the same.

Some best free and open-source text editors for Python coding along with their download links:

Pycharm- All Python Tools in one place

The first one of the best text editor to start programming with Python is Pycharm. It is IDE which contains all the essential libraries of python and one just needs to import the same from its environment. This text editor is very user friendly in nature. The OS platforms that it supports are Windows, MAC, and Linux. The text editor was built with the help of two programming languages namely Python and Java. It comes in two versions that are, a full-fledged version which is a paid version, and a community version that is free for users to download and work on. Other frameworks that this text editor supports are HTML, CSS, Javascript, Angular JS, etc. Also, there is a provision for debugging, testing, profiling, deployments in this text editor. The manufacturer of this amazing text editor is Jet Brains and the downloadable version of this IDE is present on their website.

  • Platform: Supports Windows 10/8/7, macOS, and Linux
  • Price: Free (open-source community version) and Professional cost $199.00/first year

Download PyCharm open source code editor

Spyder code editor

Text Editor For Programming Machine Learning

Spyder (Scientific Python development environment) is an amazing text editor that comes inbuilt with Anaconda installation that is a virtual Python installation. This text editor was built to make scientific Python related work easy. The editor is built using pyqt and therefore it can be used as an extension as well. It comes with some amazing features like editing, debugging, and data exploration within its environment. The text editor also provides a syntax highlighting feature that makes code very beautiful and understandable by the user. It also provides suggestions while writing codes and helps in code completion as and where necessary.

  • Platform: Windows 10/8/7, macOS, and Linux
  • Price: Free

Download Spyder Code editor for Python

Jupyter Notebook

JupyterLab is the most used open-source web-based text editor for carrying out Data Science related work and very good IPython editor where data visualization and Machine Learning related work can be performed. Also, the code written in this editor is very user friendly because of its cell provision feature. We can write a full code in different cells and can run the selected parts of it or delete the selected parts. The notebook is pip installable and is a part of the Jupyter Lab. You can extend its functionality using the plugins.

  • Platform: Web + Windows 10/8/7, macOS, and Linux
  • Price: Free

Install JupyterLab or access via web

Google Colab IPython console

Another one of the best web-based text editor or an IPython console that is available in the cloud. This is similar to the Jupyter notebook in its feature. The only difference that is present and is very unique is the provision of free GPU and TPU. People who don’t have a good GPU laptop can use Google Colaboratory’s free GPU and can run various Deep Learning programs. The GPU service available to the user is valid for 12 hours and after that, the user needs to again start his work. This cloud editor also contains all the important libraries of python like Numpy, Pandas, Scikitlearn, Tensorflow, Pytorch, etc. So, with this notebook being used there is no need to download Python packages separately.

  • Platform: Web-based, thus support all available operating systems via the browser.
  • Price: Free

Download Google Colab

Sublime Text – Code editor

This is a very lightweight and cool text editor that is free to all. This editor can be used for various programming languages like Python, Java, Perl, C#, C++, and many more. The user just needs to select his/her desired language he wants to work in from the dropdown options given in Sublime text and then start coding. This text editor also provides color highlighting to our codes. Because of this, the code looks beautiful and interactive. This text editor also has features like code auto-completion and syntax correction. This is one of the most used text editors by all Python developers.

  • Platforms: This editor is compatible with all OS platforms like Windows 10/8/7, Linux, and Mac, etc.
  • Price: Free

Visual Studio Code IDE

Best Free Programming Text Editor

This is the standard widely used and one of the top free source-code editor for Python or carrying out any type of code development using various programming languages. It has plugins for various languages that we need to download and start our work. This text editor has Intelli sense property and helps in completing syntax based on function definition, types of variables, etc. Also, there is a syntax highlighting feature present in this editor. The interface is very interactive and provides multi-language support within its console. It is compatible with Git and one can easily commit operations in Git with the help of this text editor. Also, there is a multi-window split option in this editor which allows any developer to run different programs in parallel with others.

  • Platforms supported: Windows 10/8/7, Linux, and macOS
  • Price: Free

Download Visual Studio Code editor for free

Free Mac Text Editor

Atom – Hackable code editor

Another free and open-source customizable text editor most preferred by Python developers. This web application is built using Node.js and supports various programming languages by downloading the respective plugins. Like all text editors mentioned above, this one also supports different OS and therefore possesses cross-platform functionality. It is also an open-source editor and can be downloaded from the website of Atom along with themes to change the look and feel of it.

  • Platforms supported: Windows 10/8/7, Linux, and macOS
  • Price: Free and open-source

Simple Text Editor For Mac

Download Atom code editor


There are many more text editors that are present in the market and one can choose any text editor that he/she is comfortable with and can start their coding journey. So, before downloading please go through the proper documentation and the number of features the editor possess.

Coments are closed
Scroll to top