GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


archive:programming:vivsemacs
           A COMPARATIVE STUDY OF VI AND EMACS FROM THE
             PERSPECTIVE OF NOVICE AND REGULAR USERS

(author: William Knottenbelt - william@cs.uct.ac.za/wjk@doc.ic.ac.uk)

ABSTRACT:

The editors vi and emacs were compared using a simple time-based experimental method involving common text manipulations and a post- test opinion survey by questionnaire. The subjects were twelve students; six were novices and six were regular users. Significant objective performance differences were confined to the novice users; here emacs consistently outperformed vi with respect to time taken to perform the tasks and the amount of help needed. Subjectively, novices preferred emacs because of its more predictable nature. Emacs was therefore the editor of choice for the novice users tested. There appears to be no advantage for a regular user of one editor to switch to the other.

INTRODUCTION:

A text editor is an essential tool in virtually every computing environment since a large proportion of a user's time is likely to be spent in editing documents or writing program code and job control files. Intense and sometimes emotional "my-editor-is-better-than-your- editor" debates are common in computer discussion groups. One perennial bone of contention concerns the qualities of "vi" and "emacs" - both popular and widely-used UNIX editors. Published formal studies of text editors [eg. 1] tend to be very complex, and few, if any, have specifically addressed the "vi"/"emacs" controversy. Other informal studies on this subject [2] have generally been anecdotal, reflecting the personal experience of the author, rather than being objective reviews. This study attempts to compare the performance of "vi" and "emacs" in our local environment in a simple but scientific way.

METHOD:

A controlled experiment was determined to be the best means of objective comparison. The design was in keeping with the limited resources available so methodology involving in-depth analysis of functionality and specialized techniques such as real-time keystroke recording were avoided. Instead, the final design was simple enough to be implemented by two observers with stopwatches.

Twelve subjects were used in the experiment - six novices and six skilled regular users. Three of the novices were "non-technical" novices who had little or no computing experience and no experience of either vi or emacs; the other three novices were "technical" novices who had substantial computing experience but little or no experience of either vi or emacs. Since all the novices had similar experience with vi and emacs, useful comparisons could be made by testing their performance with both editors; on the other hand, each of the regular users was tested only on his/her editor of choice.

Each subject was asked to perform some common text manipulation tasks on an extract from Sue Townsend's Diary of Adrian Mole. These included text entry, insertion and deletion of characters, words and sentences, searching and replacing, and transposition of paragraphs (see Appendix A for the complete task list, starting text and target text).

All tests were conducted individually on a user/observer basis. The subject was told that the editor, rather than the subject, was being tested and that he/she was free to quit at any time if he/she became uncomfortable. The subject was then given a copy of the task list and a help sheet containing relevant commands for each editor (see Appendix B). Each task was explained and questions were answered. During the observation, the time for each task was noted, as well as the amount of time spent looking for help and the number of times help was needed.

Novices used the editors in randomized order (determined by the toss of a coin) and performed the set of tasks twice so that some idea of learning curves could be obtained. Skilled regular users were only required to perform the tasks once.

After completing the tasks, subjects completed a questionnaire asking them to rate the editors based on six criteria, viz. consistency, feedback, friendliness, learnability, usability and efficiency. They were also asked to give details of any problems or frustrations they experienced, as well as any features they liked (see Appendix E for the full questionnaire).

Trial runs of the experiment were performed on both editors. No problems were found with vi and all tasks could be performed successfully. However, some problems, all caused by terminal peculiarities, were experienced with emacs. In particular, backspace did not work, the cursor keys did not work and Ctrl-s could not be used (it is used for XON/XOFF flow control). Investigation revealed that the ibm3151 terminals we use are not supported by emacs; when emacs was run on a more common vt100 terminal, everything worked correctly. However, emacs on-line help gives full details to enable system administrators to have emacs support any particular terminal type without user intervention. So as not to penalize emacs for this administrative oversight, emacs was minimally customized to emulate a proper working setup on our terminals. (* the error was reported by the author and emacs has now been correctly set up for use with our terminals.)

To statistically compare the editors with regard to the total time taken to perform the tasks and the time spent looking for help, appropriate t-tests for dependent or independent samples were applied.

