LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices

Reply
 
LinkBack Search this Thread
Old 01-17-2009, 10:30 PM   #1
Draciron
Member
 
Registered: Jul 2006
Posts: 44

Rep: Reputation: 16
A new standard text editor is needed.


see lots of comments for VI. Those that love it and more power too them. The keystrokes are so awkward and it's hell for new Linux users. I use VI only as a last resort and only for short edits. Standards need to reflect the usability. It's all great for a VI fan to love VI but to try to force it on others is a good way to push folks away from Linux. Linux really does need an easy to use console text editor that uses the CDE keystrokes and looks fairly modern. It's hard enough to get new users to get dirty at the console level. Then you offer VI??? I've seen more new converts from windoze run screaming into the night from VI than all other causes combined. It really gives the command line a bad name as the text editor really is the main view most novice Linux users see at the console level.

Key elements I feel necessary for a new standard text editor in Nix would be first off support for CDE keystrokes as that pretty much is the standard. Doesn't mean you can't also support VI text commands. KDE apps, Borland apps, Windoze apps, they to a lessor or greater extent use the CDE format. The learning curve is part of what is a detraction from Linux. Much of that learning curve today is that every app has it's own keystroke agenda. So instead of learning the open source philosophy new users get lost in the learning curve of learning a whole new set of keystrokes for each and every app. In terms of text editors the shortcut keys are a bewildering mess. Pico is basically a clone of ancient Wordstar and 1980s genre word processors. I personally find it pretty awkward to use. The interface extremely primitive, I'm comfortable with it since I used those ancient word processors but most people today have never even heard of apps like Wordstar and Multimate.

Why did the basic text editor in M$'s DOS environment enjoy so much popularity? It was easy to use and learn. Doesn't mean you have to limit it to the very low featured editor DOS featured. Pico could easily be modified to support standard keystrokes and a menu system that most folks would be comfotable with. A system easily learned. Then you can build upon that to add features that can be accessed through menus if you can't remember the keystrokes. This would take a great deal of fear out of use of the console for new users and make life easier for many vets like myself who've never learned VI. I've been using Linux for 10 years now and have zero interest in learning VI. I'm not advocating the removal of VI. I just don't see VI as a useful standard. It is clumsy unless you've spent an extraordinary amount of time learning the ins and outs of VI. Most people just don't spend enough time using a console based text editor for VI to be worth the effort to learn. Most folks use Console editors for quick fixes, editing configuration files mostly. Using VI is like nailing a fly with a nuclear weapon. It is vast overkill for what %90 of the people use console text editors for. GUI text editors with syntax highlighting built in support for compilers, debuggers, the ability to have dozens of windows open and easily assessable have all shifted most folks over to GUI editors.

Just because it's the way it's been done before is not a good reason not to improve Linux. Just because you have gone through the pain of learning VI is no reason to inflict it upon newer generations. Linux is in a life or death struggle right now. Linux desperately needs to improve it's desktop penetration before Redmond gets a clue and fixes some of it's most crucial stupidities. A good easy to use console text editor would be a huge help in Linux adoption.
 
Old 01-17-2009, 10:43 PM   #2
es0teric
Member
 
Registered: Apr 2007
Distribution: Ubuntu
Posts: 93

Rep: Reputation: 19
Aren't other editors (nano, pico, vim, etc...) installed by default with most distros?

I don't really feel anyone is forcing vi on the community. It's simply being made available as an option. If you don't like it, then there are other options, yeah?
 
Old 01-17-2009, 10:43 PM   #3
billymayday
Guru
 
Registered: Mar 2006
Location: Sydney, Australia
Distribution: Fedora, CentOS, OpenSuse, Slack, Gentoo, Debian, Arch, PCBSD
Posts: 6,678

Rep: Reputation: 120Reputation: 120
Have you tried nano?
 
Old 01-17-2009, 11:44 PM   #4
speck
Member
 
Registered: Nov 2001
Location: California
Distribution: Slackware 14.1
Posts: 271

Rep: Reputation: 54
For the people not familiar with vi, don't most Linux distributions have "joe" installed as well? It's pretty easy to use.

You must remember that Linux (and the GNU utilities) was created as an alternative to commercial Unix, hence vi is usually the default editor on Linux. I can't comprehend using an editor like DOS Edit to admin/program on Unix/Linux servers. It's simple to learn but it would be extremely tedious to use for anything other than very simple text editing.

vi is a powerful program that has a steep learning curve, but a huge payoff once you've learned the basics. The core keystrokes haven't changed, so a complex editing task would use the exact same keystrokes whether you're on a 1990 HP-UX system or a new RedHat server. Learning vi is time well spent.

