Jak zaznaczyć tekst do skopiowania i wklejenia w Chrome za pomocą klawiatury, która nie używa myszy?

14

Mam otwarty samouczek online w Google Chrome. Mówi mi, żeby uruchamiać niektóre polecenia w terminalu.

Mój obecny obieg pracy polega na wybraniu niezbędnych części za pomocą myszy i wstawieniu skopiowanego tekstu za pomocą środkowego kliknięcia myszy w terminalu.

Chcę uniknąć używania myszy w większości przypadków, więc chcę podświetlić tekst na stronie internetowej, używając tylko klawiatury. Chcę, aby tekst był automatycznie zapisywany w buforze podobnym do zaznaczania myszą, ale nawet ctr + c bez wybierania tekstu myszką byłoby w porządku.

Czy w tym celu jest tryb w Chrome?

k0pernikus
źródło

Odpowiedzi:

16

Ponieważ jestem użytkownikiem vimium , okazuje się, że miałem już w nim możliwości, chociaż nie wiedziałem, że istnieje.

  • Wyszukaj punkt początkowy według: /yourSeach
  • Naciśnij enter.
  • Włącz tryb wizualny za pomocą: vi tryb wizualny liniowo za pomocą Shift+V
  • Zaznacz tekst za pomocą klawiszy nawigacyjnych vima, czyli: h, j, k, l, b, e, w, $ (szczególnie podoba mi się shift + w, ponieważ przechodzi do końca następnego słowa)
  • Jank przez y

Teraz możesz zmienić kontekst i wkleić tekst za pomocą Ctrl + V

Wydaje się również, że istnieje tryb karetki, ale jak dotąd czasami nie widzę aktualnego miejsca kursora, dlatego wolę teraz podejście oparte na wyszukiwaniu.

k0pernikus
źródło
O mój! To jest niesamowite! Dzięki za udostępnienie tego klejnotu! Byłem w tym przez długi czas! Stworzyłem nawet makro Keyboard Maestro, ale twoje rozwiązanie jest jeszcze lepsze!
politicus
Wymagane jest jednak sporo uprawnień.
Jesus Iniesta,
@JesusIniesta Potrzebują tych do pracy: github.com/philc/vimium/issues/366#issuecomment-210642835
k0pernikus
@JesusIniesta Na swojej stronie sklepu internetowego mówią nawet: „ UWAGA Chrome ma pewne alarmujące komunikaty dotyczące uprawnień, które Vimium musi uruchomić. Naprawdę wszystko, o co prosi, to załadowanie javascript Vimium na każdą stronę. Nie przejmuj się. Vimium nigdy nie mówi na dowolne serwery i nie robi absolutnie nic ze swoimi danymi. Jeśli jesteś ciekawy, przeczytaj otwarty kod źródłowy ”.
k0pernikus
3

Użyj klawiszy strzałek, aby poruszać się po stronie.

Aby podświetlić tekst na stronie za pomocą klawiatury Shifti kierunku, góra w górę linia w dół jest linia w dół. Lewy to jeden znak, a prawy to jeden znak.

Skopiuj to Ctrl+, Ca wklej to Ctrl+ V.

Jedynym sposobem, w jaki mogę przesunąć kursor wyboru, jest użycie polecenia znajdź, aby podświetlić pierwsze słowo tekstu, który chcesz skopiować, naciśnij Ctrl+ F, wpisz swoje słowo, aby je podświetlić na stronie i naciśnij, ESCaby wyjść, finda następnie użyj Shiftstrzałek plus, aby zaznacz resztę.

Wreszcie, aby zamienić z Chromena Terminaluse Alt+Tab

Mark Kirby
źródło
OP chce wiedzieć, jak wyróżnić tekst bez wybierania go myszą, tzn. tylko za pomocą klawiatury ...
TellMeWhy,
1
@DevRobot, to im dałem :)
Mark Kirby,
Brak pracy :( - klawiatura musi znaleźć fokus, aby móc podświetlić tekst ...
TellMeWhy
Czy to możliwe, że masz uruchomione rozszerzenie, które udostępnia tę funkcję? Jak to, co opisujesz, nie działa dla mnie.
k0pernikus,
Problem nie polega na tym, że kursor wyboru musi być skoncentrowany na tekście, który chcesz podświetlić, jak wskazał @DevRobot, oznacza to, że nie działa to tylko na klawiaturze, ponieważ najpierw musisz kliknąć jakiś tekst, aby go podświetlić. Tylko obejście, które mogę znaleźć, to korzystanie z findopcji, dodam, aby odpowiedzieć, ale jeśli to nie wystarczy, powiedz i usunę.
Mark Kirby,
0

ten skrypt tampermonkey przełącza contentEditable

w tym trybie nawigujesz do żądanego tekstu i wybierasz go za pomocą klawiatury - jak w standardowym edytorze tekstu

// ==UserScript==
// @name         Toggle ContentEditable
// @namespace    http://tampermonkey.net/
// @version      0.1
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    var range;

    document.addEventListener('keydown', function(e) {
        if (e.keyCode == 12 && e.ctrlKey && e.altKey) // CTRL + ALT + NumPadCenter
        {
            if (!document.body.getAttribute("contenteditable"))
            {
                document.body.setAttribute("contenteditable", "true");

                var selection = window.getSelection();
                selection.removeAllRanges();
                if (!range) range = document.createRange();
                var el = document.elementFromPoint(window.innerWidth/2, window.innerHeight/2);
                if (!el) el = document.body;
                range.setStart(el, 0);
                range.collapse(true);
                selection.addRange(range);
            }
        }
        else if (e.keyCode == 27  // ESC
                 && document.body.getAttribute("contenteditable"))
            document.body.removeAttribute("contenteditable");
    });

})();

Używam go, gdy czytam książki w językach obcych i często muszę kopiować i wklejać niektóre słowa do słownika

Ctrl+Alt+NumPadCenterWŁĄCZA ESCWYŁĄCZA (tzn. wraca do zwykłego przeglądania)

Aby zmienić kombinacje klawiszy na dowolne, edytuj wiersze z odpowiednimi komentarzami obok nich.

Po włączeniu ON skrypt umieszcza znak karetki na początku elementu (zwykle akapitu), który znajduje się na środku okna przeglądarki.

Googling zaprowadził mnie na tę stronę, a zaproponowane rozwiązania wydawały się przesadne, więc oto jest.

jaborandi
źródło
@ mook765 To jest skrypt tampermonkey. Zainstaluj rozszerzenie tampermonkey Chrome, w pulpicie tego rozszerzenia dodaj nowy skrypt i skopiuj do niego ten kod.
jaborandi
@jaborandi Próbowałem twojego skryptu. Wystąpił komunikat ostrzegawczy „wiersz 31 Oczekiwany {po warunku„ jeśli ””. Nie widziałem żadnego karetki na początku żadnego elementu.
politicus