gtk-key-theme Emacs: hepsini seçmek için kullanılan tuş vuruşu nedir?


22

Ben emacs tuş vuruşlarını tercih ediyorum, fakat select-all emacs kelimelerinin bir parçası gibi görünmüyor, ya da en azından emacs için gtk-key-teması gibi görünmüyor. Mw seçilen bölgeyi kopyalamaya çalışmıyor.

  1. Tümünü seç için tuş vuruşu nedir?
  2. Bu tema için önemli bir bağlayıcı harita nerede?

Teşekkürler, Steve

Yanıtlar:


22

Orada olan gtk içinde "Tümünü seç" için bağlayıcı basit:C-/

Genel bir GtkTextView sinyali olarak tanımlanır ve özellikle emacs anahtar temasının bir parçası değildir. Ama onunla iyi çalışıyor. Buna bir alternatif olarak tanımlanır C-a. İkincisi emacs teması tarafından yeniden yorumlanırken C-/, "Tümünü seç" için geçerli kalır.


Mükemmel cevap. Neden henüz hiç olumlu oyu yoktu?
Rörd 5ün 5'15 kasası

7

Bunu doğrudan yapmak için tek bir kısayol yoktur.

Sen ile metnin sonuna gidebilirsiniz Ctrl- eve bir satırını kaldırın Ctrl- u. Ancak bu, yalnızca GtkEntrybir satırlık giriş alanıyla çalışır.

Eğer bir şeyi seçmek gerekirse GtkTextView, çok hatlı editörü benzeri kontrol, sen külfetli yapmak bırakılır Ctrl- Hometakiben Ctrl+ Shift- End, neredeyse imkansızdır benim 63 tuşlu klavye ile, hangi.

Düzenlemenin iyi bir nedeni, mobil cihazın klavyelerinin verimliliğini veya sınırlamalarını Homeve Enderişilemez durumdaysa, geçmek zorunda kalacaksınız. "Düzenle" menüsünden "Tümünü seç" seçimi kötü bir fikirdir, çünkü Alt- e- afirefox'ta, Alt- e- tgedit'te, Alt- e- sOpenOffice'de (gnome entegrasyonunda bile), her yazılımda farklı bir anahtar ve bazı yazılım, hayır "seçeneğini-all" Düzen Menüsü, krom gibi ve bazı yazılım, hatta Düzen Menüsü kendisi, yok orada bile dışarı çağrılacak birini gizli Alt-e, nautilus gibi. Bu tutarsızlık Alt-etkinleştirilmiş menü çubuğunun amacını atıyor ve Windows bile değil işletim sistemi değil de tutarsız. Sağ tık menüsünün bile "Tümünü Seç" için sabit bir kısayolu yoktur - bu genellikle uygulamadan uygulamaya kadar aolabilir t. Her bir yazılımda hata düzeltme çağrısı yalnızca GNOME gibi bir meta proje ile yapılabilir, ancak GNOME'un bu sorunlardan bazılarını ürettiğini bilmek ('Nautilus'ta Düzenleme Menüsünün kaldırılması bir GNOME 3 kararıdır) gerçekten ayrılmadı çok umut ediyorsun

Bir yandan notta Ctrl- - Hometüm metnin başına gitmek için tek yol olan kısa yoldur, hatta küçük klavyeli mobil cihazlarda çalışmak için çalışmanızı kesebilir.

Cevap burada bitiyor. Meraklı beyinler için ek bilgilerim var:


Tecrübeli bir emac kullanıcısı Ctrl- x- h: gerçekten otantik emaclar denerdi, ancak hiçbir kontrol anahtarı dizisi gtk3'ün emacs modu tarafından anlaşılmadı. Aslında, sadece bir avuç emac kısayolu tanımlanmıştır - Bir göz atın /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css; Bir etiket üzerinde, desteklenen tüm emas kısayollarını yazmak için yeterli alan vardır.

Durumu daha da kötüleştirmek için, bu amaç için bir kısayol tuşunu yeniden konumlandırmak zordur. Bildiğiniz gibi, Ctrl- aemacs tarafından alınır. Ancak İngilizce konuşamayan en büyük grup olan Hispanophone'lar bile (Çince hariç tutulur çünkü ideograf kullanıyoruz), her şeyi seçmek için kullanılan Ctrl- eemacs tarafından alınan klavye kısayolunu da bulur. Bunun dışında e, bir QWERTY klavyenin sol yarısında önceden kabul edilmiş bir amaç olmadan bırakılan başka bir anahtar yoktur. Google Çeviri, yalnızca basıldığında, 'hepsini seç' olarak ÜSTKRKT tuşunu alır, ancak diğer yazılımlar veya diğer Google ürünleri bu ayarı izlemez.

