Fare tekerleği daha az kaydırma ve urxvt kullanarak vim


17

Rxvt-unicode (aka urxvt) ile çalışmaya başladım ve fare tekerleği kaydırma ile ilgili bir sorun buldum gnome-terminalve karşılaştırıldığında konsole. Fare tekerleği geri kaydırma arabelleğinden geçmek için iyi çalışır, ancak less/ mostveya otomatik kaydırma için işe yaramaz vim(vim'de, ayar mouse=açalışmasını sağlar, ancak çok farklı bir şekilde, bunu yapmak zorunda değilim) gnome-terminal/ konsole).

Yapmak için bir yolu var mı urxvtgibi davranacaksan gnome-terminalve konsoleiçinde ne zaman lessve vimfare tekerleği Hemen İşleri?


Benzer bir soru bir süredir
sunucu hatasıyla ilgili

1
Teşekkürler, siz gösterene kadar bu beni rahatsız etmedi!
Kyle Smith

Yanıtlar:


8

Eski soru, ama: urxvt'de bu mümkün olmasa da, tam olarak bunu yapmak için bir seçenek (ikincil Tekerlek) ekleyecek ve VTE tabanlı terminaller gibi davranmasını sağlayacak bazı değişiklikler yaptım.

Bu yeni seçeneğin yaptığı oldukça basittir: fare tekerleğini kullanırken, ikincil ekranda (*) iseniz kaydırma olmaz ve bunun yerine çalışan uygulamaya 3 “sahte” tuş vuruşu gönderilir. Böylece, bir tekerlek yukarı, Yukarı tuşuna üç kez basmakla aynı sonuca sahip olur ve tekerlek aşağı, Aşağı tuşuna 3 kez basmakla aynı şeyi yapar.

(*) bunun “resmi” terim olup olmadığından emin değilim, ama en azından urxvt dilinde böyle adlandırılıyor.

Kolay yeterli, ama hile yok o: çalıştırırken şimdi man, lessya da ikincil ekran kullanan başka bir uygulama yaptığında (Yukarı / Aşağı tuşları basılı veya eğer uygulama yapacağını söyledi neyse) dolaşmak için fare tekerleğini kullanabilirsiniz.

VTE tabanlı terminallerde işlerin nasıl yapıldığından emin olmadığımdan emin olmalıyım - hiç kontrol etmedim - ama bu işi yapıyor, bu yüzden benim için çalışıyor.

Biraz daha fazla bilgi ve Arch Linux için & PKGBUILD koduna bağlantılar burada bulunabilir: http://mywaytoarch.tumblr.com/post/14455320734/scrolling-mouse-wheel-improvments-vte-like-in-urxvt

Umarım bu bazıları için yararlı olabilir!


1
Düzeltme ekinde herhangi bir güncelleme var mı? Dahil edilmesi önerildi mi?
14'te


1

Bunu çok benzer bir soru için yazdım, bkz. Https://superuser.com/a/1356948/900060

Bunu $ HOME / .urxvt / ext / vtwheel içine yapıştırın (yoksa dosya oluşturun):

#! perl

# Implements a scrollwheel just like in good old vt100's mices

sub simulate_keypress {
    my ($self, $type) = @_; #type: 0:up, 1:down

    my $keycode_up = 111;
    my $keycode_down = 116;

    my $numlines = 3;

    my $keycode = 0;
    if ($type eq 0) {
        $keycode = $keycode_up;
    } elsif ($type eq 1) {
        $keycode = $keycode_down;
    } else {
        return;
    }

    for (my $i = 0 ; $i ne $numlines ; $i++) {
        $self->key_press(0,$keycode);
        $self->key_release(0,$keycode);
    }
}

sub on_button_release {
    my ($self, $event) = @_;

    #my $res_ss = $self->resource("secondaryScroll");
    #warn("ressource ss is <$res_ss>");

    !$self->current_screen and return ();

    #warn("foo, event: <$event->{button}>\n");
    if ($event->{button} eq "4") { # scroll up
        $self->simulate_keypress(0);
        return 1;
    } elsif ($event->{button} eq "5") { # scroll down
        $self->simulate_keypress(1);
        return 1;
    }

    return ();
}

Ardından (veya ) URxvt.perl-ext-common:vtewheelcihazınıza ekleyin ve çalıştırın.Xresources.Xdefaultsxrdb .Xresources

Kaynak: https://aur.archlinux.org/cgit/aur.git/tree/vtwheel?h=urxvt-vtwheel

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.