My latest addition to the acme column tag, alongside |a-, |a+, and |fmt. #!/usr/bin/env rc fn f { n=$1 if(! cat $f | cut -c1-$n | 9 grep -v '^[ ]+$' >/dev/null){ x=`{f `{expr $n + 1}} echo '.'$"x } } f=/tmp/com.$pid cat >$f switch($%){ case *.go *.c c='//' case * c='#' } # Remove comment? if(cat $f | 9 grep '^[ ]*'$c' ' >/dev/null){ cat $f | 9 sed 's|'$c' ||' rm $f exit } # Add comment. s=`{f 1} if(~ $#s 0) cat $f | 9 sed 's|^|'$c' |' if not cat $f | 9 sed 's|^('$"s')|\1'$c' |' rm $f I name this |com. The original motivation was to avoid manual keying in of the comment characters, which I found myself doing quite frequently for short line ranges. It also works well with Go's "imported and not used" error. Once plumbed to the offending import line, it only takes one click to temporarily disable an import.