Uma Tradução Em Português Está Disponível.
OpenVi - OpenBSD vi / ex portabel
OpenVI adalah implementasi yang disempurnakan dan portabel dari editor teks Berkeley vi / ex , yang awalnya dikembangkan oleh Bill Joy .
OpenVI adalah garpu dari editor vi / ex yang disertakan dengan OpenBSD , yang berasal dari versi 1.79 dari editor nvi yang awalnya didistribusikan sebagai bagian dari distribusi perangkat lunak Berkeley keempat ( 4BSD ).
Editor nvi dikembangkan oleh Keith Bostic dari Computer Systems Research Group ( CSRG ) di University of California, Berkeley , Sven Verdoolaeege , dan kontributor lainnya. Nvi sendiri berasal dari editor Elvis Steve Kirkendall .
Mengapa Anda ingin menggunakan OpenVi , bukan Othervi ?
strlcpy , snprintf , mkstemp , pledge )bserase , expandtab , imctrl , visibletab , dll.Jadi, mengapa Anda tidak ingin menggunakan OpenVi ?
Beberapa poin ini mungkin merupakan fitur yang diinginkan, tergantung pada sudut pandang Anda.
ex -mode yang tersediash ) dan Utilities, AWK ( mawk , nawk ), dll.xlc , suncc , clang , gcc , dll.)ncurses , NETBSD curses V8+, PDCurses V2.8+, PDCursesMod , dll.) csh , tcsh , dll.)nroff , groff , dll. OpenVI mudah portabel untuk sebagian besar platform dengan sistem operasi seperti UNIX yang sebagian besar sesuai dengan antarmuka pemrograman yang dijelaskan oleh IEEE STD 1003.1-2008 dan lingkungan pengguna yang dijelaskan oleh IEEE STD 1003.2-2008 , juga dikenal sebagai POSIX.1-2008 dan POSIX.2-2008 , masing-masing.
Sistem operasi berikut didukung sepenuhnya dan diuji secara teratur menggunakan IX86/AMD64, ARM/AARCH64, M68K, MIPS, Power, dan prosesor RISC-V:
Kompiler berikut didukung sepenuhnya dan diuji secara teratur:
Sistem operasi yang lebih baru atau lebih lama dan rilis kompiler, dengan alasan, harus berfungsi. Versi yang tercantum di atas adalah yang diuji secara teratur dan diketahui berfungsi.
Kontribusi pengguna untuk meningkatkan dukungan platform disambut.
gmake atau make ) dari direktori tingkat atas dari rilis sumber atau checkout Git.-j N dapat digunakan untuk memparalelkan kompilasi, di mana N adalah bilangan bulat positif yang mewakili jumlah pekerjaan paralel yang diminta.CC - C Compiler untuk digunakanCC=gcc )OPTLEVEL - Bendera OptimasiOPTLEVEL=-O2 )CFLAGS - Bendera untuk diteruskan ke kompiler CCFLAGS="-Wall -pipe" )LIBS - PERPUSTAKAAN (Default utama) untuk diteruskan ke tautanLIBS="-lpdcurses -lflock" )LDFLAGS - bendera untuk diteruskan ke tautanLDFLAGS="-L/lib/path -static" )V - Set untuk mengaktifkan output kompilasi verboseV=1 )DEBUG - Diatur untuk mengkompilasi bangunan debuggingDEBUG=1 )LGC - Diatur untuk mengaktifkan koleksi sampah waktu tautanLGC=1 )LTO - Diatur untuk mengaktifkan optimasi waktu tautanLTO=1 )EXTRA_LIBS - perpustakaan tambahan untuk menautkanEXTRA_LIBS=-lmtmalloc )PREFIX - awalan direktori untuk digunakan dengan target install dan uninstallPREFIX=/opt/OpenVi )all , strip , superstrip , clean , distclean , install , install-strip , uninstall , upx , dll.) Tersedia; Tinjau GNUmakefile untuk melihat semua target dan opsi yang tersedia.Misalnya, untuk mengkompilasi build yang dioptimalkan ukuran yang agresif, memungkinkan pengoptimalan waktu tautan dan pengumpulan sampah waktu tautan, secara eksplisit menggunakan GCC :
env CC=gcc OPTLEVEL=-Os LGC=1 LTO=1 gmake sstripatau, untuk mengkompilasi bangunan debugging secara verbal, secara eksplisit menggunakan dentang :
env CC=clang DEBUG=1 V=1 gmake Untuk sistem dengan GNU Make As make ( misalnya GNU/Linux ), kompilasi dasar harus berhasil tanpa opsi atau konfigurasi tambahan yang diperlukan:
make Dengan hak istimewa yang tepat untuk memanipulasi file dalam PREFIX yang dipilih (menggunakan doas , sudo , su , dll.), Eksekusi yang dapat dikompilasi dapat diinstal-apa adanya atau dilucuti-menggunakan doa seperti:
doas gmake install-stripatau
sudo env PREFIX=/usr/local make installBagian berikut hanya mendokumentasikan perbedaan spesifik platform, dan tidak dimaksudkan untuk menjadi referensi umum atau lengkap. Untuk pemasangan paket perangkat lunak prasyarat atau konfigurasi sistem lainnya, konsultasikan dengan dokumentasi vendor.
Sebelum membangun OpenVi di AIX , pasang pustaka dan header ncurses . IBM menyediakan paket yang diperlukan, ncurses dan ncurses-devel , dalam format RPM sebagai bagian dari kotak alat AIX untuk Linux dan perangkat lunak open source . Dengan izin yang sesuai ( misalnya root ), paket -paket ini dapat diinstal pada sebagian besar sistem menggunakan utilitas dnf atau yum , misalnya:
dnf install ncurses ncurses-develatau
yum install ncurses ncurses-devel Sistem dasar IBM AIX (dan Pase for I , lingkungan runtime terintegrasi untuk aplikasi AIX pada sistem operasi IBM I ) menyediakan libxcurses , implementasi Kutukan Extended XPG4 / XSI yang berasal dari AT&T System V , yang belum didukung untuk digunakan dengan OpenVI .
Kompilasi didukung menggunakan IBM XL C / C ++ V16.1+ ( gxlc atau xlclang ), IBM OPEN XL C / C ++ V17.1+ ( ibm-clang ), atau GNU GCC (biasanya gcc , gcc-8 , gcc-9 , gcc-10 , gcc-11 ):
LTO=1 ) membutuhkan XL C / C ++ V17.1+terbuka. Paket GCC IBM ( AIX Toolbox ) dan Bull / ATOS ( Bull Freeware ), dan versi IBM XL C / C ++ lebih awal dari V17.1 tidak diaktifkan LTO.LGC=1 ) tidak didukung pada IBM AIX .MAIXBITS ke 32 ( misalnya export MAIXBITS=32 ).CC harus diatur ke jalur lengkap kompiler ( EG /opt/freeware/bin/gcc , /opt/IBM/xlC/16.1.0/bin/gxlc , /opt/IBM/openxlC/17.1.0/bin/ibm-clang , dll PATH Penguncian file (via flock() sebagaimana ditentukan oleh pustaka AIX libbsd ) adalah non-fungsional; Ini akan diselidiki dan diperbaiki dalam rilis di masa depan.
Halaman OpenVi Man ditulis dengan mandoc dan memerlukan konversi sebelum digunakan dengan perangkat lunak AIX man (yang berasal dari AT&T Unix System V. )
Pada instalasi NetBSD , OpenVi Builds default menggunakan Pustaka curses BSD yang disediakan oleh Sistem Basis NetBSD. Untuk menggunakan ncurses sebagai gantinya, atur nilai-nilai CFLAGS , LDFLAGS , dan variabel lingkungan CURSESLIB dengan tepat ( yaitu CFLAGS=-I/usr/pkg/include LDFLAGS=-L/usr/pkg/lib CURSESLIB=-lncurses ).
LLVM LLD Linker diperlukan untuk optimasi waktu tautan ( LTO=1 ) menggunakan dentang . Ini tersedia sebagai paket yang dapat diinstal ( yaitu pkgin install lld ).
Sebelum membangun OpenVi pada distribusi Illumos ( yaitu Openindiana ), pasang pustaka dan header ncurses . Distribusi Openindiana menyediakan paket ncurses yang diperlukan dalam format IPS . Dengan izin yang sesuai ( misalnya root ), paket dapat diinstal menggunakan utilitas OpenIndiana pkg , misalnya:
pkg install ncurses Sistem Pangkalan OpenIndiana menyediakan libcurses , implementasi Kutukan XPG4 / XSI yang diperluas yang berasal dari AT&T System V , yang belum didukung untuk digunakan dengan OpenVI .
Koleksi sampah waktu tautan ( LGC=1 ) tidak didukung di Openindiana .
Sebelum membangun OpenVi di Oracle Solaris 11, pasang pustaka dan header ncurses . Oracle menyediakan menyediakan paket ncurses yang diperlukan untuk Solaris 11 dalam format IPS . Dengan izin yang sesuai ( misalnya root ), paket dapat diinstal menggunakan utilitas Solaris pkg , misalnya:
pkg install ncurses Sistem oracle solaris dasar menyediakan libcurses , implementasi kutukan XPG4 / XSI yang diperluas yang berasal dari AT&T System V , yang belum didukung untuk digunakan dengan OpenVI .
Kompilasi didukung menggunakan Oracle Developer Studio , GCC , dan Clang :
suncc atau atur nilai variabel lingkungan _OSLCC ke 1 .LTO=1 ) saat ini didukung hanya saat menggunakan GCC atau Clang .LGC=1 ) tidak didukung di Solaris .suncc ), bangunan 64-bit adalah default pada sistem yang beroperasi dalam mode 64-bit; Untuk build 32-bit, atur nilai variabel lingkungan SUNBITS ke 32 ( misalnya export SUNBITS=32 ). Penguncian file tidak tersedia karena tidak adanya flock() di Solaris . Ini akan ditangani oleh Sistem Pendukung V -gaya fcntl() penguncian dalam rilis mendatang.
apt-cyg ), yang dapat mengakibatkan file yang hilang dan tautan simbolik yang menggantung atau hilang.setup.exe ke versi terbaru yang tersedia.setup.exe yang baru.make , gcc , ncurses , ncurses-devel ) menggunakan aplikasi Cygwin setup.exe .cygcheck UTILITY ( yaitu cygcheck -cv | grep -v "OK$" ) untuk memverifikasi integritas semua paket yang saat ini diinstal. OpenVI tersedia untuk pengguna Linux dan MacOS melalui Homebrew Package Manager.
brew install openviPaket distribusi lainnya (tidak resmi) mungkin tersedia.
Nomor versi OpenVI didasarkan pada versi rilis OpenBSD yang sesuai, diikuti oleh nomor rilis OpenVI . Perintah version dapat digunakan untuk menampilkan informasi ini dalam format yang ditunjukkan di bawah ini.
Version 7.0.1 (OpenVi) 10/25/2021.
Pesan ini menunjukkan editor yang digunakan adalah OpenVI , Release 1 , berasal dari OpenBSD Versi 7.0 , dan sepenuhnya disinkronkan dengan versi OpenBSD vi , ex , db , dan regex pada 10/25/2021 ( 25 Oktober 2021 ).
Perubahan yang tidak berasal dari komit OpenBSD tidak memajukan tanggal ini. Rilis OpenBSD baru tidak mengatur ulang nomor rilis OpenVI .
Openvi
ChangeLog OpenBSD vi
vi / exdbregexLICENSE.md untuk persyaratan lisensi dan distribusi lengkap. vi asli (oleh Bill Joy & Mark Horton ):Xvi Martin Guy , Fork yang disempurnakan dari STEVIE Tim ThompsonSivle SV Nickolas , sebuah garpu yang dibersihkan dari Elvis Steve KirkendallVim57 Andy Valencia , garpu yang disederhanakan dari Versi 5.7 dari Bram Moolenaar Vim vi adalah garpu yang saat ini dipelihara dari cabang asli ( 1BSD / 2BSD ) dari editor vi / ex , yang berasal dari versi peningkatan Gunnar Ritter dari editor vi tradisional .Nvi2 adalah cabang fitur yang saat ini dipelihara dari versi baru ( 4BSD ) dari editor nvi / nex , dengan fokus pada ekstensibilitas dan fitur baru.Nvi1 ( Versi 1.8+ ) adalah cabang tradisional yang saat ini dipelihara dari versi baru ( 4BSD ) dari editor nvi / nex , yang sekarang dikembangkan oleh Sven Verdoolaege .