Emacs tramp


Emacs kullanıldığı her geçen gün biraz gelişen paket sistemi ve yapısı ile daha da kullanılır bir yapıya ulaşıyor. Init dosyasını yapılandırayım diye niyetlendiğin ayarlar bir süre sonra hayatının parçası oluveriyor.

 

Bu yazıda, oldukça fazla kullandığım paketlerden biri olan ve kendi ekosisteminizden pek fazla çıkmamanızı sağlayacak bir Emacs paketi hakkında yazacağım.

1. Nedir

Aracımızın adı tramp-term . Ne işe yarıyor diye açıklarsak mantık gayet basit. Bağlanmak istediğiniz servere ssh aracılığı ile terminal üzerinden bağlanmak yerine, Emacs’in size sağladığı bir scp veya ssh protokolleri aracılığı ile Emacs’in size sağladığı bütün imkanları kullanarak şekilde serverin içinde dolaşmanızı sağlıyor.

 

2. Kurulum

Nasıl kullanılacağına gelirsek ilk önce dosyayı Melpa reposundan indirmeniz gerekiyor bunu yaptıktan sonra işimiz basit.

3. Nasıl Kullanılır

M-x RET tramp-term komutu ile servere bağlanabilirsiniz. Sizden aşağıdaki barda user@host  yazısı belirdikten sonra şifrenizi girdiğinizde ekrana bir terminal gelecek ama bizim ilgilendiğimiz kısım orası değil. Bu ekranda find-file (ben ido-find-file tercih ediyorum) C-x C-f yaptıktan sonra dosya dizinleri ve ulaşabileceğiniz dosyaların hepsi bundan sonra Emacs bufferinde localhost’ta dosya aranıyor gibi belirecek.

find-file

İşin güzel kısmı bunları yaparken Emacs ekosisteminizideki

  • dosya veya klasörler içinde fuzzy arama
  • auto-complete
  • syntax renklendirme
  • python gibi indentation(girintileme) ile çalışan programlama dillerinde gereli olan

özellikleri kullanabileceksiniz.

3.1. Dired

Ben çok aşinası değilim ama dired ile mouse kullanarak bütün dosyaları adeta bir window explorer(türkçesini bulursam yazıcam) edasında dolaşabilirsiniz.

emacs-dired

3.2. Shell kullanma

Bir başka özelik Emacs kullanırken elimizin altında olan shell-command (Mesasge buffer’den kullanılan terminal) ile istenilen komut çalıştırılabilir girdiğiniz kullanıcının yetkileri dahilinde çalışabilirsiniz.

locate

 

BONUS : Eğer org-mode kullanıyorsanız ve sürekli olarak bağlantığınız bir server ise

[[file:/scp:username@SERVER_IP:/home/username/directory/file.extension][Alias for file]] 

Tek tıklama ile serverdeki dosyanıza ulaşabilirsiniz. Malum log takibi önemli 🙂 (ama siz yinede otomasyona bağlayın)

Umarım işinize yarar bir araç olarak kullanırsınız.