[Bug 215349] [PATCH] Restore default tab file completion behavior for nvi

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Dec 16 22:14:46 UTC 2016


            Bug ID: 215349
           Summary: [PATCH] Restore default tab file completion behavior
                    for nvi
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: leres at ee.lbl.gov
          Keywords: patch

Created attachment 178017
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=178017&action=edit

Prior to FreeBSD 10 and nvi version 2.0.3 the filec option was undefined by
default. For example you could change blanks to tabs from vi mode with:

    :%s/ /^I/g

This is the behavior for vi in System V, all versions of BSD vi, nvi up to and
including 1.79 and the vi/nvi that shipped with all versions of FreeBSD prior
to 10.

Head r254225 upgraded nvi from 1.79 to 2.1.1-4334a8297f which added:


to opts_init() changing the default. This means to use a tab in a substitution
while in vi mode you must escape it with ^V. In most cases typing a bare ^I
results in the terminal bell sound.

Note that tab works the old way when editing in ex mode. This means doing
substitutions is currently different between vi mode and ex mode.

The upstream repo for nvi is here:


r322 is the version that added the filec default to opts_init().

Here is the github issue about this problem:


I believe the plan is to either remove this default or apply it contextually.

The attached patch against head/308461 restores the old filec default of

You are receiving this mail because:
You are the assignee for the bug.

More information about the freebsd-bugs mailing list