Emac'lerde dosya yollarını nasıl tamamlarım?


14

Diyelim ki bir yapılandırma dosyasını düzenliyorum ve bir yol yazmak istiyorum. Bu arabellekteki bir dosya yolunu tamamlamanızı sağlayan emacs için bir eklenti var mı? Bunu aradım ve orada bir bazilyon tamamlama eklentisi var.


1
Burada ne istediğini açık değilim. Modern emacen, mini tamponda yol tamamlama özelliğine sahiptir ( find-fileörneğin kullanılırken). İçerik arabelleğinde benzer bir davranış ister misiniz?
dmckee --- eski moderatör yavru kedi

1
@dmckee - Evet, aslında tam da aradığım şey bu.
Jason Baker

@dmckee Bu işletim sistemine özgü mü? Ubuntu'da Dosya Bul'da dosya adı tamamlandım, ancak OSX'te tamamlanma yok. Örneğin ben kök "başvuru" adlı bir dosya var ve ben mini tampon: "Dosya Bul: ~ /" ve "ref" girin ve ben tamamlanması bekliyoruz ama hiçbir şey olmaz. Bir şey yüklemem gerekir mi?
Zeynel

@Zeynel Mac OS'de de benim için iyi çalışıyor. Apple kurulu sürümü veya homebrew sürümü ile. Ayrıca eski makinemde fink sürümü ile çalıştı.
dmckee --- ex-moderatör kedi yavrusu

@dmckee Garip. Belki yeni bir soru soruyorum. Teşekkürler.
Zeynel

Yanıtlar:


11

Olanaklarından biri olan Hippie Expand'ı deneyin ' try-complete-file-name. Hippie expand'ın dosya adını genişletmek için kullanacağı genişletme işlevlerinin sırasını ve listesini değiştirebilirsiniz.

Veya yalnızca dosya adı genişletmesini yapacak özel bir sarıcı yazabilirsiniz. Gibi bir şey:

(global-set-key (kbd "C-M-/") 'my-expand-file-name-at-point)
(defun my-expand-file-name-at-point ()
  "Use hippie-expand to expand the filename"
  (interactive)
  (let ((hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name)))
    (call-interactively 'hippie-expand)))

15

Genellikle yazın Ctrl- X Ctrl- FBir dosyayı açacak gibi ama basmak yerine RETbasına Ctrl- A Ctrl- K Ctrl- GBirlikte düzenleme yapıldı tampon içine yolunu kopyalayıp yapıştırmak için Ctrl- Y.

Buna yeterince sık ihtiyacım yok, ama gerçekten daha iyi bir çözüm isteseydim, kesinlikle Trey Jackson'ın çözümünü kullanırdım hippie-expand. hippie-expandİlk cevaplarken bunu nasıl daha iyi bir yol olabileceğini düşündüm , ama bilmiyordum ve aramak için çok tembeldim, bu yüzden ne yaptığımı yazdım .


Tıknaz ve beceriksiz, ama çalışıyor. Bunu zaman zaman kendim yapmayı kabul etmeliyim. Yine de daha temiz bir çözümle ilgileniyorum ...
dmckee --- eski moderatör yavru kedi

Aslında. Gerçekten elle yazmaktan çok daha az iş gibi görünmüyor.
Jason Baker

1
@Jason Baker: Tam dosya adını bilmenize veya dosya için biraz keşfetmeniz gerekip gerekmediğine bağlıdır.
Teddy

6

Kutudan çıkan vanilya

M-x comint-dynamic-complete-filename

comint modunun dışında çalışır. Tabii ki, bunun (örneğin, Mx almak için daha az tuş vuruşlarını kullanmayı minibuffer dinamik genişlemesini kullanabilirsiniz comi NT- dy namic- c omplete -f ilename). Veya, sık sık kullanacaksanız, tuşunu kullanarak istediğiniz bir tuş dizisine bağlayabilirsiniz global-set-key.



0

Kısa bir süre önce Tomohiro Matsuyama'nın (@ m2ym) çalışmalarını keşfettim ve emacs paketlerinin kalitesinden çok etkilendim.

Çoğu otomatik tamamlama uzantısıyla mücadele ettim ve hepsinin önemli eksiklikleri olduğunu öğrendim.

Tomo'nun otomatik tamamlama özelliğine ( http://auto-complete.org/doc/manual.html ) göz atmak çok kolay oldu (Linux'tayım) ve birçok otomatik tamamlama ihtiyacını modern bir şekilde karşılar .

Tabii ki, arabellek dosya adlarının tamamlanması talebiniz mükemmel bir şekilde karşılanmaktadır.

Son olarak, Ruby'yi de yaparsanız, RSense uzantısını kaçırmamaya dikkat edin ; yine, türünün en iyisi.


Bağlantı koptu
xuhdev

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.