> On 07 Nov 2016, at 19:11, Eli Zaretskii <[email protected]> wrote: > >> From: Alejandro Sanchez <[email protected]> >> Date: Mon, 7 Nov 2016 18:08:16 +0100 >> Cc: [email protected] >> >>> If the key bindings are significantly different, the info.info manual >>> will no longer be accurate enough, and Vim users will have no manual >>> to learn how to use Info. >> I know, but the info key bindings don’t make sense in Vim culture; for >> instance, in Vim you use C-D and C-U to scroll up and down half a screen, so >> using space and backspace is unnecessary and might break bindings the user >> has already set up. > > Isn't it possible to have both Vim-native and traditional Info key > bindings? That would kill 2 birds in one blow. It is possible, but again, it would break possible bindings users have set up (I have space as my leader key). It will be easy to remap if people really want to of course and I can put a snippet into the readme. Vim culture is different from Emacs culture, Vim users expect plugins to snuggle into the editor’s existing ecosystem while Emacs users treat their editor like an operating system. Compare Magit for Emacs and Fugitive for Vim, both are Git clients but with radically different design. My goal is not to port info 1:1 but to make it possible to read info manuals from inside Vim. There is already a plugin that allows reading manpages inside Vim and it follows the same design. > >> I will provide a manual for info.vim of course and everything will have a >> corresponding analog, so if you know how to use standalone or Emacs info >> you’ll be up and running in no time. > > But what about the cross-references from various places to the > info.info manual? Are you going to intercept those as well? > > Besides, info.info is not a small manual. Does it really make sense > to write a Vim-specific version of it, and then maintain it in sync > with the upstream version? I wonder. Info.info has four chapters, out of which only the first one is about info key bindings. Some of those are redundant in Vim: I don’t need the ‘l' key when <C-O> already does the same thing throughout all of Vim. Space, DEL, BS and ^L are redundant as well. All the Emacs-only stuff is non-applicable. Some like ‘d’ are trivial to implement and not worth messing with the user’s key mappings when ‘nnoremap d :Info<CR>’ is all that’s needed to get the functionality.
After your strip all that away the amount of documentation I have to write is really not very large. And finally, if people complain about it I can still add those key bindings, but I doubt that will happen since a lot of Vim people actually find the default info interface atrociuos. The way I think about interfaces is like a language. I am right now translating the info language from Emacs to Vim and if the Vim people already have a word of “Jump to the beginning” they would expect me to use that word.