It seems the newer generation of Linux users (I realize you've been using it for quite a while) see the percentage of Linux desktop users as the single most important factor in the survival of Linux. I think this is because they come from the Windows world and the only interaction they have with Linux is on the desktop.
 
Old 01-18-2009, 12:04 AM   #5
craigevil
Senior Member
 
Registered: Apr 2005
Location: OZ
Distribution: Debian Sid
Posts: 4,732
Blog Entries: 12

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
nano is simple and the commands are listed at the bottom.

In 5 years of running Debian Sid I have yet to edit anything in vi/vim. I use nano if for some odd reason I need a console editor, for gui I prefer cream.
 
Old 01-18-2009, 12:11 AM   #6
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5
Posts: 16,086

Rep: Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995Reputation: 1995
Just FYI, I've used vi/vim for years because its always avail on any *nix system, and the local sysadmin may not let you add your personal fave.
Also, I get by with only knowing probably no more than 10-12 vi cmds. I cheat on the copy/paste because I'm usually using X-win/xterms so I just use the mouse to do that.
 
Old 01-18-2009, 01:02 AM   #7
Draciron
Member
 
Registered: Jul 2006
Posts: 44

Original Poster
Rep: Reputation: 16
Quote:
Originally Posted by speck View Post
For the people not familiar with vi, don't most Linux distributions have "joe" installed as well? It's pretty easy to use.

You must remember that Linux (and the GNU utilities) was created as an alternative to commercial Unix, hence vi is usually the default editor on Linux. I can't comprehend using an editor like DOS Edit to admin/program on Unix/Linux servers. It's simple to learn but it would be extremely tedious to use for anything other than very simple text editing.

vi is a powerful program that has a steep learning curve, but a huge payoff once you've learned the basics. The core keystrokes haven't changed, so a complex editing task would use the exact same keystrokes whether you're on a 1990 HP-UX system or a new RedHat server. Learning vi is time well spent.

It seems the newer generation of Linux users (I realize you've been using it for quite a while) see the percentage of Linux desktop users as the single most important factor in the survival of Linux. I think this is because they come from the Windows world and the only interaction they have with Linux is on the desktop.
Ah but that is exactly what most people use a console text editor for. Short simple very easy changes to configuration files. Anything more complex is done normally in a GUI. Much of VI's functionality harkens back to the days when you wrote code in it. When people actually created elaborate data sets using a text editor instead of something like MySQL and a few lines of SQl. Word processors and office suites now fill in document creation tasks. IDEs make coding considerably easier. So VI's functionality for the most part is used almost exclusively by old school Nix people.

The payoff to me is zilch since I already have dozens of console windows busy with other stuff. The last thing I want to do is open up a bunch of console text editors for elaborate edits. That's what X is for, multi-tasking and a clear presentation of all those apps I have open. I edit files in the console only when I'm already there anyway looking at logs for example and notice I need to change something or SSH'd into a remote machine and need to make quick edits. So why would I want to learn such an obtuse interface? You like VI, that's your thing and I'm not downing you for liking VI. It's a horrible interface for most people though. Few today would find any profitable use in the time necessary to learn it as they just don't edit files on the console level very often or do much more than quick and easy changes.

With most distros VI is the only editor you can rely on being there. Even Joe isn't default install most of the time. To be blunt I'd rather chew my leg off with somebody else's dull teath than use VI.

As for Pico/Nano that is the 1980s interface I'm mentioned right off the bat. It's better than VI but it looks and functions really old school. It's not the easy to use simple editor that Linux really needs for it's new converts. Those of y'all that like VI preach it's virtues but it's not what Linux needs as a standard text editor. It works against Linux adoption and we need to help more people move to Linux not drive them away.

Let me put it to you this way about the text editor. Many people their first and only experience on Linux is working on dedicated hosts they rent. When they have to get down and work on cfg files they get lost beyond belief. I've helped hundreds of friends over the last several years making really easy changes but VI puts them off so much that they have zero interest in making those easy changes themselves. Think about it, editing a CFG file is usually brainless. Most of the better apps have examples in the file that you can modify quickly and easily to meet most of your needs. It's VI that makes it a challenge for these users. They are like myself very unlikely to even want to much less ever learn VI. Something like DOS Edit would give them a much more favorable impression of Linux. They'd find themselves empowered on servers, able to make changes themselves and learn in the process not having to have somebody like me handhold them through enough VI syntax to make the change. Instead of explaining what they are doing I'm spending all my time telling them how to do it. That's just really simple easy line edits. VI makes even adding a line an increadible pain. A DOS Edit clone would be LinEdit filename
arrow over/down to such and such line.
Type this.
Hit Ctrl S.
Simple easy and they'll remember how to do it so the next time I'm only explaining what file they need to edit and why not telling them all over again the 30 commands you have to use to add a friggin line to a file in VI.
vi filename
hit I for insert
Arrow down and hope that VI doesn't barf because your using the arrow keys, which happens about half the time.
Hit enter at such a point.
Then type
Then hit escape
the wq making sure they actually are down at the command line not somewhere else. It's a nightmare trying to walk somebody through VI in chat or over the phone.

In fact to add a line most of the time in VI you are typing more characters in syntax than you are in the line your adding.

As for Linux adoption. The server market follows the desktop realistically. There are millions of small shops using Windoze servers only because that is what they know. They are reluctant to change because they use Windoze at home and are frightened by learning new technology. Small biz grows up to be big biz. Big biz grows up to be corporations. They carry their technology along with them. You'd be amazed at how many Access apps I've ported to real RDBMS systems in my time. Access was something they could learn and so that's what they used until their biz grew to a point where Access was just overwhelmed by it. Then they called me in. Windoze does just good enough a job to not force people to switch to a real OS like Linux.

Look at Novell vs NT. Novell was far more secure, more robust, more reliable and had features that M$ still hasn't figured out how to do. NT took over the market because of two things. Novell's greed and anti-consumer lisencing but more so because people used windoze at home. They then used it in the biz they created and just added servers as they went along. It was what they knew and what they were comfortable with.

M$ is constantly looking for ways to destroy Linux. They tried the law suits most recently. They make it a pain to use common formats today under Linux. Distros can't include support for propriatory formats or they get sued, mostly by M$ backed efforts. While yes ogg is superior to an mp3 that doesn't change the fact that most people NEED the ability to play mp3s and so on. Always there's a challenge from M$ when converting people and the sheer inertia of what they already know is enough of a challenge. When we throw obstacles at them like VI it really harms efforts of people like me who convert dozens of people to Linux every year.
 
Old 01-18-2009, 03:58 AM   #8
rocket357
Member
 
Registered: Mar 2007
Location: 127.0.0.1
Distribution: OpenBSD-CURRENT
Posts: 474
Blog Entries: 100

Rep: Reputation: 74
Quote:
Originally Posted by Draciron View Post
Type this.
Hit Ctrl S.
Simple easy and they'll remember how to do it so the next time I'm only explaining what file they need to edit and why not telling them all over again the 30 commands you have to use to add a friggin line to a file in VI.
vi filename
hit I for insert
Arrow down and hope that VI doesn't barf because your using the arrow keys, which happens about half the time.
Hit enter at such a point.
Then type
Then hit escape
the wq making sure they actually are down at the command line not somewhere else. It's a nightmare trying to walk somebody through VI in chat or over the phone.
VI was designed with keyboard shortcuts to allow you to do many, many things without having to remove your hands from the home row keys. It is insanely fast once you get the shortcuts down, but it can definitely be intimidating for a new user. Personally, VI has ruined me because now I can't stand removing my hands from the home row keys. Using the arrows or mouse just slows me down.

If I was running the edit above, my choice of commands depends on if I know what's on the line before or after the one I want to enter...

vi filename

If I do know what's on the line before or after, I can do this:
/<some_partial_line_of_text>

If VI does NOT find the line I want, but finds one like it:
hit n until I'm on the line I need

When I'm on the line before or after:
hit o (insert a new line after current line)
or
hit O (insert a new line before current line)
type my text
hit escape twice (habit I've developed...heh)
:wq

If I don't know what the line looks like before or after then it's a bit trickier, but that just usually involves moving around in *command* mode, then switching to insert mode when needed. Command mode has quite a few commands for moving the cursor without touching the arrow keys...and it is much faster once you learn how to move around. Say for instance I've opened a file that's a million lines long and I have no clue what's on the line before and after it, but I know the edit needs to take place around, say, line 34,500:

34500G

will put me on line 34500 immediately, without hitting the arrow key 34,499 times. After that, I can jump a screen at a time like this:

<ctrl>f

until I find the line I want, then use h, j, k, and l to move left, down, up, or right, respectively, until I get to the line I want. Then follow as above.

Is that a bunch of commands to remember? Sure is. Is it faster than hitting the down arrow like a mad man until you get where you want to go? Sure is. Should another easy text editor be put in place of VI? No, I don't think so, but I certainly would hope distros would put an easy to use editor in the default distribution *in addition to* VI and tell the user the easy editor is there.

Last edited by rocket357; 01-18-2009 at 04:04 AM.
 
Old 01-18-2009, 06:27 AM   #9
ErV
Senior Member
 
Registered: Mar 2007
Location: Russia
Distribution: Slackware 12.2
Posts: 1,202
Blog Entries: 3

Rep: Reputation: 62
Quote:
Originally Posted by Draciron View Post
The keystrokes are so awkward and it's hell for new Linux users.
Actually, they make sense once you learn them, and are quite useful, because they are easy to combine. The only problems are that vi doesn't interact with system copy/paste buffer by default, and have weird undo/redo system, but that is another story.

Quote:
Originally Posted by Draciron View Post
Then you offer VI??? I've seen more new converts ...
Look, if you don't like it, don't use it. Do some research and pick alternative. mcedit (part of "mc" package) should be easy enough. Actually, I think that "your" editor might be lying somewhere on sourceforge - written by novice programmer and totally forgotten due to the lack of exposure or interest.
The vi is useful because it is standard. It is installed on nearly every machine (for example, it is available on sourceforge's ssh), and even if you declared new standard, it would take few years (at least 10, I think) to make it available everywhere.

Quote:
Originally Posted by Draciron View Post
Pico could easily be modified to support standard keystrokes and a menu system that most folks would be comfotable with.
If it is easy to modify, why don't you do it yourself? You had 10 years for that, after all:
Quote:
Originally Posted by Draciron View Post
I've been using Linux for 10 years now
And before you say "I'm not a programmer". If you are not a programmer, then you can hire someone to write editor for you, so you will be able to release it as OpenSource. There are quite a lot of freelancer resources. Or you could try to assemble a team yourself.

Quote:
Originally Posted by Draciron View Post
A system easily learned.
Do you know vim has tutorial (type vimtutor in terminal)? and help facility? and that there is a good O'Reily book about it? vi(m) is focused on being powerful, not easy. To my opinion this is right thing.

Quote:
Originally Posted by Draciron View Post
It is clumsy unless you've spent an extraordinary amount of time learning the ins and outs of VI.
Not extraordinary. One day to learn shortcuts. Then you'll have to use it for a week to make you remember them. This is not ten year, you know. And even "standard editors", like windows notepad, still aren't learned instantly.

Quote:
Originally Posted by Draciron View Post
Just because it's the way it's been done before is not a good reason not to improve Linux.
Go ahead and do it. I've seen talks about "simpler editor", but the problem is that many people that talk about them, don't implement them.

Quote:
Originally Posted by Draciron View Post
Linux desperately needs to improve it's desktop penetration before Redmond gets a clue and fixes some of it's most crucial stupidities. A good easy to use console text editor would be a huge help in Linux adoption.
How is console text editor related to "desktop penetration"? I really see no connection here. No one forces you to use vi for fixing system files from X - there are notepad clones, and in combination with su derivatives you can edit system files with them.
I think that the only thing required "to improve desktop penetration" is another Bill Gates, but this time interested in Linux. This is all that matters.

Last edited by ErV; 01-18-2009 at 07:54 AM.
 
Old 01-18-2009, 06:54 AM   #10
unSpawn
Moderator
 
Registered: May 2001
Posts: 26,534
Blog Entries: 51

Rep: Reputation: 2604Reputation: 2604Reputation: 2604Reputation: 2604Reputation: 2604Reputation: 2604Reputation: 2604Reputation: 2604Reputation: 2604Reputation: 2604Reputation: 2604
I find it amusing every time somebody has seen the light and wants to push some "improvements" they are the result of the users' own preferences and inability to understand this 'verse is like it is. Luckily for every single "user" drowning in his own misperceptions there are a thousand GNU/Linux users that learn the ways, understand why things are as they are, see reality as it is. Then there's those few who truly believe changes must be made. Those pioneers don't need to talk: they just go change things.
 
Old 01-18-2009, 06:54 AM   #11
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266
I also hate 'vi' for its ridiculously unintuitive hotkeys. Just use 'nano' it's now a part of most distros, and it is easy to use, you don't even need to read the manual to use it.

You shouldn't worry too much about this, because newbies to Linux will likely be using kate or kedit or gedit, etc.
 
Old 01-18-2009, 07:34 AM   #12
ErV
Senior Member
 
Registered: Mar 2007
Location: Russia
Distribution: Slackware 12.2
Posts: 1,202
Blog Entries: 3

Rep: Reputation: 62
Quote:
Originally Posted by H_TeXMeX_H View Post
unintuitive hotkeys.
Please, define "intuitive".

Because standard hotkey scheme used in notepad and its' clones makes little sense. Just think about it:
Ctrl+Z, Ctrl+Backspace : undo.
Ctrl+Shift+Z, Ctrl+Y: redo.
Ctrl+V, Shift+Insert: paste.
Ctrl+Insert: copy.
And so on. Just think about it. WHY Ctrl+Z for "undo"? For more complicated things (typically used by programmers) hotkey scheme gets much more weird. For example, Ctrl+Left/Right typically means "move to the next word", but this is not guaranteed, and how exactly cursor should move to next word (ignore whitespace or not) typically is not defined. And it is quite common, for example, that application "knows" about "Ctrl+C/Ctrl+V", but doesn't know about "Ctrl+Insert, Shift+Insert". For example, firefox had this problem. And beyound basic Ctrl+C/Ctrl+V, there is no standard. Ctrl+N might mean "new line", Ctrl+R might mean "replace" or "record macro", etc.

This means that standard hotkey scheme is cryptic and is NOT "intuitive". You might think otherwise only because you have been using it for many years. Just remember that the only way to learn all those hotkey was to look them up in the menu, and in most cases there is no logical connection between hotkeys and their actions.

In vi, at least, all commands use letters from their action. "d" for delete, "w" for "word", "b" for "back" Ctrl+U for "up", "g" for "go". There are exceptions, of course, like "dd" == "delete line", but they also consistent.

Last edited by ErV; 01-18-2009 at 07:49 AM.
 
Old 01-18-2009, 07:37 AM   #13
pixellany
LQ Veteran
 
Registered: Nov 2005
Location: Annapolis, MD
Distribution: Arch/XFCE
Posts: 17,802

Rep: Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728Reputation: 728
Quote:
A new standard text editor is needed.
Not!!
I can think of a lot of things I want to see added to Linux, but this would NEVER make the list. Linux has a pretty large selection of editors to chose from---I really fail to see the issue here.
 
Old 01-18-2009, 08:32 AM   #14
H_TeXMeX_H
Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266Reputation: 1266
Quote:
Originally Posted by ErV View Post
This means that standard hotkey scheme is cryptic and is NOT "intuitive". You might think otherwise only because you have been using it for many years. Just remember that the only way to learn all those hotkey was to look them up in the menu, and in most cases there is no logical connection between hotkeys and their actions.

In vi, at least, all commands use letters from their action. "d" for delete, "w" for "word", "b" for "back" Ctrl+U for "up", "g" for "go". There are exceptions, of course, like "dd" == "delete line", but they also consistent.
Indeed, but I can never remember how to quit vi ... this is what really gets me ... why I hate it. Some things might be intuitive, but most things are not. As for the standard hotkeys, as unintuitive as they may be they are universal so I know them. At least they could have kept a few for compatibility reasons.
 
Old 01-18-2009, 12:38 PM   #15
ErV
Senior Member
 
Registered: Mar 2007
Location: Russia
Distribution: Slackware 12.2
Posts: 1,202
Blog Entries: 3

Rep: Reputation: 62
Quote:
Originally Posted by H_TeXMeX_H View Post
Indeed, but I can never remember how to quit vi ... this is what really gets me ... why I hate it.
ZZ or :wq with saving,
:q! without. "q" stands for "quit", "w" for "write", "!" for "do it anyway, even if there are warnings".

Quote:
Originally Posted by H_TeXMeX_H View Post
As for the standard hotkeys, as unintuitive as they may be they are universal so I know them.
The only "standard" ones are Ctrl+C/Ctrl+V pair and (maybe) movement, anything else is not guaranteed to behave the way you expect it. Swap few IDEs/text editors and you will notice it. In this sense vi(m) keyboard scheme (unlike super-customizeable emacs) is most standard - it is available on all *nixes and is completely consistent everywhere. This is why learning vi is important - with vi you can edit file on any *nix machine. With anything else there is chance that your favorite software is not installed.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming text editor needed cupoftea Linux - Software 10 05-24-2006 09:48 AM
Which light text editor can copy text from file and paste in browser? davidas Linux - Software 9 03-06-2006 11:28 AM
Text Editor w/ Tabs needed (looking for) Dralnu Linux - Software 7 09-09-2005 06:00 AM
Good simple text editor like WinSyntax needed eBopBob Linux - Software 5 08-18-2004 03:15 PM


All times are GMT -5. The time now is 04:35 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration