Emacs'ta aynı anda birçok dosyayı nasıl açık tutabilirim?


10

Şu anda C-xC-fyeni bir dosya açmak için kullanıyorum , ancak oldukça sıkıcı oluyor.


Amacın nedir? Bir kerede bir grup dosya mı açıyorsunuz? Veya zaten açık olan çok sayıda dosyayı mı yönetiyorsunuz?
viam0Zah

Yoksa aynı anda birden fazla dosya mı görmek istiyorsunuz? Emacs tüm bu dosyaları "açık" tuttuğu için (bir anlamda, yüklenir, ancak "dosya tanımlayıcı açık" anlamında "açık" değildir).
Jürgen A. Erhard

Bir programın birkaç kaynak dosyasını düzenlemek istiyorum
Yazz.com

Aracılığıyla git Bu kullanmadan emacs'dan önce
overexchange

Yanıtlar:


19

Emacs dosyasına find-file ( Ctrl-x Ctrl-fvarsayılan olarak bağlı) ile bir dosya yüklediğinizde, dosya bir "arabelleğe" alınır. Arabelleği öldürmediğiniz sürece bellekte kalır, yeniden yüklemenize gerek yoktur.

Önceden yüklenmiş dosyalara (arabelleklere) ara belleğe geçiş (bağlı) ile erişirsiniz Ctrl-x b. Tuşlara basın, ardından geçiş yapmak istediğiniz arabellek adını yazın (varsayılan olarak yüklü herhangi bir dosyanın temel adıdır).

Ctrl-x Ctrl-bMevcut tamponların bir listesini almak için tuşuna da basabilirsiniz . Ve geçmek için fare ile herhangi bir tampon tıklayın (IIRC, nadiren fareyi Emacs ;-) ile kullanın)

Ayrıca, farklı dosyaları (arabellekleri) görmek için ekranı iki (veya daha fazla) parçaya bölebilirsiniz Ctrl-x 2. Başlangıçta, bu aynı tamponu iki kez gösterir. Başka bir dosya görmek için pencerelerden birinde başka bir arabelleğe geçin.


1
Cx 3 aynı zamanda ekranı ikiye bölmek için de kullanılabilir, aynı anda sadece bir tampon göstermek için Cx 0.
Rémi

3

Cx b ve Cx Cb istediğiniz şeydir. Ayrıca iswitchb veya ido'yu denemeyi düşünün. Bunları kullanmaya başladığımdan beri, kullandığım her program sekmeleri / pencereleri / belgeleri emacs kadar hızlı ve rahat bir şekilde değiştirebilseydim. Genellikle emac'larda 50 veya daha fazla dosyam var, istediğiniz dosyayı iswitchb veya ido ile çok hızlı bir şekilde bulabilirsiniz.


1

Ayrıca, emacs'ın grafik bir sürümünü kullanıyorsanız, mevcut bir arabelleği yeni bir pencerede açmak için ctrl-x 5 b veya yeni bir dosya yüklemek için ctrl-x 5 f yapabilirsiniz. yeni bir pencerede.


1
cx 5 b de tty'de çalışıyor, ancak çerçeveleri değiştirmek tty modunda rahatsız edici :)
Justin Smith

@ Justin teşekkürler. Daha önce hiç tty ile karelerle oynamadım. Birden çok arabellek kullanmanın herhangi bir faydası var mı?
KeithB

Çerçeveleri ve pencereleri, bir Linux pencere yöneticisinde çalışma alanlarını ve pencereleri nasıl kullandığınız gibi kullanabilirsiniz. elisp kod çerçevesi 1 üzerinde çalışmak için iki pencere vardır, biri elisp için bilgi dosyası, diğeri etkileşimli olarak denemek için ielm ile, çerçeve 2 yalnızca bir pencere içerir, hangi dosyayı düzenlerseniz (böylece çok sayıda satır görünür hale getirebilirsiniz) olabildiğince dağılmaz). Diğer çerçeve için iyi bir tuş takımı ile, herhangi bir nedenle X'i çalıştırmak istemezseniz çok verimli bir düzenleme olabilir.
Justin Smith

0

Birden çok dosyayı aynı anda kolayca açabilir (veya başka yollarla bunlara göre hareket edebilirsiniz).

  1. C-x dTüm dosyalarını ve alt dizinlerini listeleyen bir dizini (klasörü) ziyaret etmek için kullanın .

  2. Açmak (veya başka bir şekilde işlem yapmak) istediğiniz dosyaları işaretleyin. Dosya adı desenleri de dahil olmak üzere çeşitli özelliklere göre dosyaları ayrı ayrı veya gruplar halinde işaretleyebilirsiniz. Mark ve Regexp menü çubuğu menülerine bakın - klavye kısayollarının yanı sıra kullanılabilir bazı işaretleme olasılıklarını gösterir.

Örneğin:

  • % m adları normal ifadeyle eşleşen dosyaları işaretler.

  • % g içeriği normal bir ifadeyle eşleşen dosyaları işaretler.

  • * * yürütülebilir dosyaları işaretler.

İşaretli tüm dosyaları bir kerede açmak için standart kütüphaneyi yüklemiş olmanız gerekir dired-x.el. İnit dosyanızı yapın M-x load-library dired-xveya koyun (require 'dired-x).

Ardından , işaretli dosyaların tümünü bir kerede ziyaret etmek için F( dired-do-find-marked-files) tuşunu kullanabilirsiniz . C-x C-bBu dosya arabellekleri arasından seçim yapabileceğiniz açık arabelleklerin listesini görmek için kullanın .

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.