Bir çizgiyi boşaltmak için Ctrl- kullanın u. Bunun, X SELECTION (orta fare tuşuyla işaretleyeceğiniz) üzerine yazmama avantajı vardır. Bu, yalnızca gtk3'ün emacs modunun benzersiz bir ayarıdır: gerçek emac'lerde kendi başına hiçbir şey yapmaz; readline'da (bash, mysql vb.) imlecin satırın başlangıcına kadar herşeyi silmesi beklenirken, karşı kısmı Ctrl- kimlecin satırın sonuna kadar her şeyi siler.

Bazıları, klavyeyle rasgele seçim yapmak için bir yerde bir işaret bırakmanızı önerebilir. Ayrıca bulabilirsiniz Ctrl- SPACEmetinde bir bağlantı ayarlamak için yapılandırılmış emacs modundadır. Diğer birçok yazılımla (özellikle ideograf giriş yöntemleri ve diğer bazı düzenleyici yazılımlarda otomatik tamamlama) çakışmasına rağmen, ayarladığınız bağlantıyı kullanmak için herhangi bir kısayol tuşu yoktur.


Ubuntu resmi olarak emacs düzenleme modunu veya UI ile yapılamayan başka bir UI yapılandırmasını desteklemiyor. Bu ihtiyaçlarla ilgili hata raporları öncelikli olarak işaretlenmiştir. Bu nedenle böyle bir soruyu Linux'a özgü yerlere, örneğin süper kullanıcıya sormanın en iyisi olduğunu düşünüyorum.


2

Emacs bağlayıcıları /usr/share/themes/Emacs/gtk-2.0-key/gtkrc adresinde belirtilmiştir. ~ / .Config / gtk-3.0 / gtk.css dosyasına da ciltleme ekleyebilirsiniz.

Tümünü seç şöyle bir şey olurdu:

bind "<ctrl>h" { "move-cursor" (buffer-ends, -1, 0)
                 "move-cursor" (buffer-ends,  1, 1) };

Yine de onu Cx h'ye bağlamanın bir yolunu bulamadım.


2

Mevcut anahtar bağlayıcıyı görüntüleyin

GTK3 uygulamaları için Emacs GTK anahtar temasının (ya yerel olarak, muhtemelen de /usr/share/themes/Emacs/gtk-3.0/gtk-keys.css) - ya da GitHub'daki GTK git deposundaki bağlarını görüntüleyebilirsiniz (bu, dağıtımınız onu değiştirmiş olabileceği için mutlaka yerel dosyanızla aynı değildir). .

Bu dosyayı okurken, gereçlerin anlamını bilmeniz gerekir

(Her bağlantılı sitenin üstündeki resme bakın.)

Tümünü seçmek için anahtar bağlama ekleme

select-alliçin GtkTreeViewveGtkTextView

İçin GtkTreeViewve GtkTextViewwidget adı verilen bir sinyal var select-all. 1Seçimi kaldırmak yerine her şeyi seçebilmesi için argümanı iletmeniz gerekir.

Öyleyse, şöyle bir ~/.config/gtk-3.0/gtk.cssşey düzenleyin ve ekleyin:

@binding-set my-text-and-tree-view-bindings
{
    bind "<alt>a"
    {
    "select-all" (1)
    };
}

textview {
  -gtk-key-bindings: my-text-and-tree-view-bindings;
}

treeview {
  -gtk-key-bindings: my-text-and-tree-view-bindings;
}

GtkEntry

Çünkü sinyal GtkEntryyok select-all. Bunun yerine move-cursor, metni işaretleyen iki sinyal dizisi kullanabilirsiniz .

Yine, ~/.config/gtk-3.0/gtk.cssböyle bir şey düzenleyin ve ekleyin:

@binding-set my-entry-bindings
{
    bind "<alt>a"
    {
    "move-cursor" (paragraph-ends, -1, 0)
    "move-cursor" (paragraph-ends,  1, 1)
    };
}

entry {
  -gtk-key-bindings: my-entry-bindings;
}

Firefox

Bu arada, Firefox'ta Alt- abenim için varsayılan olarak konfigürasyon yapmadan varsayılanı seçer (Emacs GTK anahtar temasını kullanarak).


1

Bir bölgedeki tüm metni seçmek istiyorsanız, bunun için basit bir Makro tanımlamayı tercih ederim. Makro yazmaya başlamak için F3 tuşuna basın . Sonra yazın

Esc - <          // goes to beginning of document
Ctrl - spacebar  // set mark
Esc - >          // selects all till end of document

Sonra kopyalamak için M -w kullanın (normalde uzak unix sistemlerinden yerel Windows'a kopyalamak için ne yapıyorum) ve makroyu tanımlamayı bitirmek için F4 tuşuna basın .

Şimdi Makroyu tanımlamayı tamamladınız, sadece F4 tuşuna basarak işlemi tekrarlayın.


GTK Emacs ana teması Emacs ile aynı değil. Cevabınızdaki kilit bağların neredeyse hiçbiri orada çalışmaz (ve eğer gerçekten
Emacs'taysanız

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.