Is vi keyscheme really set?

I would like to set the vi keyscheme. I did:

  • Ctrl-space: common-settings
  • Select Keyscheme: vi
  • Restart Nyxt (because I never know when it’s necessary)

Now, I can open the Bindings page with ?. But I see mostly CUA bindings:

Title Keywords
* Bindings
*** override-map command
*** help-mode-default-map current heading buffer list key
*** bookmarks-mode-cua-map url current bookmarks g element
*** history-mode-default-map url parent forward buffer navigate
*** hint-mode-cua-map hints open selected element buffers
*** document-mode-cua-map current page text selected heading
*** search-buffer-mode-cua-map

Only help-mode-default-map looks vi like.

When I check common-settings, keyscheme Cua is selected again.

  1. Are there really only vi key bindings for help-mode?
  2. How do I know if the vi keyscheme is really selected?
  3. Does the keyscheme selection in common-settings have any meaning or is always the first entry selected (which would be confusing)? I noticed already for slot values that only the default value is shown, never the actual value.

Answer to the first question: There are more vi key bindings.

I have found the relevant section in the manual: https://nyxt.atlas.engineer/documentation#keybinding-configuration.

After adding this to my config.lisp

(define-configuration buffer
  ((default-modes
    (pushnew 'nyxt/mode/vi:vi-normal-mode %slot-value%))))

I see many more vi sections on the Bindings page:

Title Keywords
* Bindings
*** override-map command
*** bookmarks-mode-vi-normal-map m url l bookmarks current
*** history-mode-vi-normal-map url parent forward h buffer
*** hint-mode-vi-normal-map f hints open selected g
*** document-mode-vi-normal-map current page heading g buffer
*** search-buffer-mode-vi-normal-map incrementally current unbound search
*** autofill-mode-default-map field saved

@MaxGyver83 which version are you running?

When you use common-settings, the configuration is saved at auto-config.lisp. If you’re writing your own config file, config.lisp, then perhaps it makes no sense for you to use the auto configuration facilities.

Adding this setting to config.lisp was only my second try. When I use common-settings, this code is added to my auto-config.3.lisp:

(define-configuration (web-buffer prompt-buffer panel-buffer
                       nyxt/mode/editor:editor-buffer)
  ((default-modes (pushnew 'nyxt/mode/vi:vi-normal-mode %slot-value%))))

What’s the difference? Only that the input-buffer is omitted when I use common-settings?

The difference is the scope. I’d suggest that you add the keyscheme to input-buffer, since not all buffers are input buffers.