We wszystkich edycjach tekstu gui strzałka ctrl przesuwa kursor o słowo, a przytrzymanie klawisza Shift powoduje przesuwanie kursora. Tak więc ctrl-shift-left wybiera poprzednie słowo. Ryba ma już tę pierwszą, ale chcę ją wdrożyć.
Próbowałem zrobić coś takiego
bind \[d begin-selection backward-word # \[d is ctrl-shift-left
Ale problem polega na tym, że rozpoczyna wybór przy każdym naciśnięciu klawisza, zamiast wybierania dodatkowych słów.
Ponadto nie wiem, jak skopiować wybrane ryby do klawiatury systemowej.
Odpowiedzi:
To, co próbujesz zrobić, nie jest możliwe z żadną wersją ryby, która istnieje podczas pisania tego tekstu. The
begin-selection
Funkcja ma być powiązana z kluczem, który inicjuje tylko tryb wyboru. Nie można również wykonać ruchu kursora w tym samym powiązaniu, ponieważ, jak zauważyłeś, rozpoczyna się nowy wybór przy każdym naciśnięciu klawisza. Ta funkcja jest obecnie używana tylko w powiązaniu z trybem poleceń viv
. Po naciśnięciu dowolnego klawisza, do którego jesteś zobowiązanybegin-selection
następnie należy nacisnąć inny klawisz, który wykonuje ruch kursora, aby rozszerzyć wybór. Teoretycznie można to zrobić tak, jak chcesz. Nie krępuj się otwórz problem .Aby skopiować / wkleić implementację, preferowane są wiązania. Są to wartości domyślne dla powiązań klawiszy trybu emacs i vi:
źródło