9 ms·
Looks like Nyxt, a browser "inspired by Vim", inherits Vim's showstopper bug: Being unusable on many non-US keyboards, at least with the default bindings. The '
by p-e-w 3y ago
Looks like Nyxt, a browser "inspired by Vim", inherits Vim's showstopper bug: Being unusable on many non-US keyboards, at least with the default bindings. The 'switch-buffer-previous' command is bound to C-[, which cannot be pressed e.g. on QWERTZ layouts because the [ character requires AltGr. This is like sending around text files encoded in Windows-1252 and expecting things to just work.
Sorry folks, but it turns out that the creators of Vi(m) didn't actually invent the ultimate UI paradigm half a century ago. It's bad enough that a text editor that ignores the past few decades of UX research is still in widespread use, but please, for the love of God, stop incorporating that broken paradigm into new products.
What a pity, because Nyxt looks like a well-designed piece of software otherwise.
- muti 3y agoHardly sounds like either a bug or a showstopper when you can rebind any command
- p-e-w 3y agoWhen a product is unusable without changing configuration, it absolutely is a bug. Being customizable is great, but being broken by default is not. Besides, the whole point of Vim bindings is supposed to be that they are the same everywhere (muscle memory yadda yadda yadda). When you have to change core bindings to something random to make them work, that whole idea falls apart, and you're probably better off using the platform standard bindings for everything. Plus, you get the additional benefit that the software fits in with the rest of the system, rather than sticking out like a sore thumb.
- RhodesianHunter 3y ago>When a product is unusable without changing configuration, it absolutely is a bug I don't think that adage applies when the target user is the average VIM user
- dexterdog 3y agoBut the average vim user is jumping to new instances often, so if he has to reconfigure it everywhere he might as well install a different editor with a config.
- irishloop 3y agoI am not sure thats true. vim does give you extra utility in its availability on a wide variety of server-type platforms, but I suspect most vim users are using it actively for development on their local (or docker etc) boxes
- sodapopcan 3y agoYep, lots of us "Vim as a local IDE" users out here. I haven't "jumped around machines" in years. Vim is a nugget of battle-tested familiarity in an industry of constant change.
- alpaca128 3y agoI have over 100 custom keybindings in my Vim config and can assure you I can still use the default configuration without any issues, it's just a bit slower. The few settings I find really important can just be quickly set with a couple commands. No big deal.
- usrbinbash 3y agoLets see, how many commands does it take me to port my entire vim config to a new machine? Ah, right...one. git clone https://github.com/MY_USERNAME/vim.git Not exactly what I'd call a difficult or time consuming method.
- zamnos 3y agoyou missed the ~/.vim at the end
- deleted 3y ago[deleted]
- theK 3y agoI‘ve heard this argument in variations from QERTZ users. The thing is, programming was invented with the QWERTY UX in mind. The fact that the German keyboard resembles the American keyboard for 80% of its Lay-out doesn’t change that. You don’t hear the Arabic, Chinese or Greek crowds complain about this, they just switch layouts.
- alpaca128 3y ago> the whole point of Vim bindings is supposed to be that they are the same everywhere No, the point is customizability to tweak it to your personal needs. Vim has the most flexible keybinding system I've seen in a program so far. If you want "same everywhere" any editor will do. I have never in my life seen anyone make this argument that one of the most customizeable editors is meant to be used without configuration. > you're probably better off using the platform standard bindings for everything Or maybe I use Vim exactly because it fits my workflow better than the standard that was designed for the average user as a series of historical accidents? > When a product is unusable without changing configuration, it absolutely is a bug It's not a bug, it's a design based on how 99% of input devices in the region it was created in work. Just like US electrical appliances that you can't just plug into European power sockets. And honestly you're blowing this way out of proportion, very few Vim keybindings are incompatible with QWERTZ keyboards. I know because I used Vim for years with a QWERTZ keyboard and never felt limited by that.
- usrbinbash 3y ago> Besides, the whole point of Vim bindings is supposed to be that they are the same everywhere (muscle memory yadda yadda yadda). No, the whole point of ViM bindings is that MY bindings are the same everywhere. That's why it's main config is a simple textfile that I can just `git clone` or `sftp` onto whatever machine I intend to spend more than a few seconds writing code on. Which, incidentially, is something that is an absolute PITA, if it's possible at all with the more "modern" editors, or on the off chance it isn't a PITA, usually depends on some specific platforms offerings. > Plus, you get the additional benefit that the software fits in with the rest of the system, rather than sticking out like a sore thumb. Well, from my PoV, what with i3 desktop, vim in the terminal, and the browser being the only GUI application that I use regularly, vim seems to fit in pretty well with everything else.
- nurettin 3y agoHave you tried C-ü and C-+ ?
- Eldt 3y agoYou're not going to get a default that suits everyone. Stop being so sensationalist and just rebind them.
- p-e-w 3y agoWhat nonsense. Every single modern operating system has bindings that are usable with all keyboard layouts. Having such a default is not only possible, it's the status quo everywhere, except in software designed during the era of the moon landings.
- RhodesianHunter 3y ago>Every single modern operating system So something completely unattainable by a small dev team on a startup budget. Great! These are the standards by which we prevent any good things from being created.
- p-e-w 3y agoYou don't have to "develop" anything, you just have to follow the binding conventions for the platform(s). In practice, this simply means using Ctrl/Cmd+[LETTER/NUMBER] for everything, and the problem is solved.
- flagrant_taco 3y agoTell that to my pinkies. Reaching for Ctrl/Cmd+[LETTER/NUMBER] when navigating entirely by keyboard is a really bad idea.
- deleted 3y ago[deleted]
- wkat4242 3y agoEven that won't work everywhere. French keyboards have the numbers under shift (yeah really...)
- TheRoque 3y agoI'm curious about what "decades of UX research" improvements you are talking about, to me everything about the UI for text editors or browsers hasn't improved much in decades. If you have a laptop with just a touchpad, chances are you'll never get better than vim keybindings. Moreover, the keyboard layouts themselves are centuries old.
- p-e-w 3y ago> I'm curious about what "decades of UX research" improvements you are talking about Here's the most important one of them: Don't surprise me. Blend in. Look and behave like other programs. There are 50 applications on my system. Yours is one of them. If all other applications use 'Ctrl+C' for copying text, but your application uses 'y', then your application is the problem.
- spoonfeeder006 3y agoThats a basic principle. But when you say decades of UX research you imply actual new ways of doing things And something innovative and effective would be both self explanatory and actually useful, so it ultimately gets adopted by others instead of simply surprising and confusing people
- akho 3y agoBut Nyxt (which is modeled on Emacs, not Vim) would blend in for me. I spend most of my time in Emacs and Firefox; I would prefer a browser that blends in. I don’t know about 50 applications. The rest of the applications I use are more specialized, and have their own shortcut madness. Browsers ate most of the small stuff.
- gsinclair 3y agoThat would be a problem if vim was installed front and centre on everybody’s computer and they were all expected to use it. That is not the case. You choose to use it, so you either accept, or better yet, embrace that y=copy, or you choose to use something else. Trying to objectively describe vim as a problem by invoking UX research is very funny. The end result of that logic is to rule out modal editors altogether.
- bharrison 3y agoTrue, Hackers hate changing settings. Imagine if those precious keystrokes wasted on setting a keyboard layout could instead be utilized usefully. Say, to post some cloying, whiny critique of someone else's work, wherein one might go so far as invoking their diety in the hopes it might stem the tide of what, I guess, must be a massive recent influx of vi(m)-keybinding-based projects.
- mattigames 3y agoif Vim had the very same problem for US keyboard layouts it would have never become the standard choice for "hackers" (e.g. in a parallel universe where Vim was created by a Japanese for Japanese keyboards), so yeah, in general hackers hate when their tools don't work out of the box, hackers expect the very basics of any tool to work out of the box, changing settings should be a step to accommodate it to your liking, not to fix basic functionality.
- tourmalinetaco 3y ago> if Vim had the very same problem for US keyboard layouts it would have never become the standard choice for "hackers" Not necessarily, since it’d just be a matter of popularizing Vim + the community’s preferred shortcuts as a starter instead. > in general hackers hate when their tools don't work out of the box Indeed we do. However, we don’t give up on something if it doesn’t work. We simply hack at it until it works how we want ;)
- pineaux 3y agoI love the true scotsman arguments in this subthread. Defining "hackers" as this or that.
- mattigames 3y ago> Not necessarily, since it’d just be a matter of popularizing Vim + the community’s preferred shortcuts as a starter instead. There isn't that many software dev tools were a small variation in key bindings (or some similar small change) became ubiquious and propelled the popularity by adapting it to the local needs of American developers/IT (keyboard layout in this case), it's a chicken and egg problem because if Vim wasn't that popular there wouldn't be much interest in creation preferred shortcuts, so I conclude that what you suggested is not what would have happened.
- brabel 3y agoIf you have trouble hitting [ how do you ever program anything? I use multi-language keyboard layouts and switch all the time... when coding (or using "hacker" software like this, which is completely based on emacs [and as far as I know is written in Common Lisp], not vim), just use a layout that makes it easier (in my case, en-AU).
- p-e-w 3y agoEntering [ works just fine on QWERTZ: You simply press AltGr+8. But this doesn't work in shortcuts, e.g. when combined with Ctrl. That is, AltGr+8 generates the character '[', but Ctrl+AltGr+8 is not the same as pressing Ctrl+[ on keyboards that have a dedicated [ key. This bug is decades old, and every Vim derivative suffers from it.
- brabel 3y agoI use Cmd+[ on MacOS to "go back" on multiple software like IntelliJ, emacs (I probably configured it) and Firefox, so I would say this is a pretty common combo. It's easy to remember, specially given that the mirror, "go forward", is Cmd+]. As I said, even though my first language is not English, I only write code in an English keyboard layout so I've never even considered that [ is "hard to press". EDIT: the Dr Racket editor even lets you write Lisp using '[' and ']' because they don't require pressing shift like '(' and ')' so are easier to press.
- cschmatzler 3y agoUsing [ and ] is completely normal in so many applications. QWERTZ just is a bad design, and applications shouldn’t have to work around that by making keybindings more difficult. My team has ~100 engineers in QWERTZ countries and I don’t know a single one of them that actually uses it. QWERTY is the standard order for all new laptops. Nobody complains.
- zelphirkalt 3y agoAll the time while reading this thread I could not remember an issue like that from the time I used Vim/NeoVim. Perhaps it somehow did not affect me? At least in Emacs that works exactly like it should.
- can16358p 3y agoThis! I've been programmer for about 20 years now and I could never understand why Vi(m) or Emacs exists with those weird bindings which are completely different from pretty much everything else. I'm not that old, maybe they had their cake in 80s, but perhaps time to move on to something modern which would have modern defaults (if many need to customize there's something wrong with the defaults) that appeal to all keyboards.
- p-e-w 3y ago> I could never understand why Vi(m) or Emacs exists with those weird bindings which are completely different from pretty much everything else. Inertia, traditionalism, elitism, insider culture, ignorance, "good enough" mentality, blind spots, cargo culting, ... There's really no mystery here. The reasons are the same as in every other part of society where outdated conventions are maintained despite massive, obvious problems. The phenomenon itself is as predictable as the arguments used by its defenders, mostly variations of "it works for me".
- wkat4242 3y agoI think there's more reasons that are not so negative. First of all, vi predates all those others. That means it's always had an active userbase werken other tools were in fashion. Changing the bindings at any point in time would have hurt a lot of people's muscle memory. It would also be extremely annoying when one has older versions on some machines with the old bindings and some with the new. I deal with the Mac vs Windows/Linux copy paste problem every day. Also, vim just has a ton of functions and there's always going to be some shortcuts that will be awkward on some or other keyboard layout. Finally, you don't have to use it :) or you could distribute your custom config file with bindings to every machine you use.
- cschmatzler 3y ago… or also because it’s significantly more productive than any other editor. But hey, it’s much easier for you to assume everyone making a choice for themselves is part of some cult than giving them the ability to think and make good choices.
- orbital-decay 3y agoA paradigm is something more high-level than a very specific keybind conflict. Mature vim mode addons for browsers are layout-insensitive. How do you think j/k work on non-Latin (e.g. any Cyrillic) layouts? And they do. That's an oversight of Nyxt in particular.
- dirkg 3y agoVim style keybindings and navigation is massively overhyped as is vim itself. Cue endless debates about how Vim is the best ever ...... I'm sick and tired of everyone telling me that their neovim setup with a tiling window manager with million customized rc files is somehow better than vscode with a mouse (which mind you still has plenty of keyboard shortcuts) with sane windows. /rant
- z_open 3y agoWhy do comments like this always ignore the obvious solution of using an IDE like code with a vim plugin. And yes that's more efficient.
- microtonal 3y agoI tried vi emulation VS Code for a while, but the emulation is often incomplete and breaks at times. The only thing that emulates vi well enough is Evil in Emacs.
- brirec 3y agoTry embedding a real neovim into vscode: https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim https://marketplace.visualstudio.com/items?itemName=asvetlia...
- xigoi 3y agoI personally don't like having to use a whole browser engine to edit text, and being reliant on a greedy user-hostile corporation for it.
- mst 3y agoThere's a class of fanboys who will be telling you about that because they're Really Excited that they got it Just How They Wanted It. Most of us think "we like it, some people don't, great if it's an option, probably shouldn't be the only option anywhere else." The one-upmanship (over VSCode in your case but all editor wars get a dishonourable mention) is bullshit but, like, random strangers on the internet tell people with crippling depression "hey, you should do <thing>, it fixed -my- depression" so I think you have to just accept that "when something works really well for a human, sometimes they get overexcited and start trying to turn the something into a silver bullet that it isn't" is something that will always happen. Note: The people doing the arseholish one-upmanship are not in any way forgiven by this, and the "everyone telling you" that you describe would aggravate me as well, but as with the Rust Evangelism Strike Force, you just have to nod and smile (and sometimes point and laugh) at the zealots and look at the technology for yourself. Note 2: I use the original 1970 Bill Joy vi. Other people I know use VSCode. 'better' is relative, and what works best for any given person/project varies wildly - everything before this note is about the dynamics of people discussing such choices.
- jan_g 3y agoHa, true! But also interesting, how differently we work. I switch to national keyboard layout only when I have to write an email/chat message with my compatriots or maybe a document that needs those national characters. Otherwise, I just use US layout for everything. Like 99% of time I'm on US layout. It makes much more sense when programming (not just brackets, but also quotes, colons/semicolons, slashes, backticks, etc.), which is my primary use of computers.
- xigoi 3y agoI'm Czech and use the UCW layout which works exactly like US English, but allows me to enter Czech letters with AltGr. It's so much better than the traditional Czech layout.
- linmob 3y agoHonestly, as a fellow QWERTZ-native, QWERTZ is generally a terrible layout for doing any programming in languages that go beyond round brackets. Instead have all these umlauts you rarely need, even in normal writing, right there - just a bad tradeoff. One might even argue that it's terrible for some other keyboard shortcuts, as they stop making sense: E.g., when Ctrl+Z is undo and Ctrl+X is redo, that makes perfect sense on QWERTY, but is hard to grasp on QWERTZ. Yet this is seemingly never customized/"translated", even in software that customizes other shortcuts (e.g., in word processing). So, long story short, do yourselves a favor and don't use QWERTZ for serious computer use ;-)
- europeanNyan 3y agoThis sounds like a lot of gatekeeping. QWERTZ types need not apply for serious computer use. Even worse are those ones who would prefer to write a proper e-mail using umlauts.
- linmob 3y agoNow, you can complain about gatekeeping, or you can set up more than one keyboard layout (I have yet to run into a reasonable OS or DE that does not allow for this), and switch around when it's appropriate. Other ways to accomplish this would be coming up with macros or custom shortcuts (e.g., with one or more modifiers), to type the characters you don't have on an UK layout. All of this is way easier to do than to fix all the 'bugs' in well established programs that have shortcuts that don't work or don't make sense on QWERTZ (or, to take it further, in the native language attached to that language - :wq should be :sb in German. ;-) ) My intention here was not to gatekeep, but to make the case/share my experience that when I first forced myself to use a different (UK [1]) keyboard layout and set my computer to English, many things that previously were cumbersome and hard to remember and did not really make sense, suddenly were easy to memorize and made perfect sense. It was almost life-changing! Now: Should (1) it be this way, or should (2) internationalization/translation be way better? Certainly (2), but I just don't see it happen, neither in commercial (cost), nor in free (lack of contributors) software. [1]: Don't do this, US international ISO is better: https://www.farah.cl/Keyboardery/A-Visual-Comparison-of-Different-National-Layouts/#enUSin https://www.farah.cl/Keyboardery/A-Visual-Comparison-of-Diff...
- doctor_eval 3y ago> Sorry folks, but it turns out that the creators of Vi(m) didn't actually invent the ultimate UI paradigm half a century ago I have been thinking the same for years. Some guys at work used to add Vim bindings to their IDE and I just didn’t understand it. I used VI back in the day when the choice was vi or ed. It worked well given the constraints of a Wyse60 or VT100. But I was happy to leave it behind for X windows, a mouse, and modeless editing. So today, 25 years after I learned VI because I had no choice, the idea that having Vi bindings makes a tool for “hackers” is just not something that resonates with me. I’m happy to discover I’m not the only one.
- cryptonector 3y agoWhat's key about vi is modal editing. Modal editing is very powerful. It also means not having to use the mouse for everything and also not having to type too many modifier key sequences. For some of us that's absolutely essential to avoid deviations that lead to injury.
- doctor_eval 3y agoI don’t really understand. Many of the common bindings in Vim use modifiers. How do you navigate back a word without a modifier? Do you just exit editing mode like in the old days? Do you just forgo this and arrow back? In case it’s not clear from my tone, I’m totally sympathetic to relieving injury, and whatever works, works. I just don’t understand how Vim bindings help, and am genuinely curious.
- cryptonector 3y ago> Do you just exit editing mode like in the old days? Yes! I very much do. I do not use the arrow keys for cursor movement in edit mode.
- mst 3y agoIn fact, it got to the point where I realised I was only ever hitting the arrow keys by accident while in insert mode so my vimrc now contains: inoremap <Left> <NOP> inoremap <Right> <NOP> inoremap <Up> <NOP> inoremap <Down> <NOP> (the rest is at https://trout.me.uk/X11/vimrc https://trout.me.uk/X11/vimrc)
- SanderNL 3y agoYes and calculators have the same issue. I mean, what about Indian numerals, Ethiopian and how does one perform a proper Coptic calculation using these awful devices with showstopping UX flaws? It’s time we pander to each and every culture’s random conception of symbol manipulation and end this era of universal, gate-keeping, commonality. The time of personalized input devices is upon us. Vim and thus this browser is unusable on my custom 20% HIQPK layout numpad.
- trinix912 3y agoRemember that most European keyboards don't have [ and ] accessible on the first/second level. That's already half of the western civilization, not some random's custom layout.
- Gud 3y agoI switch between keyboard layouts all the time, depending on which input language I need to use. I simply cycle between the langugaes I write in(Swedish, German and English) by pressing alt and caps lock. I accept that U.S. English is the computer lingua franca.
- cobbaut 3y agoSame (US-qwerty and BE-azerty). Which is easy on a blank keyboard.
- olodus 3y agoYes, mine for example. Swedish keyboard layouts are horrible for coding. The [ and lots of other symbols require super weird hand movements to input. That is why when I code I usually use an American layout keyboard instead. However, even if I wouldn't switch - wouldn't it just be to remap the keys in my config?
- anthk 3y agoEuropean here. I don't care, I don't use the Spanish layout, it sucks for programming. No one uses that at professional level for programming, US-Intl it's much better with the menu/super_r key as the 'compose' one.
- chjj 3y agoThe road to hell is paved with UX research.
- eimrine 3y agoSadly, but the goal of those UX research is not a user's satisfaction.
- cryptonector 3y agoIt's a pity that your negative, flame-baity comment is the top comment on this post.
- anthk 3y agoI am a Spaniard which I learnt to use the ES layout as the 100% of the Spaniards and then I realized it sucked a lot for programming symbols. If you use Linux/BSD for programmaing and don't run something like "setxkbmap us -option ctrl:swapcaps -option compose:rwin" (or menu instead or rwin in order to use menu+'+a to type á, you are losing your time. Stuff like "recogerá" can be easily written with menu+' made solely with the right hand as a pinch and 'a' with the left key. The only issue is 'ñ' which is a bit cumbersome to type, but there aren't many words with 'ñ' usable in the same context.
- mst 3y agoThe other approach I've seen is having some sort of weird key combination (like "hitting both shift keys at once") to switch back and forth between two layouts. I saw somebody using it for QWERTY vs. DVORAK but it seems like it'd be viable for two language layouts too.
- usrbinbash 3y ago> C-[, which cannot be pressed e.g. on QWERTZ layouts because the [ character requires AltGr. So the user just presses Ctrl-AltGr-[, what's the problem? And changing keyboard layouts or keybinds, isn't something that someone using vim should have a lot of trouble with anyway. > It's bad enough that a text editor that ignores the past few decades of UX research is still in widespread use, Maybe that's because a lot of people using it decided that the "decades of UX research" produced precious little of worth. That's because alot of the "research" done in areas that are, by their nature, heavily opinionated, produces, what a surprise, mostly opinions. And when we take a giant pile of opinions, and pile them all on top of one another, well... ...that's how we ended up in a world where, somehow, people now actually have to wait for an application to open, like they did in the early 90s, on machines that are orders of magnitude more powerful. Where webpages load 20MiB of giant hero images, useless framework code and spyware, to display 4 lines of text. Where applications get more "modern" and "streamlined" by somehow lowering information density, losing functionality and getting less self-explanatory.
- crabbone 3y agoAs a long-time Emacs user who also occasionally uses Vi and very rarely Vim... but also knows a bunch of people who are in the later camp: nobody in that camp buys / uses "non-US" keyboards. Even on "US" keyboards, the amount of remapping a typical user does to their keys is significant. In other words: you are complaining about a problem that doesn't exist. Users who want Vim / Emacs experience don't want keyboards that don't work well with their editor of choice. They will not be in a situation where they have to adjust their editor to the keyboard layout. If there's a mismatch, then the keyboard will be adjusted, not the editor. Now, I'm not sure how Vi(m) users handle other written languages, but since I every now and then have to write in two non-Latin languages, in Emacs, I keep buffers for those languages with input method set accordingly. However, say, I need to write in Cyrillic, I still use the en_US modified QUERTY layout that I use for everything else + phonetic transliteration into Cyrillic. This is both easier for touch-typing, as I don't have to memorize several different layouts, and this method makes more letters easily available than there would've been on a physical keyboard. So... no. don't stop incorporating Emacs / Vi key usage into new products. It works great. Also: > ignores the past few decades of UX research Except there was none. Unless you mean it in the same way how for some reason people who make HTML pages call themselves "UX developers". What happened is that big companies wanted to sell products that looked "impressive", but offered worse user experience overall. This is how MSVS, Eclipse, and similar happened. There's literally no UX research on how people deal with typing text into computers. Whereas in practice, what I see is that people who use "visual" tools just suck at writing text. And, myself, having worked with both "visual" editors and Emacs / Vi, I would literally refuse a job position if I had to work with VSCode / IntelliJ products.
- evilspammer 3y ago[dead]
- agumonkey 3y agoAny pointers to research? As an emacser I consider most of vim very very :repeat efficient. I'm very much still open to new ergonomic ideas though, I just never see any.
- kagevf 3y agoNyxt has a vim mode, but it’s more inspired by emacs, and therefore fully customizable.