UmaTraduçãoEmPortuguêsEstáDisponível。
Openvi - ポータブルOpenBSD vi / ex
Openviは、もともとBill Joyが開発したBerkeley vi / ex Text Editorの強化されたポータブルな実装です。
Openviは、 OpenBSDに含まれるvi / exエディターのフォークであり、最初に4番目のバークレーソフトウェア配布( 4BSD )の一部として分布したnviエディターのバージョン1.79から派生しています。
nvi編集者は、カリフォルニア大学バークレー校、 Sven Verdoolaege 、およびその他の貢献者のComputer Systems Research Group ( CSRG )のKeith Bosticによって開発されました。 Nvi自体は、Steve KirkendallのElvis編集者から派生しました。
別のviの代わりにOpenVIを使用したいのはなぜですか?
strlcpy 、 snprintf 、 mkstemp 、 pledge )bserase 、 expandtab 、 imctrl 、 visibletabなどの拡張機能。それで、なぜあなたはOpenviを使いたくないのでしょうか?
これらのポイントのいくつかは、あなたの視点に応じて、望ましい機能である可能性があります。
exモードインターフェイスのみが利用可能ですsh )およびユーティリティ、 awk ( mawk 、 nawk )など。xlc 、 suncc 、 clang 、 gccなど)ncurses 、 netbsd curses v8+、 PDCurses v2.8+、 PDCursesModなど) csh 、 tcshなど)nroff 、 groffなどOpenVIは、IEEE STD 1003.1-2008によって記述されているプログラミングインターフェイスとIEEE STD 1003.2-2008によって記述されたユーザー環境にそれぞれ記載されているユーザー環境にそれぞれに準拠しているUNIXのようなオペレーティングシステムを備えたほとんどのプラットフォームに簡単に移植できます。
次のオペレーティングシステムは、IX86/AMD64、ARM/AARCH64、M68K、MIPS、POWER、およびRISC-Vプロセッサを使用して完全にサポートされ、定期的にテストされています。
次のコンパイラが完全にサポートされ、定期的にテストされています。
新しいまたは古いオペレーティングシステムとコンパイラリリースは、理由で機能するはずです。上記のバージョンは、定期的にテストされ、既知の動作です。
プラットフォームサポートを強化するためのユーザーの貢献は歓迎されます。
gmakeまたはmake )を呼び出すことで実行できます。-j Nフラグを使用して、 Nは要求された並列ジョブの数を表す正の整数です。CC -Cコンパイラを使用しますCC=gcc )OPTLEVEL最適化フラグOPTLEVEL=-O2 )CFLAGS Cコンパイラに渡すフラグCFLAGS="-Wall -pipe" )LIBSリンカーに渡すためにライブラリ(デフォルトをオーバーライド)LIBS="-lpdcurses -lflock" )LDFLAGSリンカーに渡すフラグLDFLAGS="-L/lib/path -static" )V冗長コンパイル出力を有効にするように設定しますV=1 )DEBUG - デバッグビルドをコンパイルするように設定しますDEBUG=1 )LGC -Link -Time Garbage Collectionを有効にするように設定しますLGC=1 )LTOリンク時間最適化を有効にするように設定LTO=1 )EXTRA_LIBSリンク用の追加ライブラリEXTRA_LIBS=-lmtmalloc )PREFIX - installおよびuninstallターゲットで使用するディレクトリプレフィックスPREFIX=/opt/OpenVi )all 、 strip 、 superstrip 、 clean 、 distclean 、 install 、 install-strip 、 uninstall 、 upxなど)が利用可能です。 GNUmakefile確認して、利用可能なすべてのターゲットとオプションを確認します。たとえば、積極的にサイズで最適化されたビルドをコンパイルし、リンク時間の最適化とリンク時間のガベージコレクションを実現し、 GCCを明示的に使用します。
env CC=gcc OPTLEVEL=-Os LGC=1 LTO=1 gmake sstripまたは、デバッグビルドを冗長にコンパイルするには、明示的にClangを使用して使用します。
env CC=clang DEBUG=1 V=1 gmake GNU Make As make ( GNU/Linuxなど)を使用しているシステムの場合、基本的なコンピレーションは、オプションや追加の構成を必要とせずに成功する必要があります。
make選択したPREFIX内でファイルを操作する適切な特権( doas 、 sudo 、 suなどを使用)を使用すると、次のような呼び出しを使用して、コンパイルされた実行可能ファイルがインストールされるか、削除される場合があります。
doas gmake install-stripまたは
sudo env PREFIX=/usr/local make install次のセクションでは、プラットフォーム固有の違いのみを文書化しており、一般的な参照または網羅的な参照を意図していません。前提条件ソフトウェアパッケージまたはその他のシステム構成のインストールについては、ベンダーのドキュメントを参照してください。
AIXにOpenVIを構築する前に、 ncursesライブラリとヘッダーをインストールします。 IBMは、Linuxおよびオープンソースソフトウェア用のAIXツールボックスの一部として、必要なパッケージ、 ncursesおよびncurses-develをRPM形式で提供します。適切な権限( root )を使用すると、これらのパッケージはroot dnfまたはyumユーティリティを使用して、ほとんどのシステムにインストール可能です。たとえば
dnf install ncurses ncurses-develまたは
yum install ncurses ncurses-devel IBM AIXベースシステム(およびIのAIXアプリケーション用の統合されたランタイム環境であるIのPase for IのPase)は、 AT&T System Vから派生したXPG4 / XSI拡張Curの実装であるlibxcurses提供します。
コンパイルは、 IBM XL C / C ++ V16.1+( gxlcまたはxlclang )、 IBM Open XL C / C ++ V17.1+( ibm-clang )、またはGNU GCC (通常gcc - gcc-8 、 gcc-9 、 gcc-10 、 gcc-11 )を使用してサポートされています。
LTO=1 )には、オープンXL C / C ++ V17.1+が必要です。 IBM ( AIXツールボックス)およびブル/ ATOS (ブルフリーウェア) GCCパッケージ、およびV17.1より前のIBM XL C / C ++バージョンはLTO対応ではありません。LGC=1 )はサポートされていません。MAIXBITS環境変数の値を32に設定します(例export MAIXBITS=32 )。CC環境変数の値は、コンパイラのフルパスに設定する必要があります( EG /opt/freeware/bin/gcc 、/opt/ibm /opt/IBM/xlC/16.1.0/bin/gxlc /gxlc、 /opt/IBM/openxlC/17.1.0/bin/ibm-clang ibm/openxlc/17.1.0/bin/ibm- PATHなど)。ファイルロック( AIX libbsdライブラリが提供するflock()を介して)は機能していません。これは、将来のリリースで調査および修正されます。
Openvi Manページはmandocで執筆されており、 AIX manソフトウェアで使用する前に変換が必要です( AT&T UNIX System vから派生しています。)
NetBSDのインストールでは、デフォルトのOpenVIビルドでは、NetBSDベースシステムが提供するBSD cursesライブラリを使用します。代わりにncursesを使用するには、 CFLAGS 、 LDFLAGS 、およびCURSESLIB環境変数の値を適切に設定します(すなわちCFLAGS=-I/usr/pkg/include LDFLAGS=-L/usr/pkg/lib CURSESLIB=-lncurses )。
LLVM LLDリンカーは、 Clangを使用したリンク時間最適化( LTO=1 )に必要です。インストール可能なパッケージ(つまりpkgin install lld )として利用できます。
Illumos Distribution(つまりOpenindiana )にOpenViを構築する前に、 ncursesライブラリとヘッダーをインストールします。 OpenIndianaディストリビューションは、必要なncursesパッケージをIPS形式で提供します。適切な権限( rootなど)を使用すると、PassicはOpenIndiana pkgユーティリティを使用してインストールできます。たとえば、:
pkg install ncurses OpenIndiana Base Systemは、 AT&T System Vから派生したXPG4 / XSI拡張Cursesの実装であるlibcurses提供します。
Link-Time Garbage Collection( LGC=1 )は、 OpenIndianaではサポートされていません。
Oracle Solaris 11にOpenViを構築する前に、 ncursesライブラリとヘッダーをインストールします。 Oracleは、IPS形式でSolaris 11に必要なncursesパッケージを提供します。適切な権限( rootなど)を使用すると、PackageはSolaris pkgユーティリティを使用してインストールできます。たとえば、:
pkg install ncurses Base Oracle Solaris Systemはlibcursesを提供します。Libcursesは、 AT&T System Vから派生したXPG4 / XSI拡張Cursesの実装を提供します。
編集は、 Oracle Developer Studio 、 GCC 、およびClangを使用してサポートされています。
sunccとして呼び出すか、 _OSLCC環境変数の値を1に設定します。LTO=1 )は現在、 GCCまたはClangを使用する場合にのみサポートされています。LGC=1 )は、 Solarisではサポートされていません。suncc )コンパイラを使用する場合、64ビットビルドが64ビットモードで動作するシステムのデフォルトです。 32ビットビルドの場合、 SUNBITS環境変数の値を32に設定します(例えばexport SUNBITS=32 )。 Solarisにflock()がないため、ファイルロックは利用できません。これは、将来のリリースでSystem v -Style fcntl()ロックをサポートすることによって対処されます。
apt-cygなど)を使用したパッケージのインストールによって引き起こされます。setup.exeアプリケーションを最新の利用可能なバージョンに更新します。setup.exeアプリケーションを使用して、インストールされたすべてのパッケージを更新します。setup.exeアプリケーションを使用して、必要な前提条件パッケージ(すなわちmake gcc 、 ncurses 、 ncurses-devel )をインストールします。cygcheckユーティリティ( IE cygcheck -cv | grep -v "OK$" )を呼び出して、現在インストールされているすべてのパッケージの整合性を確認します。 OpenVIは、HomeBrew Package Managerを介してLinuxおよびMacOSユーザーが利用できます。
brew install openviその他の(非公式)配布パッケージが利用可能になる場合があります。
OpenVIバージョン番号は、対応するOpenBSDリリースのバージョンに基づいており、その後にOpenVIリリース番号が続きます。 versionコマンドを使用して、この情報を以下に示す形式で表示できます。
Version 7.0.1 (OpenVi) 10/25/2021.
このメッセージは、使用中のエディターがOpenBSDバージョン7.0から派生したOpenVI 、リリース1であり、 10/25/ 2021( 2021年10月25日)のvi 、 ex 、 db 、およびregexのOpenBSDバージョンと完全に同期されていることを示しています。
OpenBSDコミットから派生していない変更は、この日付を前進させません。新しいOpenBSDリリースは、 OpenVIリリース番号をリセットしません。
Openvi
ChangeLogOpenBSD vi
vi / exdbregexLICENSE.mdファイルを参照してください。 vi謝辞から( Bill Joy & Mark Hortonによる):Xvi 、ティムトンプソンのSTEVIEの強化されたフォークSivle 、 Steve KirkendallのElvisのクリーンアップフォークVim57 、 Bram MoolenaarのVimのバージョン5.7の単純化されたフォークviは、 Gunnar Ritterの伝統的なviエディターの拡張バージョンに由来するvi / exエディターの元の( 1BSD / 2BSD )ブランチの現在維持されているフォークです。Nvi2 、 nvi / nexエディターの新しい( 4BSD )バージョンの現在維持されている機能ブランチであり、拡張性と新機能に焦点を当てています。Nvi1 (バージョン1.8+ )は、現在Sven Verdoolaegeによって開発されたnvi / nexエディターの新しい( 4BSD )バージョンの現在維持されている従来のブランチです。