Nie sięgaj po myszkę! Klawiatura Ci wystarczy! (w większości)
08.01.2022 | aktual.: 09.01.2022 17:29
Wygodna pozycja w fotelu, dobra klawiatura, dobre słuchawki dobre ustawienie monitora. Jeszcze tylko kawa w rękę, daily i można będzie przystąpić do pracy.
Z kofeiną w żyłach i po szybkim "apdejcie" (zaktualizowaniu), siadamy do naszych zadań. Zaczynamy kodować i jest tylko jedna rzecz, która oprócz bugów, "Pejedynki" ( incident priority 1) i testów "na czerwono" może nam zepsuć dzień: to cholerne odrywanie rąk od klawiatury, żeby sięgnąć po myszkę, żeby wykonać proste zadania. I to właśnie o tym będzie dzisiejszy wpis.
Jest to rzecz która, zaprząta mi głowę, o wiele bardziej niż powinna, ale faktycznie w "ferworze walki" nie lubię odrywać rąk od klawiatury. Na szczęście częściowo nauczyłem się już z tym sobie radzić i podpowiem kilka tricków.
Vimium - przeglądamy internet z klawiatury
Vimuim to dodatek do chrome (działa także na edge), który umożliwia nam poruszanie się po stronach, bez konieczności uciążliwego klikania w linki.
Wystarczy wcisnąć "f", aby naszym oczom ukazały się linki na stronie, po których będziemy mogli nawigować. Serdecznie polecam. Jest to dodatek, który zawsze mam zainstalowany.
Niestety całkowite wyeliminowanie myszki, czy wskaźnika, przy przeglądaniu internetu jest stosunkowo trudne- cześć twórców stron implementuje akcje "on hover" , czyli "po najechaniu kursorem", lub zamiast linków używają funkcji JS, co czasem psuje działanie dodatku- nie zmienia to faktu, że w 90% przypadków dodatek wystarczy do poprawnej i efektywnej nawigacji po stronie.
Oto zaledwie 4 interesujące skróty:
gg scroll to top of the page G scroll to bottom of the page f open a link in the current tab F open a link in a new tab
Oh My ZSH
ZSH + oh my zsh, to bajeczny zestaw na start, żeby przesiąść się na dobrą powłokę. Jeśli korzystasz z Basha, nie przejmuj się, że będziesz MUSIAŁ nauczyć się kompletnie nowych rzeczy. Powłoki są podobne (kompatybilne) i większość rzeczy będzie działać.
Trudno wymienić wszystkie zalety ZSH, wspomnę więc tylko, że ma wsparcie dla plug-inów, których istnieje bardzo wiele
Dokładny opis instalacji i konfiguracji znajdziesz tu:
Make your terminal beautiful and fast with ZSH shell and PowerLevel10K | by Shivam | Medium
To start przygody z "nie odrywaniem rąk od klawiatury". Zobaczysz, jak przyjemny w użytkowaniu może być terminal. A do tego wygląda całkiem ładnie! (nawet na Windowsie).
Przykład?
przechodzenie między katalogami bez użycia "cd", lepsze uzupełnianie "tabów" , _ !! (czyli sudo "poprzedniaKomenda")
VIM for the win!
Tak — wiem.... zaraz spłonę w ogniu krytyki, ale ja sam lubię VIM‑a!
Za co? Za poruszanie się w nim, za szybkość, z jaką mogę otwierać i edytować proste pliki.
Nie jestem fanatykiem, żeby konfigurować go i używać jako IDE, ale okazuje się ze w nawyk weszło mi używanie vim‑a do prostych edycji.
Oczywiście wszystko zależy od tego czym się zajmujesz i co robisz.
Do vim‑a da się przyzwyczaić, a jeśli nie lubisz myszki, to może się okazać, że jest to coś, dla ciebie.
Na początek polecam konfigurację, z której sam korzystam:
Mały "tip" i przykład użycia vima to : r!env
, czy inna dowolna komenda systemowa. Ten trik sprawia, że w miejsce kursora zostanie wstawiony wynik z linii poleceń.
Im dłużej korzystam z vim‑a, tym szybciej jestem w stanie wykonać niektóre zadania. Okazuje się, że zazwyczaj szybciej niż w innych edytorach, z których korzystałem wcześniej.
Daj sobie z nim trochę czasu. Może polubisz i ty.
LazyGIT
Jeśli korzystasz z gita, to oprócz aliasów, przydać się może także lazygit.
Lazy git to naprawdę prosta nakładka na gita w konsoli. Czasem sięgam po np: source tree, albo rozwiązuję konflikty w intelij, jednak do prostych zadań zazwyczaj wystarcza mi konsola, a oprócz niej LazyGit właśnie. Uruchamia się błyskawicznie, jest super przejrzysty i prosty.
Przykład?
Otwieram lazy git, zaznaczam pliki strzałkami i spacją (git add) i naciskam "c" (git commit) - wyświetla mi się okno, aby wpisać komentarz. Shift+P i moje zmiany lądują na repozytorum zdalnym (git push). Całość można zmieścić w kilku sekundach, a ta sama czynność w innych programach wydłużyć mogłaby się nawet do minuty myślę.
Oczywiście mogę to samo zrobić z konsoli, ale pliki łatwiej przejrzeć graficznie z ich podglądem, a dzięki temu narzędziu nadal nie muszę sięgać po myszkę i nie spowalnia mnie to.
MC-WRAPPER
MC- czyli midnight commander, to taki "konsolowy total commander" - narzędzie do zarządzania plikami.
Niedawno odryłem, że razem z nim instaluje się mc‑wrapper.sh. Niewielki skrypt, który pozwala na przejście konsoli do ostatniego katalogu w programie.
Czyli: jesteśmy w "/" odpalamy "mc" i przechodzimy w głąb drzewa folderów. Czasem jest to szybsze, niż w konsoli, nie znając nazw katalogów. Naciskamy "F10" aby wyjść i nasza konsola jest już w katalogu, do którego nawigowaliśmy. Szybsze niż korzystanie z graficznego exploratora plików i otwieranie konsoli w danym katalogu i nawet szybsze często niż zmiana katalogu poprzez "cd" w terminalu.
Aby tą funkcjonalność skonfigurować, polecam mały alias:
alias mc="source /usr/share/mc/bin/mc-wrapper.sh -‑nosubshell"
Proste. Prawda? A bardzo ułatwia życie.
Open dobreprogramy.jpg
Otwieranie plików z konsoli może być uciążliwe. Zazwyczaj musimy wskazać "czym" chcemy dany program otworzyć. np: "gimp dobreprogramy.jpg"
Czy nie lepiej byłoby używać "skojarzonych programów"? Oczywiście, że tak!
Na Linuksie zadziała xdg‑open (który oczywiście możemy aliasować), a na wsl Windowsa?
Tu przyjdzie nam z pomocą skrypt dostępny na:
Skoro już tak fajnie nam się nawiguje między plikami w konsoli, czy to za pomocą ZSH, czy MC, to czemu by nie pozostać w niej nieco dłużej i nie otwierać, dajmy na to plików Excel-a bez użycia myszki?
(BTW. w Excelu oczywiście też nie używamy myszki :) )
Nie tylko terminal
A skoro już wspomnieliśmy o Excelu, to warto wspomnieć o skrótach systemowych i w aplikacjach tzw. okienkowych.
Zapewne podstawowe skróty Windowsa/Linuxa/Mac OS znasz, ale czy np. potrafisz zarządzać oknami, minimalizować, przełączać pulpity bez użycia myszki?
Potrafisz obsługiwać IDE za pomocą klawiatury? Większość z nich ma naprawdę spore możliwości w tym zakresie! W jednym z zespołów developerskich, z którymi miałem przyjemność pracować, kilku chłopaków miało zwyczaj robienia tzw. "no mouse kata".
Polegało to na tym, że codziennie odpinali myszkę od komputera na co najmniej 20 minut i w tym czasie starali się wykonywać swoje zadania wyłącznie z użyciem klawiatury. Oczywiście nikt tego nie mierzył, żebym mógł dziś powiedzieć o wymiernych efektach, ale sami byli bardzo nich bardzo zadowoleni.
Może warto spróbować ?
Więcej!
Chcesz więcej? Oczywiście oprogramowania konsolowego i takiego, w którym nie musimy sięgać po mysz, jest sporo. Z ciekawostek, istnieje na przykład klient Spotify w konsoli.
( dawno temu pisałem też o "ekg - gg lda leniwych" )
Osobiście uważam, że to akurat jest już zbędne,ale polecam jednak naukę obsługi shella, oraz prostych programów konsolowych.
Polecam także poszukać ciekawych alisów, pluginów i funkcji -ułatwiają one i uprzyjemniają pracę.
A sam na zachętę daje kilka tricków:
Podsumowanie:
Oczywiście przejście na klawiaturę, nie każdemu będzie pasować. W szczególności jeśli głównie konsumujemy treści na komputerze, a nie tworzymy oprogramowanie, czy administrujemy serwerami.
Wszystko ma też swoje granice i nie będziemy modelować w 3d za pomocą konsoli, ani rysować. Do tego przyda nam się mysz, touchpad, trackball, czy rysik. W wielu wypadkach jednak nie musimy odrywać rąk od klawiatury niepotrzebnie. Z czasem zauważymy też, że w sumie pracujemy dzięki temu szybciej i wygodniej.
A co jeśli to nie wystarczy? Jeśli nie chcemy sięgać po myszkę w ogóle?
Można na przykład za pomocą Raspbery Pi zrobić "myszkę na głowę", jak Ja :)
(myszka na głowę była tylko testem i zabawą z Raspberry pico, być może do niej wrócę - efekt był ok, ale o tym kiedy indziej)
Na koniec warto jeszcze się zastanowić "po co". W krótkiej chwili nie sięgniecie po myszkę, być może nie ma sensu. Jednak z własnego doświadczenia wiem, że klawiatura bywa bardziej efektywna w dłuższej perspektywie. A przecież koniec końców nie o lenistwo, tylko efektywność w tym wpisie chodzi...