RESULTS:

OBJECTIVE EVALUATIONS:

Appendix C contains a complete summary of the times taken to complete the tasks. The statistical analysis of the results is given below:

+——————————————————————+

HYPOTHESES Non. Tech. Reg.
(Objective testing) Tech. Nov. User
————————————-+———+———+——–
First trial: emacs faster than vi Yes+ Yes+ No
Second trial: emacs faster than vi Yes* Yes+ N/A
Less help required with emacs Yes+ Yes+ No
Text entry faster with emacs Yes* Yes* No
Text manipulation faster with emacs Yes+ Yes* No

+——————————————————————+ Non. Tech. = Non-technical Novice + p<0.05 * p<0.01 Tech. Nov. = Technical Novice Reg. User = Skilled Regular User

The mean improvement in time taken by novices between the first and the second trials for each editor (expressed as a percentage) was also calculated:

+——————————————————————+

PERCENTAGE IMPROVEMENT IN TIME BETWEEN TRIALS
——————————————————————
Non-technical Technical
novices novices
——————————————————————
vi 39 +/- 4 % 28 +/- 5 %
emacs 27 +/- 6 % 21 +/- 8 %

+——————————————————————+

SUBJECTIVE EVALUATIONS:

Appendix D contains summarised results of the questionnaire. Although differences in subjective scores were not significant on testing, each editor came in for some criticism and some praise.

SUBJECTS' OPINIONS OF VI:

The main difficulties novice users found with vi were:

  1. editor modes were hidden resulting in apparent unpredictability
  2. backspace worked only on newly inserted text and did not update

the screen accurately

  1. using ESC x to delete a character appeared to be unpredictable -

most novices could not apparently tell whether the character

  to the left of the cursor or the character under the cursor
  would be deleted (see discussion below)
- case-sensitivity of commands caused some confusion
- cursor keys could not be used to get right to the end of a line or
  right to the end of a document
- non-technical novices found it very clumsy

Positive features appreciated by novice users were:

  1. the undo feature
  2. commands could be backed out of at any time by pressing ESC
  3. technical novices thought it had potential to be efficient

Regular vi users felt:

  1. vi was fast, powerful and efficient
  2. although vi had some "quirks", they were not a nuisance as one

got used to them very quickly

  1. the command structure of vi was logical and intuitive
  2. vi's key mapping/macro facilities were very useful
  3. vi was the standard UNIX editor and was always available; it

should be learned for this reason alone

  1. vi was, however, difficult to learn; an on-line help facility

was needed

SUBJECTS' OPINION OF EMACS:

The main difficulties novice users found with emacs were:

  1. some of the commands were regarded as being unnecessarily

cumbersome, especially for the more complex manipulations

  1. mistyping commands sometimes resulted in "windows" appearing

which some users had difficulty in getting rid of

Positive features appreciated by novice users were:

  1. the "modeless" operation (or rather the lack of mode changes)
  2. the undo feature
  3. the backspace key was consistent in operation; it always

worked and always deleted the character to the left of the

  cursor
- commands generally did what was expected first time
- technical novices in particular liked the way emacs agreed
  with their experience of other editors and word processors,
  making basic editing tasks easy and giving the editor a
  familiar "feel" ("You don't have to learn what you already know")
- moving around the document was easy - getting to the end of a
  line or to the end of the document was simply a matter of moving
  the cursor

Regular emacs users felt:

  1. emacs was powerful and efficient enough for their purposes
  2. although there were a daunting number of commands and some

