12 Introduction
This chapter provides instructions on configuring and customizing Rizin to meet your preferences.
During the startup, Rizin loads an initial script called rizinrc
. Within this file, it is possible to incorporate configuration commands (e
commands) to customize the tool.
All the configuration adjustments in Rizin are made through the use of e
commands. A standard startup configuration file often resembles the following:
$ cat ~/.rizinrc
# enable colors
e scr.color=2
# enable utf8 output
e scr.utf8=true
e scr.utf8.curvy=true
# change color theme to nord
eco nord
Configuration adjustments can also be made using the -e option=value
command-line option. This allows you to modify configurations from the command line while keeping the rizinrc
file unchanged. For instance, to initiate Rizin with an empty configuration and subsequently modify scr.color
and asm.syntax
, the following line can be employed:
$ rizin -N -e scr.color=1 -e asm.syntax=intel -d /bin/ls
The evaluable variables are named using namespaces, such as cfg.
, file.
, dbg.
, scr.
, and others.
To obtain a list of all configuration variables, enter el
in the command line prompt. If you want to filter the output by a specific namespace, append the namespace to el
. For example, el file
will display all evaluable variables starting with the file
prefix.
For configuration values that can assume one of several options, you can employ the =?
operator to obtain a list of valid values.
For guidance on the e
command, refer to e?
.
[0x00000000]> e?
Usage: e[?] # List/get/set config evaluable vars
| e <key>[=<val|?>] [<key>[=<val|?>] ...]] # Get/Set value of config variable <key>
| el[j*qlJ] [<key>] # List config variables with their descriptions
| e- # Reset config variables
| e! <key> # Invert the boolean value of config variable <key>
| ec[?] # Set color for given key (prompt, offset, ...) (see ec?? for more details)
| ee <key> # Open editor to change the value of config variable <key>
| er <key> # Set config variable <key> as read-only
| es [<key>] # List all config variable spaces or sub-keys/sub-spaces if a <key> is provided
| et <key> # Show type of given config variable <key>
[0x00000000]> el file
file.info: RzBin info loaded
file.lastpath: Path of current file
file.loadalign: Alignment of load addresses
file.offset: Offset where the file will be mapped at
file.openmany: Maximum number of files opened at once
file.path: Path of current file
file.type: Type of current file
[0x00000000]> e scr.nkey=?
fun
hit
flag
A more straightforward alternative to the e
command is available in visual mode. Type Ve
to enter this mode, utilize arrow keys (up, down, left, right) for navigation through the configuration, and press q
to exit. The initial screen for the visual configuration edit appears as follows:
[EvalSpace]
> analysis
asm
basefind
bin
cfg
cmd
dbg
diff
dir
elf
emu
esil
file
flirt
graph
...