W skorupkach ryb, jak wybrać kursorem, gdy trzymasz przesunięcie?

3

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.

Sam S
źródło
Jest to kontrolowane przez program terminala, a nie przez rybę.
glenn jackman

Odpowiedzi:

0

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ń vi v. Po naciśnięciu dowolnego klawisza, do którego jesteś zobowiązany begin-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:

bind \cx fish_clipboard_copy
bind \cv fish_clipboard_paste
Kurtis Rader
źródło