EDITOR environment variable usually takes care of that for most of them.
An esoteric example from my MacOS X:
sh-3.2# EDITOR='cat' vipw | grep root:
root::0:0::0:0:System Administrator:/var/root:/bin/sh
daemon::1:1::0:0:System Services:/var/root:/usr/bin/false
vipw: no changes made
vipw: /etc/master.passwd: unchanged
_cvmsroot:*:212:212::0:0:CVMS Root:/var/empty:/usr/bin/false
sh-3.2#
Great excuse to talk about environment variables and changing/examining them...
This was one of the most frustrating things when I was learning linux, "I press buttons but nothing happens, how do I get out of here?"