Fork me on GitHub
#vim
<
2021-02-11
>
orestis08:02:34

A question for people who use a non-QWERTY layout (dvorak or even french or german AZERTY, QWERTZ layouts) with vim: Does vim use the positions on the keyboard for the various commands, e.g. to record a macro, do you press the left-most key on the top row (usually Q but sometimes A)?

nbardiuk08:02:22

I don't use alternative layout but remember watching this video https://www.youtube.com/watch?v=xlqDCY05Hpk TLDR vim uses letters not position of a key

dave11:02:19

I use Dvorak. Vim does not use the positions of the keys, but rather the keys' "values" if you will. I still press Q to record a macro, HJKL to move around, etc. They are just in a different position in my keyboard layout than they are in a QWERTY layout.

grazfather16:02:10

It uses the values, and that’s actually a big part of the reason I chose to use colemak instead of some of the others: hkjl are still on one hand, and qwazxcvb don’t move

noisesmith19:02:13

in theory you could make a plugin that remapped normal mode based on keyboard layout

orestis19:02:59

There’s some mention in the docs about this, that I can’t find any more — basically for layouts such as greek where insert mode works fine but normal mode is completely broken you can remap greek characters to latin so you can send commands in normal mode too.

orestis19:02:12

Ah right, langmap it is 😄

dave21:02:04

My take on this is that I actually prefer going off of the values and not the position, because Vim's mappings are so mnemonic, e.g. I wouldn't want "delete around word" (daw) to be "eap"

dave21:02:51

I don't mind HJKL not being right next to each other. My fingers have memorized where those keys are in Dvorak.

dave21:02:26

Conveniently, H is to the left of L, it just isn't immediately to the left of L. :)

grazfather16:02:05

that’s like playing games on colemak 🙂 WASD is in the same orientation… just spread out.

dave13:02:31

WASD is a nightmare in Dvorak! 😄 If I ever have to play a game that uses WASD as the arrow keys, I just switch to QWERTY.

dave13:02:22

Funny to think that if Vim used something other than HJKL for movement, I probably would be less inclined to use Vim because HJKL just happens to work fine in Dvorak!

dave13:02:05

Or maybe it would be an incentive for me to use HJKL less, since over-reliance on HJKL is an antipattern :thinking_face:

orestis08:02:53

(I’m trying to figure out proper support for keyboard in my experimental UI and the documentation is hard to parse)

Matsu16:02:04

Anyone here using clojure-lsp with a completion engine? Currently trying to setup nvim lsp and clojure lsp and got some code completion but code any :require'd packages dont seem to be caught by the lsp

dharrigan16:02:29

I use CoC

8
dave16:02:54

CoC + clojure-lsp = awesome

orestis16:02:39

How about the neovim 0.5 client? Or is that just the substrate that CoC uses?

dave16:02:26

CoC does not rely on Neovim 0.5

dave16:02:50

I'm curious to try the built-in Neovim LSP client at some point in the future, but I rely so heavily on CoC, I'm not optimistic that the Neovim one is usable for me yet.

dave16:02:04

I imagine it'll take some time before adoption picks up and it becomes as usable as CoC is now.

grazfather18:02:13

oh the topic of Coc, there are so many mappings you have to copy in. What do you find you guys tend to use? I mostly just like the auto complete with the arg list, and gd, basically nothing else

dave18:02:28

I have a ton of custom CoC config: https://github.com/daveyarwood/dotfiles/blob/24387891fe1ae89713bac9f272207b06af571434/vim/custom/500-plugins-config.vim#L154-L305 Most of it I stole from @eraserhd’s config and I have no idea what it does 😄

Aleksander19:02:33

I was just about to ask how did you learn how to configure CoC - it’s a massive beast with documentation I can’t parse.

jkrasnay20:02:29

@U0AHJUHJN So you use CoC and deoplete at the same time? I’m so confused. I thought they did the same thing, with CoC also providing LSP integration.

grazfather20:02:46

cool. Thank you. That’s pretty intense

grazfather20:02:00

a lot of the same idea as me. That reminds me the problem I had with the CoC defaults: They map a lot after space, but space is my leader, so there are a lot of collisions. Now they are behind leader>c…

dave21:02:49

No, I just use COC, no Deoplete. I haven't bothered to clean up my old Deoplete config :)

dave18:02:48

Or was it @snoe’s config? I forget. I just remember that it was either the author of parinfer-rust's or the author of clojure-lsp's :thinking_face:

dave18:02:05

Probably the latter. Sorry for the ping, whichever one of you it wasn't 🙂

Matsu19:02:05

I've actually been running nvim-lsp with the 0.5 version for quite some time

Matsu19:02:25

Not as plug and play as coc and some breaking changes in updates but really enjoying the experience with js, ts and java

Matsu19:02:18

I felt that coc really slowed down my editor at times, so I made the switch

dharrigan19:02:21

I have several too

orestis20:02:02

I need a name for my NeoVim GUI. It’s written entirely in CLJ/CLJS and it’s meant to be a hackable thing… at least for me 🙂 Any suggestions?

walterl20:02:28

Off the cuff: NeoWeb

dave21:02:23

CleoVim (not a serious suggestion)

mynomoto13:02:42

drafter as in the editor is a draft and can be improved.

orestis15:02:08

Thought of a name! Thanks all, stay tuned for some announcement in a month or so 😛

🎉 3
orestis19:02:21

It’s here, a NeoVim GUI in the browser, written in Clojure/Script: https://github.com/orestis/brim — only a few days worth of hacking but it’s usable (turns out, not as fast as a proper GUI or the terminal, but fast enough to be used to continue development). If you’re curious to see how the NeoVim RPC API for GUIs works, take a look inside 🎉

orestis19:02:27

In case you jumped on this I just pushed a few updates to the README and some REPL fix :)

noisesmith16:02:18

small typo in the readme / intro: > And things will break, see the for what’s left to be done.

noisesmith16:02:46

probably meant to be something like "see the faq for what's left to be done" or changelog, or whatever

noisesmith16:02:16

oh, there's a TODO file :D

orestis20:02:26

Aah thanks for flagging , I will try and push some changes and updates over the next few days. Got some better grasp of keyboard handling now, plus need to fix emoji rendering which crashes the server 💥

orestis19:02:38

I haven’t used asciidoc before so it was a broken link. Anyway I’ve pushed a much improved keyboard support and fixed emojis. However it seems that NeoVim is barfing on composing emojis, that’s a shame.

orestis20:02:28

I’m so happy right now, after a few false starts my DOM code is virtually lag-free. Same performance as typing into VimR or even (gasp) the terminal. Modern browsers can be quite fast 🙂

💯 4
orestis19:02:21

It’s here, a NeoVim GUI in the browser, written in Clojure/Script: https://github.com/orestis/brim — only a few days worth of hacking but it’s usable (turns out, not as fast as a proper GUI or the terminal, but fast enough to be used to continue development). If you’re curious to see how the NeoVim RPC API for GUIs works, take a look inside 🎉