With so many text editors, it is really difficult to find a completely satisfied one. The more you read, the more difficult it is to choose. Maybe it's just a bit of an eye: P. Now, I write out my ideal text editor. Since it is ideal, it is inevitable that the requirements are a little high. Maybe such software will never exist, but my ideal will always exist.
I. General requirements
1. It is best to use free software. It would be better if it is open source. Requirement level:★★★★
After all, it is getting harder and harder to make money now, and a shared software costs at least a few dozen dollars, and the RMB is a small number. Although I am a programmer, I still want the text editor to be free of charge. The open-source requirements seem to be a little too much. In fact, I am trying to consider that there are too few people who can develop a free text editor for years like the authors of vim, many people are interested in software development at the beginning, but they have to give up software updates for various reasons, such as dreamedit, textpro, and crimson editor, you can give future generations the opportunity to develop on their own. Although these two requirements are relatively high, many software are satisfied. For example, free and open-source software includes notepad ++ and Turbo
Pad, notepad2,, jedit, etc. ps3, notexpad, dreamedit, and textpro are not open-source for free.
For paid software, the free version can be provided to users like emeditor and editpad, and there are some functional limitations.
2. Try to look better at the interface. Requirement level:★★
With so many software, I like emeditor and programmer's notepad2 interfaces most, especially emeditor.
3. Fast startup. Requirement level:★★★
In the text editor I have used, the startup speed should be notepad2, win32pad, notepad ++, and emeditor. the startup speed of these software is comparable to that of notepad, the slow startup speed is ps3, ultraedit, and Emacs. Among them, Emacs is the slowest. However, in terms of this question, the single-document software, such as notepad2 and editor2, is simply used to replace notepad. It runs countless times a day, and the startup speed is crucial; the multi-document software such as ultraedit and Emacs only needs to run once a day. Therefore, the startup speed of such software has little impact on me.
4. Open a large file faster. Requirement level:★★★
Generally, the size of files edited by me ranges from several kb to several Mb, which is not big and does not affect the speed of opening. However, sometimes you need to edit a relatively large software, such as dozens of M or even hundreds of M, which requires a high level of software. madedit is doing well in this regard, let alone vim and Emacs.
5. hexadecimal editing is supported. Requirement level:★★★
This requirement is special, but sometimes it can be used in a program change. Vim, ultraedit, ps3, notepad ++ (implemented by plug-ins), and madedit all support this function.
Ii. Editing
1. good support for Chinese characters. Requirement level:★★★★★
It includes the following:
(1) Chinese search and replacement are supported. At present, most software can achieve this. Even if it is notepad ++, you only need to select a regular expression to search for Chinese characters (this is strange, there is not much relationship between the Chinese and the regular expression ms ). Turbo pad does not seem to support this function.
(2) No garbled characters are added or deleted. This problem exists in the old version of editplus and has not been encountered yet.
(3) No garbled characters appear during column operations. This problem exists in the earlier version of ultraedit, which has never been seen in other versions.
(4) Chinese and English hybrid sorting is supported. Many software products support this problem, such as NotePad ++. If Chinese and English are mixed, there will be some inexplicable line breaks. editplus also has some problems, and sometimes it will automatically wrap the lines after spaces, it looks ugly; double-click an English word in Chinese, for example, "I think editplus is good". emeditor and madedit will select the word "editplus, notepad ++ Selects all the text in the entire text segment (it does not know Chinese). notepad2 is even more strange. It selects a part of the text and does not know how to separate it.
(5) supports simplified/Traditional Chinese and full-width conversion. Emeditor and madedit are all supported.
(6) supports Chinese space indentation. This function is only available in emeditor.
(7) count the number of words. It is best to count the number of Chinese and English words and words. Emeditor and madedit have the best support. Although notepad2 can be used for statistics, only selected texts in the entire document can be counted. ultraedit, emeditor, and VIM can only count English words and words; this function is not available for ps3, but the author provides a script that can be implemented.
2. Good programming support. Requirement level:★★★★★
It includes the following:
(1) supports multiple common programming languages. Both ultraedit and editplus do not support Pascal; ps3does not support C # By default (you can add it by yourself); newedit does not support C #, but this software is mainly used for python. I think my ideal editor should support Pascal, C ++, C #, Java, INI, HTML, and SQL. Vim is the best. It seems that it does not support any language.
(2) code folding is supported. It is best to support three fold modes: Indent fold, syntax fold, and custom fold. Vim supports all three of these types. emeditor uses plug-ins to support indentation and syntax collapse, but sometimes an error is reported. notepad ++ and edit-minus have the best support for syntax collapse, however, other types of folding are not supported. Other functions such as newedit and jedit also support syntax collapse.
(3) Code Completion is supported. This function has many names, some of which are code complete and some are code insight, but some software regards code complete as a code template. My requirement is to press a shortcut key to bring up a menu and select a variable (this variable appears before ). Ultraedit, ps3, notepad ++, Vim, and scite all have this function. Among them, scite can be set to automatic pop-up, without pressing the shortcut key, it is a bit like vs2005.
(4) supports code templates. Some are called code clip. Press a few keywords and then press the shortcut key to bring up a large piece of common code. For example, if is input, it can be automatically completed as follows:
If ()
{
}
I first found this function in eclipse and found it useful. Later I found it in Delphi, which greatly improved my work efficiency.
This feature is supported by PS3. vim and scite have a feature named "abbreviation", which is also supported by polar editor. Editplus is automatically popped up, but this is a little inconvenient. I think it is better to use the shortcut key.
(5) Matching of parentheses and quotation marks can be automatically completed. This feature is supported by most software.
(6) You can go back to the last edited place and choose Ctrl +-In. This function is available in ultraedit, emeditor, and jedit.
3. Supports the insert date. Requirement level:★★★★★
I often need to insert the current date in the file, so this function is more urgent. Among the software I have used, editplus is the best. There are several items in the menu, which correspond to long time, short time, long date, short date, and so on; ultraedit, emeditor, notexpad, editor2, and other software can insert a date and a time, but cannot be inserted separately or in an output format. You can set an output format for ps3or vim, however, it is difficult to write the configuration file by yourself. Note pad ++, notepad2, and so on are inserted before the time, and after the date, such as "13:23:32", cannot be set, and it is inconsistent with my habits.
4. webpage preview is supported. Requirement level:★★★★
Due to work requirements, I often use a text editor to open webpages for editing and previewing, which is very convenient. However, although Dreamweaver and other software have this function, it is too large to start and preview slowly.
Both editplus and emeditor Support Web Page Preview. Other software does not seem to have this function.
5. Supports search highlighting.
Currently, this function is available only in Vim, emeditor, and notepad ++, that is, highlight the content you want to search for, and it looks clear at a glance.
6. Powerful search functions, regular expressions, list, statistics, and other functions.
Regular Expressions are now supported by many software, but the degree of support is not the same. The most powerful ones are Emacs and Vim, and ultraedit is also good. emeditor seems to be a little weaker.
For the list and statistics functions, only notepad ++ and ps3are supported. The latter provides better support.
7. Multiple clipboard supported.
This function is useful when code needs to be modified repeatedly. ultraedit supports 10 clipboard, while ps3supports clipboard loop. I think the latter is better. Other software is not clear.
Iii. Additional Functions
Some additional functions seem unimportant, but they are really easy to use during use. In general, I think ps3is doing better in this regard.
1. hexadecimal conversion.
Ultraedit and ps3all have this function, and the latter is better.
2. Sum of constituency.
Ultraedit and ps3can use this function, which is better.
3. Evaluate the expression.
This function is available only for PS3.
4. Send by email.
Editpad pro, emacs (you need to write the configuration file yourself), and dreamedit are available for this function. However, this function of dreamedit has never been running properly on our side.
5. File Browser.
Ultraedit, editplus, edit-minus, emeditor (Latest Version), ps3, and VIM all have this function.
Iv. scalability.
In this regard, the most powerful is said to be Emacs, so many people call it an operating system, but I will not use it. :(
1. Macro.
Both vim and emeditor are powerful. emeditor's macro functions support VBScript, JavaScript, Perl, Python, and other script languages. Emacs's lisp is also very strong, but unfortunately it has never been used.
2. Plug-ins.
Emeditor has the most powerful plug-in functions, such as row number and code folding, which can all be implemented by plug-ins. ps3, the plug-in supports VBScript and JavaScript, and can implement similar functions as emeditor macros; notepad ++ has a strong plug-in function and can implement hexadecimal editing and other functions. Unfortunately, no interface is provided.
5. configuration.
At this point, the number of scite is the worst. Although the function is very powerful, the configuration file has to be completely written by itself, not even a single interface, even if it is vim, it also provides a simple configuration interface.
My requirements for configuration are: accurate classification and comprehensive functionality.
The configuration of ultraedit is comprehensive, but not useful. editplus can be concise but not comprehensive. emeditor has a good balance. vim and Emacs mainly rely on configuration files; you can use the interface settings and directly edit the interface, but it does not seem comprehensive.
After writing so much, I found that my favorite editor is emeditor, followed by PS3. I used madedit from yesterday and liked it very much, but it is not as good as the previous two, however, they are not perfect, and they are not ideal. I hope I have the opportunity to compile a good text editor, although I don't know when I will have this opportunity. If someone wants to compile the program, I hope this article will give him a good reference.