mle هو محرر نصوص صغير ومرن قائم على المحطة مكتوب بلغة C.
يعمل على Linux، وWindows (Cygwin أو WSL)، وFreeBSD، وmacOS، والمزيد.
$ 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
لإنشاء ثنائي ثابت تمامًا، حاول make mle_vendor=1 mle_static=1
.
يمكنك أيضًا تشغيل make
عادي للارتباط بمكتبات النظام بدلاً من vendor/
. لاحظ أن هذا يتطلب تثبيت الحزم التالية:
uthash-dev
liblua5.4-dev
libpcre2-dev
للتثبيت على /usr/local/bin
:
$ make install
للتثبيت على دليل مخصص، قم بتوفير prefix
، على سبيل المثال:
$ make install prefix=/usr # /usr/bin/mle
قد يكون mle متاحًا للتثبيت عبر مدير حزم نظامك.
# 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
تعتبر روابط المفاتيح الافتراضية بديهية. أدخل النص كالمعتاد، استخدم مفاتيح الاتجاهات للتنقل، استخدم Ctrl-S
للحفظ، Ctrl-O
للفتح، Ctrl-X
للخروج.
اضغط F2
للحصول على المساعدة الكاملة.
يتم تخصيص mle عبر خيارات سطر الأوامر. قم بتشغيل mle -h
لعرض جميع خيارات cli.
لتعيين الخيارات الافتراضية، قم بإنشاء ملف rc باسم ~/.mlerc
(أو /etc/mlerc
). محتويات ملف rc هي أي عدد من خيارات cli مفصولة بأسطر جديدة. يتم تفسير الأسطر التي تبدأ بفاصلة منقوطة على أنها تعليقات.
إذا كان ~/.mlerc
قابلاً للتنفيذ، فسيقوم mle بتنفيذه وتفسير الملف القياسي الناتج كما هو موضح أعلاه. على سبيل المثال، خذ بعين الاعتبار المقتطف التالي من البرنامج النصي ~/.mlerc
bash(1) القابل للتنفيذ:
# 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'
يؤدي هذا إلى تجاوز أمر grep المدمج مع git grep
إذا كان .git
موجودًا في دليل العمل الحالي.
ستقوم البرامج التالية بتمكين أو تحسين ميزات معينة لـ mle إذا كانت موجودة في PATH
.
يمكن أيضًا تشغيل أوامر الصدفة العشوائية عبر cmd_shell
( Me
افتراضيًا). إذا تم تحديد أي نص، يتم إرساله إلى stdin للأمر. يتم إدراج أي stdout الناتج في المخزن المؤقت للنص.
يوفر mle دعمًا للتحرير غير التفاعلي والذي قد يكون مفيدًا لاستخدام المحرر كأداة سطر أوامر عادية. في الوضع بدون رأس، يقرأ mle stdin في المخزن المؤقت، ويطبق ماكرو بدء التشغيل إذا تم تحديده، ثم يكتب محتويات المخزن المؤقت إلى stdout. على سبيل المثال:
$ echo -n hello | mle -M 'test C-e space w o r l d enter' -p test
hello world
إذا كان stdin أنبوبًا، فسينتقل mle إلى وضع مقطوعة الرأس تلقائيًا. يمكن تمكين وضع مقطوعة الرأس أو تعطيله بشكل صريح باستخدام خيار -H
.
إذا كان stdin عبارة عن أنبوب وتم تعطيل الوضع بدون رأس عبر -H0
، فسيقرأ mle stdin في مخزن مؤقت جديد ثم يعمل كالمعتاد في الوضع التفاعلي.
mle قابل للتوسعة عبر لغة البرمجة Lua. يتم تحميل البرامج النصية عبر الخيار -x
cli. يمكن تعيين الأوامر المسجلة بواسطة البرامج النصية إلى المفاتيح كالمعتاد عبر -k
. راجع uscript.lua
للحصول على مثال بسيط.
يوجد أيضًا فرع wren
مع دعم البرمجة النصية لـ Wren. هذا العمل متوقف مؤقتًا.
يستخدم mle المكتبات التالية على نطاق واسع.