8

To indent a whole block of code in nano, after selecting it with alt+a, I have to press alt+{, which doesn't work on my german layout macintosh keyboard (and would be pretty annoying even if it did).

How do I change and customize nano's keyboard shortcuts?

8

The file /etc/nanorc contains some options that should allow you to customize the shortcuts used on the editor. Please note that this is a global config file and will modify the options for all users on your system.

Further details on the available options are given on the man nanorc page (the list is just too big to reproduce here):

enter image description here

It should be possible to keep the options localized only to your user by copying the system configuration file in to your user's home directory with

cp /etc/nanorc ~/.nanorc

and doing the modifications necessary there.

The configuration file on your home directory will prevail over the global settings one.

| improve this answer | |
2

The following has been tested using nano from a terminal in MS-Windows.
It will get your nano one step closer supporting the "universal" shortcuts for copy/cut/paste etc. (at least in the Windows world).
Add these lines to the file /etc/nanorc

bind ^c copytext main
bind ^x cut main
bind ^v uncut main
bind ^z undo main
bind ^y redo main
bind ^f whereis main
bind F3 findnext main
bind ^h replace main
set tabsize 4
set linenumbers

Be aware they work per whole-line if you don't select text first :-/

If you have issues selecting text in nano with shift+arrow-keys then be aware this doesn't seem to be related to nano but your terminal program! It doesn't work in PuTTY, but it does e.g. work in Kitty (a fork of PuTTY, Windows-version / Linux-version) or Google's SSH client for Chrome.

(I'm using Debian buster)

| improve this answer | |
  • Also: bind ^s writeout main – kurdtpage Sep 29 '19 at 23:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.