Go to the first, previous, next, last section, table of contents.


Key binding conventions

git now provides a new, easy to remember, scheme to bind commands on keys. This is only a convention, if you define new key bindings you may, or may not follow it.

All the file commands start with ^C. This prefix can be followed by some modifiers, in order to affect the default behavior of the given command. These modifiers are b and r.

b - this modifier specifies that the command will run in background:

        ^CM = CHMOD; chmod %s{New mode of %i: ,%m} %i;;;;y

defines a command that changes the current selected files mode in foreground, while

        ^CbM = B-CHMOD; chmod %s{New mode of %i: ,%m} %i&;;;;y

defines a background command that does the same thing.

r - this modifier specifies that the command will be run recursively:

        ^CrM = R-CHMOD; chmod -R %s{New mode of %i: ,} %i;;;;y

defines a command that recursively changes the mode of the selected entries.

The b and r modifiers can be combined, the resulting command running recursively and in background:

        ^CbrM = B-R-CHMOD; chmod -R %s{New mode of %i: ,} %i&;;;;y

You should also note that for some commands (like gzip) there is no need for a non-recursive version. Running gzip recursively on files is harmless. If there is a directory between these files, gzip will recursively compress that directory, so you can use the same key binding for recursively and non-recursively compressing. In fact, it is a matter of selecting files or directories.

Unfortunately, we can't run chmod recursively trying to change the mode of all the files in a directory to 0644 because that directory might contain subdirectories and removing the execution permission from them is a bad idea. So, in this case, we need separate commands.


Go to the first, previous, next, last section, table of contents.