AFAIK

Komut Satırından Harici Uygulama Kontrolü

Yayın:
Komut satırı aracılığıyla gerçekleştirilen işlemlerde nano ve vim gibi build-in editörlerin yanı sıra kullanım kolaylığı ve plugin destekleri nedeniyle (live server, linting vb.) haciri editörlerden ...
GÖRSEL

Komut satırı aracılığıyla gerçekleştirilen işlemlerde nano ve vim gibi build-in editörlerin yanı sıra kullanım kolaylığı ve plugin destekleri nedeniyle (live server, linting vb.) haciri editörlerden de faydalanmak isteyebiliriz. Özellikle son dönemde yaygın bir kullanıma kavuşan Atom ve Visual Studio Code sahip oldukları terminaller ile komut yönetimini kolaylaştırsalar da farklı durumlarla karşılaşmamız sürpriz olmayacaktır. Bu yazıda, işe yarayacağını düşündüğüm bazı pratik kullanımlardan bahsedeceğim. İlerleyen zaman içerisinde de yine çeşitli eklemelerim olacak. Hızlıca başlayalım.

Öncelikle nano kullanımına değinmek istiyorum. nano editör kullanırken cursor işaretçisini ve mouse işlemlerini aktifleştirmek isteyebiliriz. Bu durumda, görüntülemek istediğimiz dosya adı ile birlikte --showcursor --mouse veya -mg şu option’larından faydalanabiliriz.

nano [dosya-adi] --showcursor --mouse

Gelelim asıl konumuza. Görüntülediğimiz bir directory içerisindeki bazı dosyaları veya tüm metin / kod dosyalarını directory ve/ya project olarak görüntülemek isteyebiliriz. Atom editörü indirildiğinde otomatik olarak atom ve apm shell command’ları da yüklenecektir. Bu sayede, terminalde atom [dosya-adi] komutunu uyguladığımızda ilgili dosya Atom editör ile görüntülenecektir. Artık, yapmamız gereken bulunulan dizinde atom komutunu . ile işleme almak.

atom .

Yukarıdaki komutu uyguladığımızda bulunulan directory Atom ile görüntülenecektir. Eğer hata almış iseniz shell command ile ilgili bir sorun olacaktır. Bu sorunu 2 şekilde çözebiliriz. İlki Atom editörünü açıp Atom sekmesinde yer alan Install Shell Commands seçeneğini tıklamak olacaktır. Bu sayede ilgili komutların yüklenmesini sağlayabiliriz.

Atom - Install Shell Commands

Bir diğer yol ise shell script’e symlink oluşturmak olacaktır. Aşağıdaki komut aracılığıyla symlink’i tanımlanmış oluruz.

ln -s /Applications/Atom.app/Contents/Resources/app/atom.sh /usr/local/bin/atom

Symlink de tanımlandığına göre örneğimizi biraz daha detaylandıralım ve bir kod dosyasının spesifik olarak bir satırını ayrı bir sekmede görüntüleyelim.

atom [dosya-adi]:[satir-adi]:[sekme]

Aynı işlemi Visual Studio Code için de yapabiliriz.

ln -s /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code /usr/local/bin/vsc

Oluşturulan symlink’in ardından yine bulunulan dizini ve/ya dosyaları Visual Studio Code ile kolaylıkla görüntüleyebiliriz.

vsc .

Bir diğer alternatif ise symlink oluşturmak yerine open komutundan faydalanmak olacaktır.

open -a "Atom" .
open -a "Visual Studio Code" .

open komutunu pek çok uygulama için kullanabiliriz. Örnek olarak, bulunulan dizinde yer alan *.jpg uzantılı görselleri Photoshop ile açalım.

open -a "Adobe Photoshop CC 2019" ./*.jpg

Elbette yukarıdaki gibi bir kodu sıklıkla kullanmak istediğimizde, her defasında program adını yazmak canımızı sıkacaktır. O halde, bash alias ile işlemi pratikleştirelim. .zshrc ve/ya .bashrc için aşağıdaki kodu ilgili alanı değiştirerek kullanabilirsiniz.

alias aps="open -a 'Adobe Photoshop CC 2019'"
source ~/.zshrc

Kişisel olarak aps adında bir alias adını tercih ettim. Siz uygun olarak farklı bir tanımda bulunabilirsiniz. Az önce, açık bir şekilde program adı belirterek gerçekleştirdiğimiz dosya açma işlemini şimdi aps ile yineleyelim.

aps *.jpg

Elbette Photoshop konunun sadece metin editörleri ile sınırlı olmadığını, istediğimiz programların pek çoğunu (internet tarayıcısı, müzik çalar, dosya paylaşımı vs.) komut satırı aracılığıyla kontrol edebileceğimizi belirtmek isterim. İlgili program ismini bir metin editörü adıyla değiştirdiğinizde sonuç yine symlink adımıyla aynı olacaktır.

Ceyhun Enki Aksan

Kullanıcı Davranışları Analizi (User Behavior Analysis) ve Kullanıcı Deneyim Tasarımı (UX Design) üzerine çalışmalar yürütmekte, bu süreçte edindiğim teknik ve pratik bilgileri fayda sağlamak motivasyonuyla (afaik / as far as i know) paylaşmaktayım.

HABERDAR OL

Yeni eklenen projeler, eğitimler, içerikler ve yayınlanan videolar e-posta adresine gelsin.