From owner-freebsd-current@FreeBSD.ORG Sat Aug 10 17:33:21 2013 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id C833DE27 for ; Sat, 10 Aug 2013 17:33:21 +0000 (UTC) (envelope-from peter@wemm.org) Received: from mail-vb0-x22c.google.com (mail-vb0-x22c.google.com [IPv6:2607:f8b0:400c:c02::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 831CF2743 for ; Sat, 10 Aug 2013 17:33:21 +0000 (UTC) Received: by mail-vb0-f44.google.com with SMTP id e13so4810988vbg.31 for ; Sat, 10 Aug 2013 10:33:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wemm.org; s=google; h=mime-version:date:message-id:subject:from:to:content-type; bh=zRycCVRmLt8cHuab2RnqARV/bo8NvyzOFSRVuBr7Vsk=; b=NwSR+SWKbpUQZhooQruxrRwZX5rmoJcgYBU1cnjnngGGBOxy855C/LjkG7OiXh7cZT nynEKtYHoWR7a/SIgxhcLMCFfek4tTg31kzuCsJx4VL7/MF6csK9nSKyT2NxbqJ7YAYP w1+ta4WhGpuyMj7KIy5tpm3gtuZZWcwB8Z+H0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=zRycCVRmLt8cHuab2RnqARV/bo8NvyzOFSRVuBr7Vsk=; b=eF391Ts0/FvdLWEJ0KGsSLPOgyMAuXp2fIh2O888UU5cYlHKZsPLq0x0XSeQoWu5X4 bMmpzN7T528zGjsmfBqHSA3+MJCIefiDn/UmxOK+TZfjaDq2R3qkYQFLEUyznvT3GwWK hiwOcthtL+pI/z2uKzszvAl9jXOgH/y2uCBHLJ6ZNLnYrvjN50L8CnzpxG45m7m6JNU+ p1qWdImOmTaKl2fSnBFsKG2VRyoW+FlQvt7covBK2tXJFfg+0ZJ2RwmJF3mlXjcyAUuT UjXiwhHRX21LbZ6reI9rzHgh8zlGMyXI1zkmD7GQz2IHxJrZsxcIlIBHv8leU7kwLSAl r2IA== X-Gm-Message-State: ALoCoQlfgJ/3E/9qPCJwjtQpSznXvMI07AESNYmcJZ1WnSU9bWXrL6H4TBJuR/Q58r7g7+Y2HCX0 MIME-Version: 1.0 X-Received: by 10.59.2.167 with SMTP id bp7mr3034720ved.67.1376156000310; Sat, 10 Aug 2013 10:33:20 -0700 (PDT) Received: by 10.220.167.74 with HTTP; Sat, 10 Aug 2013 10:33:20 -0700 (PDT) Date: Sat, 10 Aug 2013 10:33:20 -0700 Message-ID: Subject: Fun with nvi From: Peter Wemm To: FreeBSD Current Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Aug 2013 17:33:21 -0000 I've been tinkering with the nvi refresh from the GSoC in 2011, aka nvi2. https://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/zy/1 https://github.com/lichray/nvi2 The goal was to update the multibyte handling in nvi-1.79 (the one we have in our tree) in such a way we could import it. Anyway.. an early WIP: http://people.freebsd.org/~peter/nvi2.tgz peter@overcee[ 9:37AM]~/head/contrib/nvi/catalog-1643> echo $LANG en_US.UTF-8 peter@overcee[ 9:38AM]~/head/contrib/nvi/catalog-1644> vi -c 'set fileencoding=GB2312' zh_CN.GB2312.base .. leads to fun things like: http://people.freebsd.org/~peter/nvi2-transcoding.png that's editing the file in GB2312 format, but converting to utf-8 on the fly for my terminal. This is with the WITH_ICONV=yes in make.conf. nvi2 will build without it but obviously won't be able to work with non-default encoding methods. In straight up UTF-8 mode: http://people.freebsd.org/~peter/nvi2-utf8-4.png How to use the tarball.. 1) rm -rf contrib/nvi usr.bin/vi 2) extract tarball into src tree 3) patch -p0 < nvi.diff (this adds a built-tool to world) Note that I haven't actually done a buildworld yet. I've just been building it directly from src/usr.bin/vi with make obj && make depend && make all && make install .. to save time. But you'll need to have WITH_ICONV=yes in make.conf to do the fancy stuff. Note that the ports tree is a long way from being WITH_ICONV=yes safe, so don't do this on an important machine. An example of the tweaks to make ports happier: http://people.freebsd.org/~peter/iconv.diff - that's not complete. Most of the ports tree was updated to use Mk/Uses/iconv.mk but there's still some oddballs scattered around in weird places. -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6FJV UTF-8: for when a ' just won\342\200\231t do. ZFS must be the bacon of file systems. "everything's better with ZFS"