Blog (38)
Komentarze (392)
Recenzje (0)

Nie sięgaj po myszkę! Klawiatura Ci wystarczy! (w większości)

Strona główna@molexorNie sięgaj po myszkę! Klawiatura Ci wystarczy! (w większości)
08.01.2022 14:52

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. 

830999
Źródło zdjęć: © https://www.pexels.com/photo/selective-focus-photography-of-man-facing-computer-340152/

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

830748
Źródło zdjęć: © https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

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. 

831012
Źródło zdjęć: © własna

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:

https://github.com/amix/vimrc

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. 

831021
Źródło zdjęć: © https://github.com/jesseduffield/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. 

831089

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. 

Midnight commander 
Źródło zdjęć: © własna
Midnight commander 

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:

4U6U57/wsl-open: Open files with xdg-open on Bash for Windows in Windows applications. Read only mirror from GitLab, see link (github.com)

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  :)  ) 

831044
Źródło zdjęć: © własna

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. 

hrkfdn/ncspot: Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes. (github.com)

( 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: 

831099

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...

Komentarze (33)