You can erase the current unsaved history and reload the saved history:
```
fc -R
```

To get an empty history, temporarily set `HISTSIZE` to zero.
```
save_HISTSIZE=$HISTSIZE; HISTSIZE=0; HISTSIZE=$save_HISTSIZE; unset save_HISTSIZE
```

----

Deleting one specific history element (<code>history -d <em>NUM</em></code> in bash) is another matter. I don't think there's a way other than:

1. Save the history: `fc -AI` to append to the history file, or `fc -WI` to overwrite the history file, depending on your history sharing preferences.
2. Edit the history file (`$HISTFILE`).
3. Reload the history file: `fc -R`.