I'm sort of in two minds about this. I agree that we should have more powerful tools available to users but it's not like vim has made no assumptions on the users intentions. The biggest is the...
I'm sort of in two minds about this. I agree that we should have more powerful tools available to users but it's not like vim has made no assumptions on the users intentions. The biggest is the assumption that the user will spend hours over a few day/weeks just to learn how to use it.
Rhino is 3d modelling software that handles this mouse vs keyboard split really well probably the best I have come across.
Everything is in menus, easy to access and most importantly makes learning it a whole lot simpler. Then there is a command line where all the actions available in the menus can be typed and executed with a right click . Really gives the program depth for frequent users to become efficient while still welcoming casual users.
Modern IDEs and text editors like Sublime and VS Code are what you are dreaming of. Basically everything is accessable with a shortcut but there is an easy way to look up what you forget.
Modern IDEs and text editors like Sublime and VS Code are what you are dreaming of. Basically everything is accessable with a shortcut but there is an easy way to look up what you forget.
It's clear the author of this article has no design training, because these are proof that both are possible with a very, very simple change in design. All you need to do is add a shortcut or menu...
It's clear the author of this article has no design training, because these are proof that both are possible with a very, very simple change in design. All you need to do is add a shortcut or menu item to get into the "power user" mode.
There's no need for it to be overly complicated to your average user, and there's also no need for the complicated version to have a lack of a GUI or some sort of feedback mechanism to identify what is going on. There's a smart way to design everything, and it starts with having the right frame of mind when it comes to beginning your design.
Oh man Rhino is such a breeze. I love it have worked with mouse heavy programs like Adobe CS and keyboard heavy programs like AutoCAD. On the one hand the command line and hotkeys are pretty easy...
Oh man Rhino is such a breeze. I love it have worked with mouse heavy programs like Adobe CS and keyboard heavy programs like AutoCAD. On the one hand the command line and hotkeys are pretty easy and on the other the menus organize the functions really neatly.
Reflecting on VIM vs Rhino, it seems like the struggle is using a command line control scheme to run a word processor.
This seems pretty cool, there's interactive tutorial and it doesn't look like crap: https://www.onivim.io/ That said it's hard to beat a full IDE with interactive plots, proper auto-completion and...
This seems pretty cool, there's interactive tutorial and it doesn't look like crap:
That said it's hard to beat a full IDE with interactive plots, proper auto-completion and ways to run your code, etc. unless you spend a lot of time with plugins and configuration.
I find using a vim plugin is a nice middle ground. That said I really dislike ide’s and hope that language servers really take off. Edit: It’s also definitely worthwhile to learn just the basics,...
I find using a vim plugin is a nice middle ground. That said I really dislike ide’s and hope that language servers really take off.
Edit: It’s also definitely worthwhile to learn just the basics, you never know when you’re going to be logged in with access to vim only.
I don't suppose you could recommend a decent c++ ide solution for Linux? I've used vim with youcompleteme and a couple of other plugins for a while, which is fine, but I've been doing some android...
I don't suppose you could recommend a decent c++ ide solution for Linux? I've used vim with youcompleteme and a couple of other plugins for a while, which is fine, but I've been doing some android development for the first time in a while recently, and for all of android studios faults, I realised I've missed a lot of the features of a full ide. You're right about the amount of configuration as well, and it randomly breaks too frequently for me.
I don't write C++ anymore, but I would go with Atom/Sublime/Vscode. They're all pretty much the same except that Sublime requires a license and Vscode is Microsoft's Atom. You can customize them...
I don't write C++ anymore, but I would go with Atom/Sublime/Vscode. They're all pretty much the same except that Sublime requires a license and Vscode is Microsoft's Atom. You can customize them heavily just like Vim and there's shortcuts and key commands galore.
I use Atom, mostly because I wasn't ready to pay 80 bucks for a Sublime key at the time and I didn't want to deal with MS, especially after having just watched them butcher windows.
I fully agree with this article. I've decided to learn to use vim in 2014, and it really made my day to day usage of my PC comfortable. I had to re-learn typing to start using my full hands, and...
I fully agree with this article. I've decided to learn to use vim in 2014, and it really made my day to day usage of my PC comfortable. I had to re-learn typing to start using my full hands, and it was a very steep learning curve, but it was all worth it in the end. I've never used a better tool in my life.
The problem with vi and vim is that the functions are so obscured that they are actively hostile to the user. The HJKL cursor keys is the perfect example. No user would assume that those keys move...
The problem with vi and vim is that the functions are so obscured that they are actively hostile to the user. The HJKL cursor keys is the perfect example. No user would assume that those keys move the cursor. And even when told that was what they do, they wouldn't be able to guess which ones go which direction. To make this worse, there is no obvious form of online help available within the program itself.
Emacs is only slightly better than vi in this regard. The cursor keys do what you would expect and there are many emacs-based alternatives that publish some functions to the users.
Honestly, the best text mode text editor for me is nano. I need the more advanced features graphical editors offer when I work on code. I do need to do remote editing of config files over ssh from time to time, and having the help so readily available makes nano indespensable as a tool.
The HJKL cluster is there for a good reason - it uses the home row, and assuming that most people read from left to right the order of Left,Down,Up,Right is pretty easy to learn. I agree, this is...
The HJKL cluster is there for a good reason - it uses the home row, and assuming that most people read from left to right the order of Left,Down,Up,Right is pretty easy to learn. I agree, this is unusual, but you may use arrow keys with Vim just as well, and when you start up vim for the first time it tells you to run :vimtutor for the basic stuff. And a lot of applications follow this idea of movement - pdf readers, terminal pagers and so on. It's not that vim is hostile, it's that people are too used to never reading the manual or having to learn something before they use it.
I wouldn't be so sure: http://www.catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keys/ (tldr: on the keyboard Bill Joy was using to write vi, the arrow keys were on HJKL). (Of course, someone made...
The HJKL cluster is there for a good reason - it uses the home row
(Of course, someone made the decision to put the arrow keys on HJKL; I would be really interested to see a source that talks about why that decision was made, but I can't find one.)
Well the arrow keys were there on the original keyboard for the same reason. It's a very convenient and a smart place for arrow keys, BUT you have to type properly using all 10 fingers to find is...
Well the arrow keys were there on the original keyboard for the same reason. It's a very convenient and a smart place for arrow keys, BUT you have to type properly using all 10 fingers to find is as such. Since most people don't type properly the whole reason why Vim is like it is is lost on them. I started learning Vim in 2014, and I had to learn to type properly, because using Vim with how I used to type is really a nigtmare. So unironically Vim made me better, because I had to learn a skill that I've been promising myself to master one day for more than 10 years before finally doing it. And it really feels right once everything you've learned about Vim "snaps" and you just get the logic behind its commands - it's hard to go back to any other editor. That's why most IDEs have a Vim plugin - it's so addictive it becomes hard to work without it.
You would think that, right? But almost all my friends and colleagues are typing improperly. They aren't typing with 2 fingers, but they aren't using 10 fingers either. It's pretty chaotic, and...
You would think that, right? But almost all my friends and colleagues are typing improperly. They aren't typing with 2 fingers, but they aren't using 10 fingers either. It's pretty chaotic, and they have to look at their keyboards all the time, but that's how they used to do it. I think that the reason why they do this is the fact that we live in a country where you have to use 2 layouts to type - one for Latin and one for Cyrillic, so if you want to touch-type you would have to learn 2 layouts, and it's really annoying to switch, especially with all the punctuation, brackets, slashes, etc. moving around between the 2 layouts. And when we all were in schools we had no classes that would teach us to type properly from the start. So added complexity plus lack of proper education equals banausic typing skills. And when I've finally learned touch-typing I had to switch to another layout - a phonetic one for Cyrillic, because I just couldn't keep 2 separate layouts in my head. However, the standard layout is not phonetic, it is custom made, and it is the one printed on all keyboards here, so it gets very confusing when I am trying to type something in a standard one.
No, you need not. Unless you are a typist / a data entry clerk / a [LANGUAGE] writer, the time spent typing is completely minor compared to the total time you spend working on a computer or next...
I really do need to learn touch typing...
No, you need not.
Unless you are a typist / a data entry clerk / a [LANGUAGE] writer, the time spent typing is completely minor compared to the total time you spend working on a computer or next to it. Thus at the end of the day the gain is very small. It is even smaller considering that, often, you need to stop to think of what you are going to type next, anyway. Oh, and considering how fast touch typists wear out the backspace key, the benefit is smaller again ;-)
Vi isn't that bad. Fire up vimtutor and you can learn all the basic functions in about ten or fifteen minutes. That said, nano is a very nice and user friendly editor, and I kinda wish it was the...
Vi isn't that bad. Fire up vimtutor and you can learn all the basic functions in about ten or fifteen minutes. That said, nano is a very nice and user friendly editor, and I kinda wish it was the 'default' in the way vi is today.
As an Emacs user, I used to agree completely with this article. Now however I'm not so sure. I've recently started playing with an "easy" editor (vs code). I applied the Emacs keybindings to it so...
As an Emacs user, I used to agree completely with this article. Now however I'm not so sure. I've recently started playing with an "easy" editor (vs code). I applied the Emacs keybindings to it so that it feels more familiar and I must say that so far I'm impressed with the tooling and ease of use. I know that Emacs also has a great ecosystem of plugins and such, but there really is something to be said for the ability to quickly and easily set something up and just have it work.
I'm sort of in two minds about this. I agree that we should have more powerful tools available to users but it's not like vim has made no assumptions on the users intentions. The biggest is the assumption that the user will spend hours over a few day/weeks just to learn how to use it.
Rhino is 3d modelling software that handles this mouse vs keyboard split really well probably the best I have come across.
Everything is in menus, easy to access and most importantly makes learning it a whole lot simpler. Then there is a command line where all the actions available in the menus can be typed and executed with a right click . Really gives the program depth for frequent users to become efficient while still welcoming casual users.
Yeah, I never understood why it has to be casual or power, but never both. You can have the simple GUI while still having keyboard commands.
Modern IDEs and text editors like Sublime and VS Code are what you are dreaming of. Basically everything is accessable with a shortcut but there is an easy way to look up what you forget.
It's clear the author of this article has no design training, because these are proof that both are possible with a very, very simple change in design. All you need to do is add a shortcut or menu item to get into the "power user" mode.
There's no need for it to be overly complicated to your average user, and there's also no need for the complicated version to have a lack of a GUI or some sort of feedback mechanism to identify what is going on. There's a smart way to design everything, and it starts with having the right frame of mind when it comes to beginning your design.
Oh man Rhino is such a breeze. I love it have worked with mouse heavy programs like Adobe CS and keyboard heavy programs like AutoCAD. On the one hand the command line and hotkeys are pretty easy and on the other the menus organize the functions really neatly.
Reflecting on VIM vs Rhino, it seems like the struggle is using a command line control scheme to run a word processor.
This seems pretty cool, there's interactive tutorial and it doesn't look like crap:
https://www.onivim.io/
That said it's hard to beat a full IDE with interactive plots, proper auto-completion and ways to run your code, etc. unless you spend a lot of time with plugins and configuration.
I find using a vim plugin is a nice middle ground. That said I really dislike ide’s and hope that language servers really take off.
Edit: It’s also definitely worthwhile to learn just the basics, you never know when you’re going to be logged in with access to vim only.
Yeah, my view has always been that vim is a really good text editor, but an IDE does much, much more than just edit text.
I don't suppose you could recommend a decent c++ ide solution for Linux? I've used vim with youcompleteme and a couple of other plugins for a while, which is fine, but I've been doing some android development for the first time in a while recently, and for all of android studios faults, I realised I've missed a lot of the features of a full ide. You're right about the amount of configuration as well, and it randomly breaks too frequently for me.
I don't write C++ anymore, but I would go with Atom/Sublime/Vscode. They're all pretty much the same except that Sublime requires a license and Vscode is Microsoft's Atom. You can customize them heavily just like Vim and there's shortcuts and key commands galore.
I use Atom, mostly because I wasn't ready to pay 80 bucks for a Sublime key at the time and I didn't want to deal with MS, especially after having just watched them butcher windows.
I fully agree with this article. I've decided to learn to use vim in 2014, and it really made my day to day usage of my PC comfortable. I had to re-learn typing to start using my full hands, and it was a very steep learning curve, but it was all worth it in the end. I've never used a better tool in my life.
The problem with vi and vim is that the functions are so obscured that they are actively hostile to the user. The HJKL cursor keys is the perfect example. No user would assume that those keys move the cursor. And even when told that was what they do, they wouldn't be able to guess which ones go which direction. To make this worse, there is no obvious form of online help available within the program itself.
Emacs is only slightly better than vi in this regard. The cursor keys do what you would expect and there are many emacs-based alternatives that publish some functions to the users.
Honestly, the best text mode text editor for me is nano. I need the more advanced features graphical editors offer when I work on code. I do need to do remote editing of config files over ssh from time to time, and having the help so readily available makes nano indespensable as a tool.
The HJKL cluster is there for a good reason - it uses the home row, and assuming that most people read from left to right the order of Left,Down,Up,Right is pretty easy to learn. I agree, this is unusual, but you may use arrow keys with Vim just as well, and when you start up vim for the first time it tells you to run :vimtutor for the basic stuff. And a lot of applications follow this idea of movement - pdf readers, terminal pagers and so on. It's not that vim is hostile, it's that people are too used to never reading the manual or having to learn something before they use it.
I wouldn't be so sure: http://www.catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keys/ (tldr: on the keyboard Bill Joy was using to write vi, the arrow keys were on HJKL).
(Of course, someone made the decision to put the arrow keys on HJKL; I would be really interested to see a source that talks about why that decision was made, but I can't find one.)
Well the arrow keys were there on the original keyboard for the same reason. It's a very convenient and a smart place for arrow keys, BUT you have to type properly using all 10 fingers to find is as such. Since most people don't type properly the whole reason why Vim is like it is is lost on them. I started learning Vim in 2014, and I had to learn to type properly, because using Vim with how I used to type is really a nigtmare. So unironically Vim made me better, because I had to learn a skill that I've been promising myself to master one day for more than 10 years before finally doing it. And it really feels right once everything you've learned about Vim "snaps" and you just get the logic behind its commands - it's hard to go back to any other editor. That's why most IDEs have a Vim plugin - it's so addictive it becomes hard to work without it.
Is that true? I would think that among people technically inclined enough to pick up text editors like vi, touch typing would be nearly universal.
You would think that, right? But almost all my friends and colleagues are typing improperly. They aren't typing with 2 fingers, but they aren't using 10 fingers either. It's pretty chaotic, and they have to look at their keyboards all the time, but that's how they used to do it. I think that the reason why they do this is the fact that we live in a country where you have to use 2 layouts to type - one for Latin and one for Cyrillic, so if you want to touch-type you would have to learn 2 layouts, and it's really annoying to switch, especially with all the punctuation, brackets, slashes, etc. moving around between the 2 layouts. And when we all were in schools we had no classes that would teach us to type properly from the start. So added complexity plus lack of proper education equals banausic typing skills. And when I've finally learned touch-typing I had to switch to another layout - a phonetic one for Cyrillic, because I just couldn't keep 2 separate layouts in my head. However, the standard layout is not phonetic, it is custom made, and it is the one printed on all keyboards here, so it gets very confusing when I am trying to type something in a standard one.
No, you need not.
Unless you are a typist / a data entry clerk / a [LANGUAGE] writer, the time spent typing is completely minor compared to the total time you spend working on a computer or next to it. Thus at the end of the day the gain is very small. It is even smaller considering that, often, you need to stop to think of what you are going to type next, anyway. Oh, and considering how fast touch typists wear out the backspace key, the benefit is smaller again ;-)
Vi isn't that bad. Fire up vimtutor and you can learn all the basic functions in about ten or fifteen minutes. That said, nano is a very nice and user friendly editor, and I kinda wish it was the 'default' in the way vi is today.
As an Emacs user, I used to agree completely with this article. Now however I'm not so sure. I've recently started playing with an "easy" editor (vs code). I applied the Emacs keybindings to it so that it feels more familiar and I must say that so far I'm impressed with the tooling and ease of use. I know that Emacs also has a great ecosystem of plugins and such, but there really is something to be said for the ability to quickly and easily set something up and just have it work.