commands were cumbersome to type ("escape-meta-alt-control-

  shift"), emacs was easily customizable so frequently
  used operations could be moved to more acceptable key
  combinations
- emacs was particularly suited to editing large documents as
  it had facilities such as a spelling checker etc.
- emacs was very easy to use and also easy to learn, especially with
  the on-line tutorial and help

DISCUSSION:

Emacs appears to be the editor of choice for novices performing the given tasks. Not only were they able to perform the tasks significantly faster on both trials with significantly less need for help, but they also seem to have experienced less frustration. Novices, especially non-technical novices, had a very mechanical way of approaching the tasks and disliked having to give special commands - emacs suited this approach. For example, to add something to the end of a paragraph, novices generally just tried to move the cursor there and type. While this worked with emacs, vi would not let them move their cursor past the last character on a line (some held down the right arrow key for several seconds, hoping to achieve the desired effect); eventually they had to consult the help sheet (they needed ESC a - append to line).

Some apparent inconsistencies in vi's operation particularly frustrated novices. For example, the backspace key works only on newly inserted text - many novices expressed dismay that the backspace key that had worked while they were typing in text suddenly seemed to cease functioning when correcting other errors. They were forced to consult the help sheet again; this time they needed ESC x - delete character. The delete character operation itself seemed to be inconsistent - users felt they had to guess whether the character to the left of the cursor or the one under the cursor would be deleted. This is because vi moves the cursor backwards one space when the mode is changed from insert to command mode; thus if the user is in insert mode, the character to the left of the cursor is deleted, otherwise the character under the cursor is deleted. To novice users who were unused to these subtleties, however, deletion appeared to be a random process. By contrast, the operation of backspace in emacs was totally consistent - it always deleted the character to the left of the cursor.

The experiment also served to illustrate the main disadvantage of vi and the strong point of emacs as far as novices are concerned: the issue of on-line help. Not only did novices find that they needed less help with emacs (many did not need any help at all to perform basic manipulations), but a full tutorial and interactive on-line help is available; emacs' title screen gives new users full instructions on how to access these features (as well as how to quit emacs at any stage). This immediately puts the user at ease and gives him/her a sense of security. Vi, however, does not provide any on-line help; system manual pages are generally available but these tend to give reams of very technically-oriented detail which is mostly useless to a novice. In addition, most novices are not even aware of the manual page's existence. All the novices in our experiment encountered difficulties and required lots of help with vi right from the start of their tasks; it is therefore puzzling that vi should have no help facilities. Every editor user must pass through the novice phase; if the editor seems difficult to use and does not even provide basic help (like a list of common command keys), the user is likely to abandon the effort and use another program (if available).

The comparison of the percentage improvement in time between trials (see objective results) can be used to get an idea of the initial learning curves of vi and emacs, since time taken to perform tasks is a good measure of how well the user has learned to use the editor. While non-technical novices underwent a dramatic time improvement (39 +/- 4 %) between trials with vi, a more modest improvement (27 +/- 6 %) was noted using emacs. Thus we may tentatively conclude that vi has the steeper initial learning curve for non-technical novices. The percentage increases for technical novices were not as striking; a similar tendency was noted, but uncertainties were too large to reach any firm conclusions.

No significant difference in performance times was found with regular users of the editors; this suggests that, with practice, a similar level of performance can be obtained using both editors. Regular users of both editors were fully satisfied with their editor's functionality and efficiency. Regular users of vi, however, seemed to be more emotionally attached to that editor (ironically, this is possibly because they had invested considerable effort in learning it and take pride in their achievement).

It is important to note that while these experimental results strictly only apply to the specific set of tasks given ie. basic text manipulation, each editor has advanced facilities for other tasks such as programming. A non-technical novice, however, is unlikely to require these features at the beginning of his editing career; therefore it is reasonable to omit such specialized tasks from his/her tests. It is also likely that the performance of technical novices using these special features would be similar to their performance on basic text manipulation since programming involves similar tasks: for example insertion and deletion of "text" (code) and moving "paragraphs" (procedures). This, however, needs to be verified in further studies.

All subjects used in the study were relatively intelligent, well- educated university students (selected from various faculties). Although it would be presumptuous to extrapolate these results to the general population, it seems likely that with less sophisticated users, emacs would perform even better relative to vi due to its novice-friendly nature. Again, this needs to be experimentally verified.

CONCLUSION:

In this study, Emacs was found to be a significantly faster editor than vi for all grades of novice user attempting the simple text manipulation tasks given; they required significantly less help and also felt more comfortable with emacs' uniform modes and consistent response. Since emacs also has on-line help which is lacking in vi, it is definitely the editor of choice for novice users undertaking simple editing tasks. Further work needs to be done on specialized tasks such as programming and involving a broader spectrum of users.

No significant performance difference was found between vi and emacs for regular users and both have sufficient power to maintain a considerable following. Since every UNIX system already has vi, and many devoted adherents, vi should continue to be available as a choice to users; there is no advantage for regular vi users to change to emacs.

ACKNOWLEDGMENTS:

Although the analysis presented here is the work of the author, the experiment was designed and executed in collaboration with Ms. Marjolijn Weber, also a third year computer science student at UCT.

REFERENCES:

[1] T. Roberts, and K. Moran. The Evaluation of Text Editors:

  Methodology and Empirical Results; from Readings in Human-Computer
  Interaction (edited by B.M. Baeker and W.A.S. Buxton, 1987)

[2] Collected undergraduate studies of vi and emacs (Compiled by E.

  Blake, 1991)

[3] K. Gomoll. Some Techniques for Observing Users; from The Art of

  Human-Computer Interface Design (edited by Brenda Laurel, 1990)

[4] R. L. Mason. Statistical Design and Analysis of Experiments

  (Wiley, 1989)
                              APPENDIX A:
                             USER TASK LIST

1. Go to the end of the document and type in the following paragraph:

Joined the library. Got Care of the Skin, Origin of the Species, and a book by a woman my mother is always going on about. It is called Pride and Prejudice, by a woman called Jane Austen. I could tell the librarian was impressed. Perhaps she is an intellectual like me. She didn't look at my spot, so perhaps it is getting smaller. 2. Correct the three spelling errors in the first three lines of the first

 paragraph (one  error per  line) and  remove the extra "Geography" in the
 3rd line of the first paragraph.

3. Add the words "About time!" to the end of the second paragraph. 4. Delete the sentence "Time flies like an arrow but fruit flies like a

 banana" and re-form the paragraph.

5. Replace all occurrences of "is" with "was". 6. Swap the two paragraphs. 7. Save the file and quit.

                             STARTING TEXT

Wednesday January 14th

None of the teechers at school have noticed that I am an intellectual. They will be sorry when I am famouse. There is a new girl in our class. She sits nixt to me in Geography Geography. Time flies like an arrow but fruit flies like a banana. She is all right. Her name is Pandora, but she likes being called "Box". Don't ask me why. I might fall in love with her. It's time I fell in love, after all I am 13 3/4 years old.

                              TARGET TEXT

Wednesday January 14th

Joined the library. Got Care of the Skin, Origin of the Species, and a book by a woman my mother was always going on about. It was called Pride and Prejudice, by a woman called Jane Austen. I could tell the librarian was impressed. Perhaps she was an intellectual like me. She didn't look at my spot, so perhaps it was getting smaller. About time!

None of the teachers at school have noticed that I am an intellectual. They will be sorry when I am famous. There was a new girl in our class. She sits next to me in Geography. She was all right. Her name was Pandora, but she likes being called "Box". Don't ask me why. I might fall in love with her. It's time I fell in love, after all I am 13 3/4 years old.

                        APPENDIX B - HELP SHEETS

VI COMMANDS:

INSERTING & TYPING TEXT: ESC i insert text ESC $a append text (to end of line) ESC J join lines

CURSOR MOVEMENT: ESC ^ beginning of line ESC $ end of line ESC 1 G top of document ESC G end of document

DELETING & MOVING TEXT: Backspace delete character before cursor (only works with

             newly inserted text)

ESC x delete character ESC dw delete word ESC dd delete line (puts deleted text into a buffer which can

             be restored by pressing ESC "1P)

ESC <n> dd delete n lines (puts deleted text into buffer which

             can be restored by pressing ESC "1P)

ESC "1D delete rest of line (puts deleted text into a buffer

             which can be restored by pressing ESC "1P)

ESC "1P yanks back (restores) text deleted with ESC dd or

             ESC "1D

SEARCHING FOR AND REPLACING TEXT: ESC :%s/<search string>/<replace string>/g <RETURN>

MISCELLANEOUS: ESC u undo Clear redraws screen ESC :w save file ESC ZZ save file and quit

EMACS COMMANDS

CURSOR MOVEMENT: Ctrl a beginning of line Ctrl e end of line ESC < top of document ESC > end of document

DELETING & MOVING TEXT: Backspace delete character before cursor Ctrl d delete character under cursor Ctrl k delete to end of line (puts deleted text into a buffer

             which can be restored by pressing Ctrl y)

ESC k delete to end of sentence (puts deleted text into a

             buffer which can be restored by pressing Ctrl y)

Ctrl y "yanks" back (restores) text deleted with Ctrl k or

             ESC k

SEARCHING FOR AND REPLACING TEXT: ESC x repl str <RETURN> <search string> <RETURN> <replace string> <RETURN>

MISCELLANEOUS: Ctrl G cancel Ctrl X u undo Ctrl X k kill window Ctrl X s save file Ctrl X Ctrl C quit

                   APPENDIX C - TASK COMPLETION TIMES

Note: all times given in seconds. HELP refers to the total time spent

    looking for  help; the number in brackets next to the help time refers
    to the  number of times help was needed. For a complete description of
    tasks, see appendix A.

NON-TECHNICAL NOVICES:

VI TRIAL 1:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 570 94 21 135 56 113 3 992 151 (14) Subject 2 486 75 19 273 94 95 9 1051 233 (16) Subject 3 637 72 56 178 101 90 12 1146 182 (19)


EMACS TRIAL 1:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 343 26 24 53 90 129 12 677 151 ( 9) Subject 2 232 71 10 91 44 55 10 513 102 (10) Subject 3 414 47 50 136 70 57 10 721 94 ( 6)


VI TRIAL 2:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 380 82 41 77 57 47 11 695 101 ( 9) Subject 2 222 63 31 95 82 40 2 535 82 (17) Subject 3 369 67 56 104 41 61 30 728 93 ( 9)


EMACS TRIAL 2:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 216 26 23 54 79 52 23 473 11 ( 4) Subject 2 168 36 6 82 33 38 12 375 42 ( 7) Subject 3 246 42 35 112 57 48 14 554 62 ( 5)


TECHNICAL NOVICES:

VI TRIAL 1:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 134 73 14 168 33 76 3 501 165 ( 9) Subject 2 276 54 14 92 28 33 2 499 106 ( 7) Subject 3 221 157 15 129 50 53 15 640 164 ( 9)


EMACS TRIAL 1:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 127 34 7 46 25 42 8 289 70 ( 9) Subject 2 243 28 12 34 26 20 10 373 42 ( 6) Subject 3 157 24 28 61 24 21 14 329 52 ( 8)


VI TRIAL 2:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 136 57 12 56 14 43 2 320 10 ( 3) Subject 2 252 48 15 73 20 27 1 436 4 ( 1) Subject 3 178 54 14 95 55 80 2 423 41 ( 5)


EMACS TRIAL 2:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 100 18 9 17 15 11 5 175 8 ( 2) Subject 2 217 37 10 37 15 20 6 342 6 ( 2) Subject 3 140 21 7 50 26 12 6 262 14 ( 4)


SKILLED REGULAR USERS:

VI USERS:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 1 97 22 9 23 7 12 2 172 0 ( 0) Subject 2 89 27 7 35 12 15 1 186 5 ( 1) Subject 3 102 25 9 31 11 18 2 198 7 ( 1)


EMACS USERS:


                                  TASK
            1    2    3    4    5    6    7     TOT    HELP (no)

—————————————————————— Subject 4 101 19 10 23 17 17 8 195 4 ( 1) Subject 5 93 18 7 28 8 10 6 170 0 ( 0) Subject 6 95 21 8 24 11 12 7 178 3 ( 1)


                   APPENDIX D - QUESTIONNAIRE SUMMARY

Note: All qualities below are average scores as judged by subjects on a

    rating from 1 to 5. See Appendix E for the complete questionnaire.

                  NON-TECH. NOVICE    TECH. NOVICE        REG. USER
                  VI   EMACS          VI   EMACS          VI   EMACS

———————————————————————-

Consistency       1-2    3             2     4             4     4
Feedback           2     3             3    3-4            3     4
Friendliness       2     3             3     4             3     4
Learnability       3     4             3     4             4     4
Usability         1-2   3-4            3     4             4     4
Efficiency         1     3             3     3             4     4

———————————————————————-

             APPENDIX E - VI/EMACS POST-TEST QUESTIONNAIRE

1.1 AGE:_ 1.2. SEX:_

1.3. COMPUTING EXPERIENCE

   1              2              3              4              5
 None         Under 1          1-2            2-3          over 3
               years          years          years          years

                                2. EMACS

2.1 PREVIOUS EXPERIENCE WITH EMACS

  1              2              3              4              5
 None       Have used it    Occasional      Regular        Expert
           once or twice      User           User           User

2.2 IF YOU HAVE PREVIOUS EXPERIENCE, HOW DID YOU LEARN HOW TO USE EMACS? (you may select more than one answer)

  1              2              3              4              5

On-line help/ External Manual/ Friends Other On-line tutor tutor file documentation _ 2.3 HOW WOULD YOU RATE EMACS WITH REGARD TO: a) CONSISTENCY (ie. did the editor always react to your commands in the same way and was its behaviour consistent with your past experience) 1 2 3 4 5 Erratic, Tolerable Always Unpredictable Mostly Predictable Predictable Comment: _ _ b) FEEDBACK (ie. did the editor inform you what was going on?) 1 2 3 4 5 No Some Complete feedback feedback feedback Comment: _ _ c) FRIENDLINESS 1 2 3 4 5 Intimidating, Reasonable Welcoming, Unhelpful helpful Comment: _ _ d) LEARNABILITY (ie. how easy was it to learn how to use EMACS?) 1 2 3 4 5 Nightmare Manageable Very easy Comment: _ _ e) USABILITY (ie. if you had to use an editor, would you use EMACS?) 1 2 3 4 5 Would avoid Would use Would use Would use Would always using if necessary occasionally regularly use Comment: _ _ f) EFFICIENCY (ie. is it possible to get things done speedily and with minimal effort) 1 2 3 4 5 Clumsy and Reasonably Lean and cumbersome efficient mean Comment: _ _ 2.4 Particular problems/frustrations:

