9 ms·
For people who ask, "why use text-only editors like vim or Emacs, when I can use a full GUI IDE?": One of the reasons I haven't seen mentioned much is: I'm a t
by ripe 5y ago
For people who ask, "why use text-only editors like vim or Emacs, when I can use a full GUI IDE?":
One of the reasons I haven't seen mentioned much is: I'm a touch typist, and I hate having to switch between mouse and keyboard! I have to take my attention off the screen. Slows me down. Disturbs my concentration.
With Emacs, I can work for hours without ever having to hunt for the mouse, or without even having a mouse plugged in. That's particularly nice for using my Ubuntu laptop on a lap desk, leaning back in my armchair. The best mouse is no mouse at all.
Yes, I know many IDEs have shortcut keys for some commands, but the basic assumption with GUI applications is that you have a mouse. Even if you learn the shortcuts, somehow you always end up having to use the mouse for some common task, e.g., to select a paragraph. That's why I never got to like a GUI IDE, despite having had to use Eclipse for years.
- xhevahir 5y agoI just started using VS Code a lot last weekend and I didn't find myself using my trackpad much. The Vim plugin, whatever it's called, allowed me to do the same things I do in Vim itself. I can't speak to the Emacs emulation, though, now that I think about it.
- lawn 5y agoI find it amazing how common it is for programmers to not be touch typists (I mean typing without looking at the keys). Like, isn't that something you pick up by the sheer amount of keyboard time?
- deleted 5y ago[deleted]
- BeFlatXIII 5y agoIRC chatrooms got me much more comfortable with touch-typing than programming. There is too much time spent thinking when programming to feel slowed down by looking at the keyboard. IRC chats mean you have to be fast if you don't want the conversation to have moved on before you finish your message.
- fhd2 5y agoI literally trained the correct technique as a child because I was so into computers. I'd argue children today are far less exposed to keyboards than people (well, nerds) my age were.
- deleted 5y ago[deleted]
- edgyquant 5y agoMaybe but I’ve typing since I was a kid on a Windows 95 and I still only know the gist of the keyboard and have to look down and correct myself every minute or so, so I don’t that’s they only reason. I actually think that typing without looking isn’t as important as people used to say it was for speed.
- wizzwizz4 5y agoJust memorising the order of the keys from left-to-right, top-to-bottom, and reciting it, was enough for me never to have to look down. I have no idea why or how; I assume it's something to do with dreaming.
- wrycoder 5y agoIt would be an interesting experiment to have one group do that before teaching both groups to touch type. Then measure the speed and accuracy of both groups.
- zdragnar 5y agoI'm a touch typist, but emacs chords always bothered me. I feel much more content switching to mouse or track pad for things like switching tabs, picking files from a file tree to copy / paste or duplicate or whatever, etc. That said, being a programmer and not touch typing definitely sounds odd to me as well
- ced 5y agoemacs chords always bothered me I got carpal tunnels a few years back from emacs, which forced me to try https://ergoemacs.github.io/ https://ergoemacs.github.io/ . I like it a lot, it's more sensibly designed. I've found it a pain to install though...
- smitty1e 5y agoSpacemacs has saved me.
- convolvatron 5y agounfortunately I can only really work for long stretches on a kinesis split keyboard - with the modifiers all the on the thumb. if they would finally make a bluetooth one maybe that wouldn't be so bad.
- xhevahir 5y agoI just got an email about a 20% off sale they're having, and I was tempted. Still expensive, though, seeing as how there's so many new ergonomic designs available from smaller companies.
- convolvatron 5y agoalso - they aren't really that great I hate to say. after a couple decades of using them I still get the firmware confused by excessive modifier usage and have to jam on all the keys to get it back again (spend a while with a support engineer trying to make it reproducible. they did try, that was something) the keys don't actually last all that long. they will sell you a new flex/key assembly for the left or the right side though - which is nice...oh yeah, and the function keys stop working pretty quick if you actually use them. but its so much more comfortable and speedy
- mabub24 5y agoMost people get by with pseudo-touch typing. They have most of the speed down, and look down at the keyboard occasionally, but they do not have the accuracy that is displayed in true touch-typing.
- bitexploder 5y agoThat sort of blows my mind. How can you not learn to touch type? It will take you a month at most and it greatly improves life at a keyboard.
- phist_mcgee 5y agoBecause not everyone has time to dedicate to a skill with diminishing returns after a certain point, and on top of that many people do not at all care about the life of their keyboard. I touch-type, but still occasionally struggle with some things eg. using the right shift key instead of always preferring the left. I don't see much benefit in addressing this, since my typing speed is never the blocker with regard to my programming output.
- smallnamespace 5y agoI'm eternally grateful for Mrs. Walker's 2nd grade class, where they shoved us in a room full of Apple 2e's and made us play a typing game (and if you finished, you got to play Oregon Trail). I'm a bit surprised/disappointed that touch typing isn't universally taught in school.
- bitexploder 5y agoIsn’t it distracting to have to look and visually think about the keyboard in the midst of working? Genuinely asking. I literally can’t imagine having to look at the keyboard. And how much of a commitment is it really?
- zelphirkalt 5y agoIt might be a bit distracting, depending on the person. Personally, I am still thinking about stuff and perhaps seeing the image on the screen or another one of some concept in my mind, when I check the keyboard. Sometimes it might even help to not look at that screen for a moment.
- edgyquant 5y agoI can type without looking but I still have trouble placing my fingers over the keyboard in the right initial place so I’ll often start a little off and I type so fast that I’ll type half a dozen characters before I realize and have to correct.
- Mikeb85 5y agoMost keyboards have a little raised bump on the F and J keys ;)
- wrycoder 5y agoI once subscribed to a magazine and received the subscription at my address, but with a strange name. I took me a minute to realize that it had been touch typed, but with the right hand displaced to the right by one position.
- Koshkin 5y agoThat’s so cool! Not only you touch type, you also do not need to look at the screen!
- dhon_ 5y agoWell, apparently they do need to look at the screen :)
- scbrg 5y agoThe MUD I was playing had the command "snuke". It was like "smile", but for when you positioned your right hand incorrectly scbrg snukes happily.
- Mikeb85 5y agoI'm not that old (30's) but we were forced into learning how to touch-type throughout grade-school. Pretty much any white-collar work requires it. Getting through university basically requires it (even humanities courses; good luck writing long essays without it). It's shocking that anyone who went through school in a developed country can't touch-type.
- BlueTemplar 5y agoYou're assuming that most of the writing is done on computers - but depending on the discipline - it isn't : computers aren't nowhere nearly good enough to compete with paper / chalk (/ even whiteboard !) when it comes to mathematics-heavy domains.
- Mikeb85 5y agoPure maths is a pretty small niche. The vast majority of while collar work, university students, etc..., definitely type and use computers constantly.
- BlueTemplar 5y agoI meant most STEM students plus some others (economics). While we do use computers constantly, it's not comparable to how much more is directly written / drawn on paper. (Well, pre-Covid at least.)
- epolanski 5y agoWhich developed countries have courses in school to learn touch typing? I have never, ever heard about it. Edit: by touch typing I mean having your index fingers on fj and from there using ALL keys without ever leaving the starting position, and yes that includes shift, alt and control and special characters. I know very few people who are really touch typists (I am a proficient one), and I don't believe for a second people are taught touch typings, it's a skill that requires consistent training.
- 5y ago
- Y_Y 5y agoYes, but I often work with different keyboards. The place I live has a couple of different stupid local variations, and then if I have an Anglosphere keyboard it's 50-50 between UK and US. Sometimes I change the "layout" and type as if I'm on a different keyboard, but usually the keys don't even physically match up. Then there are different types of keyboard, from super-compact to full numpad monsters and from chiclet to hefty mechanical, and then there's my shitty touchscreen phone. I'd love to be able to type from muscle memory, but the keyboards keep changing!
- epolanski 5y agoTouch typing isn't about writing without looking at the keys, that's something that pretty much every dev I know does. It's about writing in an efficient way that minimizes finger travel, and zeroes palm and writ movement. There's a reason F and J have bumps on them, or why we have two shifts, etc. For anyone interested into relearning how to type efficiently I want to recommend this free website full of tutorials and exercises: https://www.typingclub.com/ https://www.typingclub.com/
- macintux 5y ago> There's a reason F and J have bumps on them Actually that’s a regression. At one point some keyboards (Apple IIRC) put the bumps on D and K, which made it much easier to notice when your hands were misplaced. It’s easier to notice that the wrong finger has the bump than noticing that no finger has the bump beneath it.
- michael-ax 5y agoto operate and use a tui like emacs with confidence and start typing at the speed of thought: consider putting a photo of your keyboard next to your screen and painting the keyboard a nice uniform black. your body-mind's intelligence will swiftly learn to position your hands and coordinate your/its fingers without adding things to unlearn later. the photo of your keyboard near where you are focusing when looking at the screen makes a huge difference, one could start with just that.
- ramraj07 5y agoI actually like it being a touch typist? Using the mouse gives me more movement and I like it. From my observation, there also seems to be a very high correlation between touch typing and carpel tunnel as well.
- FpUser 5y agoI was programming since 80s and had never managed to learn touch typing. I am a vegetable in this department. My fingers do remember some key sequences so when I press first key I could usually master the rest of the sequence without looking but then I have to look again. I could probably put a gun to my head spend a month and learn it but I do not really feel it slowing down my programming (I spend more time thinking and drawing some skeletons) so I've never bothered.
- Keyframe 5y agoI can type at warp 9, but never in my 30+ years with various computers and keyboards have I felt lack of typing speed or lack of laser focus on screen would be a drag on peogramming 'speed' or abilities even. However, it is a bit odd for someone spending few years behind keyboard not to pick up touch typing.. prime example being MDs.
- lokedhs 5y agoI don't touch type in the sense that I don't hold my fingers on the home row the way I was taught back in school. My home position for my right hand is shifted by one column, and I never use the little finger for typing. My hands move around the kit more than what a touch typist would be do. However, I still type easily without looking at the keyboard, and I'm about as fast as the average typist, perhaps faster. Could I speed up more? Possibly, but I don't feel that I'm slowed down by typing speed, and I find my way to type better when one uses a lot of special characters, as is common when doing programming and accessing Emacs keys.
- 2ion 5y agoIt is simple, really: There are also many piano players who cannot make confident and accurate movements on the keyboard without looking at their hands! My process learning how to type on a computer keyboard without looking was very much like the process I experienced while working on my piano skills over the years: You graduate from fumbling with your hands and exhausting switching between looking at your hands and the sheet music to sight reading to playing with your eyes closed (if you want to). Though a lot of advanced players can and do play without sheet music and sight reading at all, interestingly, a lot of those players then keep looking at their hands instead! because the music progression is strictly following their mental model of the piece.
- b3morales 5y agoAlso a keyboardist, and you can pry my emacs from my cold dead fingers, but I still think it would benefit from a bit more ability to incorporate platform-appropriate keyboard-driven GUI widgets/arbitrary drawing. For example, if the minibuffer could look like a regular GUI text field + a drop-down menu, or a floating command palette, I genuinely think it would be a nicer experience (and would make it "look more modern" which is not a terrible thing)¹. Similarly for the mode line and fringes. If some of the peripheral elements could be enabled to escape the "everything is a grid of characters" paradigm I think it would be a net positive. ¹I've tried mini-frame, and it's fine, but it's still just a utilitarian grid of text.
- chlorion 5y agoIt's worth mentioning that Emacs is not a text-only editor, but is able to function in a text only environment if configured to. I think many people never consider giving Emacs a shot because they think it's purely a terminal based program. Modern Emacs can be (and mostly is) compiled with GTK support and features a GTK interface, but can be launched in text-mode with a command line argument. If you don't mind using bleeding edge versions, there is a branch called "PGTK" that allows the GTK interface to run natively on Wayland!
- Mikeb85 5y ago> If you don't mind using bleeding edge versions, there is a branch called "PGTK" that allows the GTK interface to run natively on Wayland! The two biggest Linux distros (Ubuntu and Fedora) are Wayland by default now. And the 'standard' Emacs distribution you install through the Software 'store' in both is GTK (which of course works). Wayland support isn't really a big deal anymore. I haven't come across any apps that don't work on Wayland.
- vegai_ 5y agoAt least on Sway (with the scaling settings I use), fonts are a bit crap (blurry) on xwayland and perfect on native Wayland.
- d_tr 5y agoYeah, it is GTK but not pure GTK! It uses X11 drawing calls for some elements so it needs XWayland on Wayland. Pure GTK might be coming with Emacs 28 by the way.
- epolanski 5y agoTo add to this: yes, full blown IDEs have shortcuts but they are hard to explore, counter-intuitive and hard to extend.
- spicybright 5y agoI think JetBrains has a great system to it. cmd+shift+a opens a command palette with every possible command in the IDE. It matches as you type the name of an action, and every action has a keybinding shown to the right (if it exists). Every relevant button generally has keyboard shortcuts right on them. And pressing cmd+e opens a list of gui interactions you've made so you can repeat them (things like focusing buffers, clicking on a file in the project file tree, etc.) Basically, if you know cmd+shift+a, you're golden for learning commands and key shortcuts. In comparison, emacs/vim are pretty awful. I've done a few tutorials of each and while I could have spent more time learning them, JetBrains makes it stupid easy to start learning the editor.
- gjvc 5y agoshift-shift brings up the same window, albeit with different prompts.
- spicybright 5y agoShift shift is go to anywhere with fuzzy matching. But yeah, it's the same window, the command palette is in a tab on that.
- pville 5y agoAlt-x does the very same in Emacs. Every available command with tab completion and with the keyboard shortcut listed. I think showing the shortcut is new. If you are not familiar what a particular command does you can use C-h f <function-name> to open the help page. I think Emacs is really easy to learn after you get a handle of the navigation keys. Which you might already be familiar with from shell.
- arkaic 5y agoOn your last point, in terms of absolute speed, pointing your mouse to the paragraph and dragging to highlight is usually faster than the fussiness of multiple key presses and/or chord combos needed from a full keyboard setup. That is, unless you've macro'd a custom single key shortcut for just that particular action
- arkaic 5y ago+ and basically I would generalize this across to all the common actions people typically use that are often easier with a mouse. And can even be faster, even with the extra hand travel to the mouse.
- tikhonj 5y agoEmacs has a standard shortcut for moving around in terms of paragraphs, so you don't need to customize anything. It's these semantic(ish) movement commands that really let keyboard navigation shine—moving around in terms of paragraphs, code blocks, matching delimiters is not only productive but also combines well with other commands and keyboard macros, which makes a lot of repetitive things easy to automate in Emacs but difficult anywhere else.
- spicybright 5y agoI have no problem going keyboard to mouse, but mostly because I use a macbook with touchpad exclusively. Reaching my thumb down right below the space bar to use the mouse is really not a big deal.
- sirsuki 5y agoI found I am unique, I never learned to touch type but at the same time reaching for a mouse really slows me down. I realized years into using Vim that the reason I love it so much is that I can do all my editing from the keyboard and because it is a deterministic state machine (modal) I can have a mental copy of the editor running in my head while I'm not looking at the screen. This is important to me because I look at my hands while typing. When I use GUI editors like VSCode it pops up all kinds of fancy bells and whistles that when I return my eyes to the screen it no longer matches the mental model I had in my head and I have to do a huge context switch to re-sync; just like how I have to context switch when I reach for the mouse. Am I the only one has this method of typing/editing? Praise the creators for Vim and Emacs editors.
- hibbelig 5y agoAll these friendly gooey things want to help you by popping up this kind of stuff. But luckily, some of them let you turn it off. I've told IntelliJ and Eclipse and VSCode to please stop popping up suggestions, and let me type Ctrl+space to summon them. Aaaah. Much better.
- radarsat1 5y agoDrives me crazy that these types of programs always want to fill in the closing bracket for you. Like, as soon as you type an opening bracket, it sticks a closing bracket there. Completely interrupts my train of thought, why would I want the editor to assume it knows what I want and write things for me? Maddening. Especially something that messes with my internal thought process around the syntax "tree" that I'm trying to work out. I always disable it, but I have no idea how people put up with that. In Emacs on the other hand, it just highlights the matching bracket for you, so you easily know to type when you need it. Accomplishes the exact same goal without being so intrusive. I think there's a UX lesson to be learned there.
- hibbelig 5y agoVery interesting. People are different. While I don't like this auto-complete popups, I do like the auto-pairing of quotes and parentheses and brackets of various kinds. Once you know that your editor does it, it's easy to predict and so I'm happy about having to type less. (But getting out of the auto-paired thing could be improved. In IntelliJ, when entering Java code, I usually type cmd-shift-return to complete the statement, and that does what I want. It does different things in different situations, but it's easy to predict what it does.)
- __jem 5y agoIntelliJ has a M-x equivalent and IdeaVim covers text editing. I literally never touch my mouse when using the IDE. I really don't think this is a compelling argument.
- FpUser 5y agoNever mind being "touch typist" I completely suck at typing in general. I think my cat could do a better job. Still I hardly ever use mouse when using IDE's like Visual Studio C++ coding for example. It has shortcuts for everything.