mle adalah editor teks kecil, fleksibel, berbasis terminal yang ditulis dalam C.
Berjalan di Linux, Windows (Cygwin atau WSL), FreeBSD, macOS, dan lainnya.
$ sudo apt install git build-essential # install git, make, gcc, libc-dev
$
$ git clone --recursive https://github.com/adsr/mle.git
$ cd mle
$ make mle_vendor=1
Untuk membangun biner yang sepenuhnya statis, coba make mle_vendor=1 mle_static=1
.
Anda juga dapat menjalankan make
to link terhadap pustaka sistem alih-alih vendor/
. Catatan ini memerlukan paket-paket berikut untuk diinstal:
uthash-dev
liblua5.4-dev
libpcre2-dev
Untuk menginstal ke /usr/local/bin
:
$ make install
Untuk menginstal ke direktori khusus, berikan prefix
, misalnya:
$ make install prefix=/usr # /usr/bin/mle
mle mungkin tersedia untuk diinstal melalui manajer paket sistem Anda.
# apt install mle # Ubuntu and Debian-based distros
# dnf install mle # CentOS, RHEL, Fedora-based distros
# pkg install mle # FreeBSD
# yay -S mle # Arch (via AUR)
# snap install mle # all major Linux distros
# nix-env -i mle # NixOS (via nixpkgs)
# apk add mle # Alpine
# xbps-install mle # Void
# brew install mle # macOS (Homebrew)
# port install mle # macOS (MacPorts)
# setup-x86.exe -q -P mle # Cygwin
$ mle # Open blank buffer
$ mle one.c # Edit one.c
$ mle one.c:100 # Edit one.c at line 100
$ mle one.c two.c # Edit one.c and two.c
$ mle -h # Show command line help
Pengikatan kunci default bersifat intuitif. Masukkan teks seperti biasa, gunakan tombol arah untuk berpindah, gunakan Ctrl-S
untuk menyimpan, Ctrl-O
untuk membuka, Ctrl-X
untuk keluar.
Tekan F2
untuk bantuan penuh.
mle dikustomisasi melalui opsi baris perintah. Jalankan mle -h
untuk melihat semua opsi cli.
Untuk mengatur opsi default, buat file rc bernama ~/.mlerc
(atau /etc/mlerc
). Isi file rc adalah sejumlah opsi cli yang dipisahkan oleh baris baru. Garis yang dimulai dengan titik koma diartikan sebagai komentar.
Jika ~/.mlerc
dapat dieksekusi, mle mengeksekusinya dan menafsirkan stdout yang dihasilkan seperti dijelaskan di atas. Misalnya, pertimbangkan cuplikan berikut dari skrip ~/.mlerc
bash(1) yang dapat dieksekusi:
# Define 'test' kmap
echo '-Ktest,,1'
# M-q: replace grep with git grep if `.git` exists
if [ -d ".git" ]; then
echo '-kcmd_grep,M-q,git grep --color=never -P -i -I -n %s 2>/dev/null'
fi
# Set default kmap
echo '-n test'
Ini mengesampingkan perintah grep bawaan dengan git grep
jika .git
ada di direktori kerja saat ini.
Program berikut akan mengaktifkan atau meningkatkan fitur mle tertentu jika ada di PATH
.
Perintah shell sewenang-wenang juga dapat dijalankan melalui cmd_shell
( Me
secara default). Jika ada teks yang dipilih, teks tersebut dikirim ke stdin dari perintah. Setiap stdout yang dihasilkan dimasukkan ke dalam buffer teks.
mle menyediakan dukungan untuk pengeditan non-interaktif yang mungkin berguna untuk menggunakan editor sebagai alat baris perintah biasa. Dalam mode tanpa kepala, mle membaca stdin ke dalam buffer, menerapkan makro startup jika ditentukan, dan kemudian menulis konten buffer ke stdout. Misalnya:
$ echo -n hello | mle -M 'test C-e space w o r l d enter' -p test
hello world
Jika stdin berbentuk pipa, mle masuk ke mode tanpa kepala secara otomatis. Mode tanpa kepala dapat diaktifkan atau dinonaktifkan secara eksplisit dengan opsi -H
.
Jika stdin adalah pipa dan mode tanpa kepala dinonaktifkan melalui -H0
, mle membaca stdin ke dalam buffer baru dan kemudian berjalan seperti biasa dalam mode interaktif.
mle dapat diperluas melalui bahasa pemrograman Lua. Skrip dimuat melalui opsi -x
cli. Perintah yang didaftarkan oleh skrip dapat dipetakan ke kunci seperti biasa melalui -k
. Lihat uscript.lua
untuk contoh sederhana.
Ada juga cabang wren
dengan dukungan skrip gelatik. Pekerjaan itu sedang dalam masa jeda.
mle banyak memanfaatkan perpustakaan berikut.