Screenshot:

Configuration:

There are several configuration options available, either via the in-game config menu, or in the configuration file.

defaultStateGhost Should the ghost block rendering be enabled or disabled by default (when not holding any keys)

defaultStateWire Should the wire frame rendering be enabled or disabled by default (when not holding any keys)

enableRenderGhost The main enable for ghost block rendering

enableRenderWire The main enable for wire frame rendering

fakeWorldCopyRadius The radius of blocks that will be copied to the fake world. The change detection radius is one less than this value.

renderAfterDelay The preview will only activate after the cursor has been held over a block for an amount of time.

renderDelay The amount of time the cursor must be held over a block for the preview to activate.

renderOverlapping Render a ghost block preview over existing blocks. This also changes the way the changed block models are detected. (when false, only blocks that were modified in the fake world via setBlockState() are included, when true, all blocks in a radius of fakeWorldCopyRadius – 1 are compared to the real world by comparing the getActualState() reference. This means that things like changing fence connections of adjacent existing blocks will be shown.)

requireSneakForGhost Is holding sneak required to render the ghost blocks

requireSneakForWire Is holding sneak required to render the wire frame

resetHoverTimerOnPosChange Whether the hover delay will reset when the cursor moves over a different block.

toggleGhostWhileHoldingKey Whether to toggle the ghost block rendering state from what the defaultStateGhost is, while holding the key set in toggleKeyGhost

toggleWireWhileHoldingKey Whether to toggle the wire frame rendering state from what the defaultStateWire is, while holding the key set in toggleKeyWire

toggleKeyGhost The key that must be help for the ghost block rendering state to toggle from the defaultStateGhost. Can be “shift”, “alt” or “ctrl”.

toggleKeyWire The key that must be help for the wire frame rendering state to toggle from the defaultStateWire. Can be “shift”, “alt” or “ctrl”.

The rendering can be toggled on/off alltogether via the Toggle key, which is P by default.
The enableRenderGhost state can be toggled via the Toggle Ghost keybind (SHIFT + P by default).
The enableRenderWire state can be toggled via the Toggle Wire keybind (CTRL + P by default).

So to sum it up a bit:

The enableRender* options are the “master controls” and turning them off means nothing will be rendered no matter what the other options for that mode (ghost or wire) are.

Then the defaultState* options set the “default rendering state” (on vs. off) for that mode, when no keys are being pressed.

requireSneakFor* controls if sneaking is required for the rendering to activate for that mode.

toggle*WhileHoldingKey When enabled, the on/off state from the defaultState* will be toggled/reversed while the key set in the corresponding toggleKey* option is being pressed

So basically you can set it up to render one or both of the modes by default and be disabled while holding a key (ctrl or alt or shift), or make them require sneaking, or make them require holding ctrl or alt or shift, or make them be on by default but on a delay, or make them require sneaking and/or holding a key and still require a delay.