Microsoft Edit
(github.com/microsoft)- Microsoft Edit, classic MS-DOS Editor'e saygı duruşunda bulunurken VS Code'a benzer modern bir arayüz ve giriş kontrolü sunan, basit düzenleme ihtiyaçları için bir editördür
- Amaç, terminale alışık olmayan kullanıcıların da kolayca kullanabileceği erişilebilir bir editör sunmaktır
- Windows'ta WinGet, macOS'ta Homebrew ile kurulabilir; Linux'ta ise dağıtımın ikili paketi yoksa veya doğrudan derlemek isteniyorsa kurulum betiği kullanılabilir
- Rust ile geliştirilir; nightly Rust yapılandırması, ikili dosya boyutunu ciddi ölçüde azaltıp performansı bir miktar iyileştirdiği için önerilir
- Paket yöneticilerine, çalıştırılabilir dosya adı çakışması ihtimali nedeniyle
edityerinemseditadını kullanmaları önerilir; ayrıca arama/değiştirme özelliği ICU kütüphanesi yapılandırmasından etkilenir
Microsoft Edit'in amacı ve karakteri
- Edit, “simple editor for simple needs” hedefiyle geliştirilen basit bir editördür
- Klasik MS-DOS Editor'e saygı duruşunda bulunurken, modern bir arayüz ve VS Code'a benzer giriş kontrolü sunar
- Terminale alışık olmayan kullanıcıların da rahatça kullanabileceği erişilebilir bir editör olmayı amaçlar
Kurulum yöntemi
- İkili dosyalar Releases page üzerinden indirilebilir
-
Windows
- En güncel sürüm WinGet ile kurulabilir
winget install Microsoft.Edit -
Linux
- Dağıtım ikili paket sunmuyorsa veya doğrudan derlemek isteniyorsa kurulum betiği kullanılabilir
- Gereksinimler: Rust, C derleyicisi, ICU, curl veya wget ve tar
- Varsayılan kurulum
mseditdosyasını~/.local/biniçine yükler
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/microsoft/edit/… | sh- Ek bayraklar olarak
--dev, doğrudan main dalından derler;--systemise/usr/local/biniçine kurar
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/microsoft/edit/… | sh -s -- --dev --system -
macOS
- En güncel sürüm Homebrew ile kurulabilir
brew install msedit
Derleme biçimi
- Derleme için Rust kurulumu ve deponun klonlanması gerekir
- Nightly Rust kullanılıyorsa release derlemesi aşağıdaki komutla yapılır
cargo build --release --config .cargo/release.toml - Stable Rust kullanılıyorsa
RUSTC_BOOTSTRAP=1ortam değişkeninin ayarlanıp nightly derleme talimatlarının izlenmesi önerilir- Bu yöntem ikili dosya boyutunu ciddi ölçüde azaltır ve performansı bir miktar iyileştirir
- Herhangi bir ek ayar olmadan stable Rust ile derlemek için şu komut kullanılır
cargo build --release
Derleme yapılandırma seçenekleri
- Derleme sırasında yapılandırma, ortam değişkenleriyle ayarlanabilir
EDIT_CFG_ICU*, ICU kütüphanesi adları yapılandırmasıyla ilgilidir ve Linux paket yöneticilerinin bu seçeneği incelemesi önerilirEDIT_CFG_LANGUAGES, derlemeye dahil edilecek dillerin listesini virgülle belirtir- Kullanılabilir diller i18n/edit.toml içinde yer alır
Paket yöneticileri için notlar
- Standart çalıştırılabilir dosya adı
edit, alternatif ad isemsedit'tir - Mevcut komutlarla
editadı çakışabileceği için paket ve çalıştırılabilir dosya adı olarakmseditönerilir ms-editgibi adlardan kaçınılmalıdır- Mümkünse
edittakma adının atanması önerilir
ICU ile ilgili yapılandırma
- Bu proje, arama ve değiştirme özelliği için ICU kütüphanesine isteğe bağlı olarak bağımlıdır
- Varsayılan olarak platforma göre ICU kütüphane adları aranır
- Windows:
icuuc.dll,icuin.dll - macOS:
libicucore.dylib - Linux ve diğerleri:
libicuuc.so,libicui18n.so
- Windows:
- Kurulum ortamındaki SONAME farklıysa derleme sırasında ortam değişkenleri ayarlanmalıdır
EDIT_CFG_ICUUC_SONAME: ör.libicuuc.so.76EDIT_CFG_ICUI18N_SONAME: ör.libicui18n.so.76
- ICU sembollerinin varsayılan olarak
_öneki ve sürüm son eki olmadanu_errorNamegibi dışa aktarıldığı kabul edilir - Farklı sembol biçimleri kullanan ortamlarda ek ortam değişkenleri kullanılabilir
EDIT_CFG_ICU_CPP_EXPORTS=true:_u_errorNamegibi C++ sembollerini arar; macOS'ta varsayılan olarak etkindirEDIT_CFG_ICU_RENAMING_VERSION=76:u_errorName_76gibi sembolleri arar
EDIT_CFG_ICU_RENAMING_AUTO_DETECT=trueayarlanırsa çalıştırılabilir dosya, çalışma anında renaming version değerini algılamaya çalışır- Bu yöntem ICU tarafından resmî olarak desteklenmediği için buna bağımlı kalınmaması önerilir
- UNIX'te, macOS hariç, başka seçenek yoksa varsayılan olarak etkindir
- Derleme yapılandırmasını test etmek için
cargo testkomutu--ignoredbayrağıyla çalıştırılırcargo test -- --ignored
1 yorum
Hacker News görüşleri
Bu yazıya bir haftada üç kez çıkacak kadar büyük ilgi vardı
Ve bu yazı
Bu editörün hedef kullanıcı kitlesine eskiden micro öneriyordum; şimdi değiştirsem mi merak ediyorum
1: https://micro-editor.github.io/
edit, en azından ilk denediğimde sözdizimi vurgulamayı bile varsayılan olarak desteklemiyordunano yerine terminal editörü olarak kullanıyorum
[1]: https://craigbarnes.gitlab.io/dte/
Büyük dosyaları da oldukça iyi idare ediyor
"winget install zyedidia.micro"ile kurulabiliyor. Benzer dönemin 8 bit ve 16 bit editörlerini hatırlatıyorMicrosoft ölçeğinde bir organizasyonda böyle bir projenin nasıl onaylandığını gerçekten merak ediyorum. Birkaç geliştiricinin yan projesi mi, yoksa ürün yol haritasının bir parçası mı merak ediyorum
Liderliği buna zaman ayırmaya nasıl ikna ettiler acaba?
Windows’a SSH Server ekleneli epey oldu; dolayısıyla yalnızca SSH ile tamamen yönetilebiliyor ve vi deneyimi olmayan Windows yöneticilerinin de kullanabileceği modsuz bir editöre ihtiyaç duyuluyordu
Araştırma organizasyonlarında teknik personelin boşluk bulup başlattığı durumlar da olur; derin analiz ve birkaç yarıyılı aşan süreçlerden sonra fon alanlar da olur
Buradaki katkı veren sayısına bakılırsa bu proje muhtemelen stratejik bir yatırımdı. Bir gecede ortaya çıkmış değil
DOS 6.22 ve sonrasında 7.0, yani Win95 civarındaki özgün edit.com benim ilk IDE’mdi. qbasic ile başladım; benzer ya da aynı arayüze alışmıştım ve djgpp ile C/C++ öğrenirken de edit.com kullanmaya devam ettim
Benim “proje dosyam”, içinde
edit file1.cpp file2.cpp file3.cppolane.batidi; Alt-1,2,3 ile kolayca geçiş yapılabilen oldukça iyi bir çoklu dosya desteği olduğu için kullanıyordum. Bugün bile editör tuş bağlamalarını dosya geçişi için Alt/Cmd-1,2,3 olacak şekilde yeniden eşliyor ve “aktif set”i en baştaki birkaç dosyayla küçük tutmaya çalışıyorumSözdizimi vurgulaması yoktu ve girinti davranışı da pek iyi değildi; bu yüzden harika bir kod editörü sayılmazdı. Bu nedenle kariyerimin başlarında elle yazması kolay, sekme gibi görünmeyen iki boşluklu girinti kullanıyordum. Yine de koda doğrudan temas ediyormuş hissi güçlüydü
Başkalarının
qeditgibi editörleri çok kullandığını biliyordum ama garip şekilde bana uymuyordu; Unix tarzı editörler de DOS’ta eğreti duruyorduKısa süre denedim; birden fazla buffer destekliyor gibi görünse de aynı tuş bağlamalarıyla buffer değiştirme yok gibi
Ayrıca yalnızca benzer değil, kelimenin tam anlamıyla aynıydı. EDIT.COM yalnızca QBASIC’i özel bir flag ile çalıştırıyordu; QBASIC’i o flag ile doğrudan da çalıştırabiliyordunuz. https://news.ycombinator.com/item?id=44037509’da söylediğim gibi, eğlencesine gerçekten öyle yapmıştım
Bir satırı tamamen küçük harfle yazıp Enter’a basınca ayrılmış sözcükleri otomatik olarak büyük harfe çeviriyordu. Müthiş değildi ama işe yarıyordu
copy condöneminden sonra gelen edit gerçekten kurtarıcıydıHoşuma giden çok şey var. Öncelikle bağımlılık listesinin boş olması bile beni ikna etmeye yetti
Çok iyi çalışıyor. Dosya tarayıcısı ve iletişim kutularına kadar sahip bir TUI’yi bunun için baştan sona yapmış olmalarına inanamıyorum. Kendi projelerimde de kullanmak isterim; ne kadar kolay olur merak ediyorum. Projeyle ilgili biri buradaysa neden Ratatui kullanmadıklarını da merak ediyorum
Kod kalitesi de en üst seviyede; söyleyebileceğim tek şey var: Bravo!
Windows gibi işletim sistemlerinde yöneticilerin kullandığı varsayılan araç olarak dağıtılacak bir şey için makul bir tercih. “Kendin yap” tarafındaki arka planı lhecker’ın yanıtlarına bakarak daha iyi anlayabilirsiniz
[1]: https://news.ycombinator.com/threads?id=lhecker
Yaklaşık bir ay önce Microsoft’un, Windows kullanıcılarına daha tanıdık gelsin diye kendi Linux dağıtımına sahip olduğunu duymuştum. Hatırladığım kadarıyla oldukça basit bir GNOME yapılandırmasıydı; özel bir yanı yoktu
Microsoft’un bash yerine PowerShell koyup, vim ve nano gibi seçeneklerin yanına Edit’i ekleyip, geliştirici kurulumuna .NET ve Visual Studio Code’u dahil eden Microsoft’a özel bir Linux dağıtımı oluşturma fırsatını kullanmaması şaşırtıcı
Bunu varsayılan WSL kurulumu da yapabilirdi. Ubuntu veya Debian gibi tipik dağıtımlarla savaşı kazanamazdı belki, ama Windows kullanıcısı çok olduğu için belli bir pay alıp yaygın bir seçenek haline gelebilirdi
Microsoft Linux çekirdeğini kontrol edemez, ama kullanıcı alanını ele geçirebilir. Kendi uygulamalarının popüler dağıtımlara varsayılan olarak kurulu gelmesini sağlayan bir akış yaratsaydı nasıl olurdu, hayal etmeye değer
Microsoft Edit de PowerShell vb. gibi Linux’ta kullanılabiliyor. Yaklaşık 10 yıl önce kartlarını iyi oynasaydı, birçok Windows kullanıcısı WSL üzerinden kullandığı için dağıtımları bugün ilk 5 içinde olabilirdi
Dev şirketler kişisel alana kendi izlerini zorla sokabilir. Şimdi tek gereken Microsoft Edit’te Co-Pilot’un varsayılan olarak açık gelmesi
Linux çekirdeğinin üzerine bir tür “süper” WINE koyup, belirli programlar için fallback olarak sanal makinede sıkı entegre edilmiş klasik Windows sunmak gibi olabilir
Ancak sorun şu ki NT çekirdeğinin tasarım açısından Linux çekirdeğinden daha iyi olduğu çok yer var. Örneğin NT çekirdeği GPU sürücüsü tamamen çökse bile toparlayabiliyor; Linux’un böyle bir durumda epey zorlanacağını düşünüyorum. Diğer sürücüler için de benzer
Ama Windows, Microsoft için giderek bir varlıktan çok yükümlülük haline geliyor; özellikle de sunucu alanında. Başlıca gelir kaynakları Azure ve Office 365 ve hâlâ çift haneli büyürken Windows lisans büyümesi durgun
En azından Linux tabanlı Windows Server ve Linux tabanlı Windows Workstation gibi sürümlerin çıkacağını düşünüyorum
BT desteği ve teknik destek ekipleri genelde Linux’u iyi bilmez ve desteklemek de istemez. WSL bu sorunu çözüyor
Geliştiricilerin çoğu Linux’un kendisini kullanmak istemiyor. Pek çok geliştirici terminal kullanmayı bile doğru düzgün bilmiyor ve GUI araçlarına güveniyor
WSL Ubuntu’yu desteklediğinde bu bilinirlikten yararlanabilir
Azure Linux, konteynerler, VM’ler, sunucular vb. için kullanılmak üzere Microsoft destekli bir işletim sistemidir
Bu sadece “canım istediği için” yapılmış bir proje gibi görünüyor. Ben de ne olup bittiğini anlamak için böyle şeyleri çok yaptığım için anlayabiliyorum
Ama Turbo Vision’ı FPC ile yeniden yazıp birden çok hedefe derleme işi 20 yıldır vardı. Turbo Vision muhtemelen var olan en iyi metin modu pencereleme kütüphanesi
Eğlenceli kısım, tüm metin ekranını şöyle bir diziye eşleyebildiğinde başlıyordu:
varScreen: Array[1..80,1..25] Of Byte Absolute $B800; // or something like that as i recallTurbo Vision’ın getirdiği şey taşınabilir modal/modal olmayan pencerelerdi. Temelde bu diziyi bir döngü içinde sürekli yeniden yazan bir yapıydı ve oldukça seri çalışıyordu. O kütüphaneyle çok para kazandım
https://github.com/magiblot/tvision
https://news.ycombinator.com/item?id=44034961
array[1..25, 1..80] of Word absolute $B800:0000TP’nin dizileri satır öncelikli sırada yerleştiriliyordu ve her karakter iki baytla temsil ediliyordu. Biri karakterin kendisi, diğeri öznitelikti (ön plan/arka plan rengi ve yanıp sönme)
Bu yüzden daha iyi kullanım
array[1..25, 1..80] of packed record ch: char; attr: byte end absolute $B800:0000olurHercules gibi siyah-beyaz metin ekranlarında (mod 7)
$B800yerine$B000kullanmak yeterliŞimdi Unicode destekli EDLIN bekliyorum
Batch dosyalarında standart girdiden tuş vuruşlarını pipe ederek bazı düzenleme işlerini betik haline getirebildiğimi hatırlıyorum. sed veya awk’nin bazı işlevlerinin yerini alıyor gibiydi
Denemedim ama vi ile de mümkün gibi. Bunun çok lanetli bir yöntem olup olmadığı ayrı mesele
-sile birlikte kullanılırİlginç. Açıkçası kimin kullanması için yapıldığını pek bilmiyorum ama eğlenceli görünüyor
editkomutu 2006’dan sonra Windows’ta desteklenmediği için, o zamandan beri komut satırında kullanılabilecek Microsoft kaynaklı bir editör yoktu.Bu editörün ne kadar hızlı olduğu etkileyici. https://github.com/microsoft/edit/pull/408
Şimdilik Helix kullanıyorum ama iyi bir TUI hoşuma gidiyor
1993’te edit ile ikili dosyaları açıp kalp şekillerinin görünmesinden keyif alırdım