Projects / nvi

nvi

nvi is a version of the vi editor which supports all the historic ex/vi features except for open mode and the lisp edit option (e.g., it has a fully implemented underlying ex mode). It contains a number of additional features, including an experimental GTK frontend in the development version.

Tags
Licenses
Operating Systems
Implementation

RSS Recent releases

  •  18 Nov 2007 11:26

Release Notes: This release mainly fixes compilation on recent systems.

  •  21 Aug 2001 12:08

Release Notes: The preserve command no longer overwrites the file being edited. This version should compile on most platforms again.

Release Notes: Wide character related changes, including the use of the latest ncurses. Gtk+ front end works with Gtk+ 1.2 again.

  •  14 May 2001 18:06

Release Notes: This release includes the use of "wide" curses if available, and some bug fixes.

  •  30 Jan 2001 06:13

Release Notes: Several small bugfixes.

RSS Recent comments

08 Jun 2010 18:50 mai_fm Thumbs up

I tried to build and run the git snapshot of nvi on **Cygwin 1.7**. I just wanted a basic vi - not gtk, not motif version. Here are some problems.

1. The generated makefile cannot make properly. It has a target "all-am" which depends on "vi". However no rules exists for target "vi"; only one exists for target "vi$(EXEEXT)". On *NIX, these two target names are the same, but on Cygwin they are not (the later becomes "vi.exe"). So the make process will complain about "don't know how to make vi" and then stop. I hacked the makefile by changing the variable "bin_PROGRAMS" from "vi" to "vi$(EXEEXT)". The dependency problem went away.

2. The configure script has a problem detecting ncurses.h (which is actually in /usr/include/ncurses) if building "narrow" version of vi (i.e. wide char NOT enabled). The configure script will complete, but the make process will fail when it compiles cl_bsd.c because ncurses.h is not included properly. I hacked the header "cl.h" so it include .

3. The configure script does not check whether linking against libiconv is required when using iconv functions. On Cygwin it is required, and the make process will eventually fail because of unresolved externals (which are iconv function names). I hacked the makefile by adding "-liconv" to variable "LIBS".

4. I attempted to build a "wide" version of vi. After fixing problems 1 and 3 (2 doesn't show up), the build process is OK. Then I launched vi and tried to edit a new file. I pressed 'i' (to insert) and pressed Ctrl-G twice. Then I got "smap error" and after some delay, it said "aborted (core dumped)". "Narrow" version of vi does not have this problem.

Screenshot

Project Spotlight

Template Data Interface (TDI)

A powerful markup template system for Python.

Screenshot

Project Spotlight

Java Print Dialog Framework

A comprehensive printing solution for Java applications.