2.5 Particular "likes":


                                 3. VI

3.1 PREVIOUS EXPERIENCE WITH VI

  1              2              3              4              5
 None       Have used it    Occasional      Regular        Expert
           once or twice      User           User           User

3.2 IF YOU HAVE PREVIOUS EXPERIENCE, HOW DID YOU LEARN HOW TO USE VI? (you may select more than one answer)

  1              2              3              4              5

On-line help/ External Manual/ Friends Other On-line tutor tutor file documentation _ 3.3 HOW WOULD YOU RATE VI WITH REGARD TO: a) CONSISTENCY (ie. did the editor always react to your commands in the same way and was its behaviour consistent with your past experience) 1 2 3 4 5 Erratic, Tolerable Always Unpredictable Mostly Predictable Predictable Comment: _ _ b) FEEDBACK (ie. did the editor inform you what was going on?) 1 2 3 4 5 No Some Complete feedback feedback feedback Comment: _ _ c) FRIENDLINESS 1 2 3 4 5 Intimidating, Reasonable Welcoming, Unhelpful helpful Comment: _ _ d) LEARNABILITY (ie. how easy was it to learn how to use VI?) 1 2 3 4 5 Nightmare Manageable Very easy Comment: _ _ e) USABILITY (ie. if you had to use an editor, would you use VI?) 1 2 3 4 5 Would avoid Would use Would use Would use Would always using if necessary occasionally regularly use Comment: _ _ f) EFFICIENCY (ie. is it possible to get things done speedily and with minimal effort) 1 2 3 4 5 Clumsy and Reasonably Lean and cumbersome efficient mean Comment: _ _ 3.4 Particular problems/frustrations:

3.5 Particular "likes":


                               4. GENERAL

4.1 WHICH EDITOR WOULD YOU PREFER TO USE?

   VI                  EMACS

Comment: _

       _____________________________________________________________

4.2 DO YOU THINK THAT EITHER EDITOR IS SATISFACTORY OR DO THEY HAVE COMMON FAILINGS WHICH SHOULD BE ADDRESSED?

Comment: _

       _____________________________________________________________
/data/webs/external/dokuwiki/data/pages/archive/programming/vivsemacs.txt · Last modified: 2008/09/23 23:29 by 127.0.0.1

Was this page helpful?-11+1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki