# Sharks - Navigation `/home/artix/.zprofile` - Profile file that runs on login and includes enviromental variables and other stuff. `/home/artix/.config/` - Configurations obviously. `/home/artix/.local/src` - Compiled software utilities. `/home/artix/.local/bin/` - All scripts that feature a automated workflow. `/home/artix/.local/bin/statusbar` - All configuration Files for [dmenu](/home/artix/.local/bin/statusbar) the statusbar. # Sharks - scripts, commands and bindings Sharks pre-installed utilities are in alignment to the unixcism. Directorys of Scripts and commands are indicaded. [TOC] ## autostart: #### remaps Remaps keys on startup, set on `/home/artix/.local/bin/remaps` #### dmenupass Using dmenu as a password prompter, set on `/home/artix/.local/bin/dmenupass` ## scripts: #### maimpick: `shift PrintScreen` - Make screenshot #### backup `backup <directory>` - will make a compressed backup of given directory #### compiler Compiles .tex. groff (.mom, .ms), .rmd, .md, .org. Opens .sent files as sent presentations #### displayselect `displayselect` - A UI for detecting and selecting all displays #### dmenuhandler `dmenuhandler <link>` - Give it any link and dmenu outputs programms to open it #### dmenunicode `dmenuunicode` - The famous "*get a menu of emojis to copy*" script #### getkeys `getkeys <software>` - Outputs all shotcut keys of given utility, configurable man alternative #### noisereduce `noisereduce <input video file> <output video file>` - Reduces background noices of given video file #### slider `slider -i <file.txt>` - Give a file with images and timecodes and creates a video slideshow of them #### mounter `no argument` - Can mount decrypted drives or usb or anything #### rssadd `rssadd <rss-link>` - Add rss-feeds to newsboat from the command line #### transadd `transadd <torrent-link>` - Add torrents to transmission from the command line ## bindings: #### lfub: `y` - copy `p` - paste `a` - create `A` - mkdir `en` - open `bs` - go back one directory `D` - delete `C` - copy `X` - Cut `P` - paste `r` - rename `/` - search `q` - quit `m` - mark `h`, `j`, `k` ,`l` - to move around and enter directories and open files. `g`, `G`, `<c d>`, `<c u>` - movement like in vim. `w` - drop into a terminal in the current directory. `<c d>` in the terminal, you will return to lf `<crtl n>` - new directory `V` - new file with `nvim` `sp` - select files: `d` - cut files to lf's clipboard `y` - yank files to lf's clipboard `p` - paste/move copied/cut files `C` - copy selected files to a bookmarked directory `M` - move selected files to a bookmarked directory `Y` - copy text names of selected files to the system clipboard. **Renaming files:** `o` - rename the selected file `A` - rename the selected file, starting at end `a` - rename the selected file, starting after the extension `I` - rename the selected file, starting at beginning `i` - rename the selected file, starting before extension `B` - bulk rename: use vidir to mass edit all files in the directory `s` - sort files by a different metric `z` - show extra data or hidden files #### st (zsh): *includes* `.config/shell/` `<alt page-up/page-down>` - faster scroll `<alt c j/k>` - decrease or increase font size `<alt c>` - copy selected text to clipboard `<alt c l>` - clear terminal `<alt insert>` - paste clipboard contents `<alt l>` - open a link `<alt y>` - copy a link `<alt o>` - copy the output from a recent command `<alt a/s>` - decrease/increase transparency `<crtl-l>` - clear-screen `<crtl-a>` - beginning-of-line #### vim: *mapping*: `<crtl h>` - wechsle zum Fenster links `<crtl j>` - wechsle zum Fenster unten `<crtl k>` - wechsle zum Fenster oben `<crtl l>` - wechsle zum Fenster rechts `<, n>` - öffne oder schließe NERDTree `b` - öffne die Bibliotheksdatei in einem vertikalen Split `,r` - öffne die Referenzdatei in einem vertikalen Split `,f` - aktiviere den Goyo-Modus für fokussiertes Schreiben `,h` - toggle die Anzeige der unteren Statusleiste `,o` - toggle die Rechtschreibprüfung (Englisch) `Q` - ersetze Ex-Mode mit dem `gq` Befehl (Formatierung) `S` - ersetze alle Vorkommen eines Suchmusters in der Datei `,,` - füge `<++>` ein und platziere den Cursor an der richtigen Stelle für den nächsten Text `,c` - speichere die Datei und kompiliere das Dokument (z.B. LaTeX, Markdown) `,p` - öffne das entsprechende PDF oder HTML-Dokument der aktuellen Datei `,s` - überprüfe die aktuelle Datei mit `shellcheck` `w!!` - speichere eine Datei mit Root-Rechten `,v` - öffne den Vimwiki-Index `,`d - toggle DeadKeys `<, i>` - toggle IPA (International Phonetic Alphabet) Eingabe `<, q>` - toggle Prosa-Modus `Q` - ersetze Ex-Mode mit dem `gq` Befehl (Formatierung) `S` - ersetze alle Vorkommen eines Suchmusters in der Datei `,,` - füge `<++>` ein und platziere den Cursor an der richtigen Stelle für den nächsten Text `,`c - speichere die Datei und kompiliere das Dokument (z.B. LaTeX, Markdown) `,`p - öffne das entsprechende PDF oder HTML-Dokument der aktuellen Datei *normal-mode*: `k` - up `h` - left `l` - right `j` - down `w` - next start of word `W` - next start of whitespace-delimited word `e` - next end of word `E` - next end of whitespace-delimited word `b` - previous start of word `B` - previous start of whitespace-delimited word `:0` - start of line `:$` - end of line `gg` - go to first line in file `G` - go to end of file `gk` - move down one displayed line `gj` - move up one displayed line `a` - append after the cursor `A` - append at the end of the line *insert-mode*: `i` - insert before the cursor `I` - insert at the beginning of the line `o` - create a new line under the cursor `O` - create a new line above the cursor `R` - enter insert mode but replace instead of inserting chars `u` - undo `yy` - yank (copy) a line `y {motion}` - yank text that {motion} moves over `p` - paste after cursor `P` - paste before cursor `x` - delete a character `dd` - delete a line #### dwm: `<mod j/k>` – cycle thru windows `<mod rc>` - drag window around (floating mode) `<mod S>` – un-/make a window float `<mod l>` - change window size `<mod S>` – make selected window the master `<mod h/l>` – change width of master window `<mod z/x>` – increase/decrease gaps (not permament) `<mod a>` – toggle gaps (not permament) `<mod 1-9>` - send window to workspace 1-9 `<mod shift 1-9>` - take window with you to workspace 1-9 `<mod b>` – toggle statusbar `<mod f>` - fullscreen a window `<mod q>` - cloze a window **utilities:** `<m k>` - kdenlive `<m w>` - firefox `<m e>` - dolphin `<m en>` - st **dwmblocks:** `<mod a>` - agenda `<mod m>` - mail `<mod r>` - readme `<mod u>` - updater #### surf: `<shift ctrl enter>` - New tab `<shift ctrl l>` - Next higher number tab `<shift ctrl h>` - Next lower number tab Ctrl+Tab: Toggle between last 2 tabs Ctrl+1: Switch to tab 1 Ctrl+2: Switch to tab 2 - Ctrl+3: Switch to tab 3, etc. - Ctrl+q: Close this tab - Ctrl+t: Tab picklist - Ctrl+g: Go to URL (field on screen's upper left (not the browser window) opens for you to type) - Ctrl+h: Previous page in history, like back button on other browsers - Ctrl+r: Refresh/reload. - Ctrl+-: Zoom out a little - Shift+Ctrl++: Zoom in a little - Shift+Ctrl+q: Normal zoom - Ctrl+g: Go to URL (field on screen's upper left (not the browser window) opens for you to type) - Ctrl+p: Go to URL in cut and paste clipboard - Ctrl+y: Put current website URL into cut and paste clipboard - Ctrl+h: Previous page in history, like back button on other browsers - Ctrl+l: Undo the last Ctrl+h (go later in history) - Ctrl+r: Refresh/reload from cache. - Ctrl+Shift+r: Refresh/reload *without* cache - Ctrl+-: Zoom out a little - Shift+Ctrl++: Zoom in a little - Shift+Ctrl+q: Normal zoom, and note that this might not be the zoom the browser opened with, if the browser was set to open with a non-normal zoom. - Ctrl+o: Toggle "view source" - Ctrl+j: Down a little - Ctrl+k: Up a little - Ctrl+Space: Down a lot - Ctrl+b: Up a lot - Ctrl+i: Scroll left a little - Ctrl+u: Scroll right a little - F11: Toggle fullscreen - Shift+Ctrl+b: Toggle scrollbars - Shift+Ctrl+g: Toggle geolocation #### gimp: `<crtl l>` - transfomieren `<crtl i>` - invertieren #### scrot: `<mod s>` - make screenshot #### dfcitx: `<crtl space>` - Change global language input #### typora: `<c ,>` - settings `<c h>` - search for input `<crtl alt c>` - convert selected text to code `<crtl 1-6>` - convert to heading 1-6 #### mpv: `<a ->` - Zoom Out `<a +>` - Zoom In `o` - show progress `s` - Screenshot the current frame `S` - Cycle trough subtitels (.config/mpv/mpv.conf) `f` - toggle Fullscreen #### sxiv: `b` - hide bar `W` - fit image to window `<` - rotate image by 90 degrees. `?` - rotate image by 180 degrees. `+` - zoom Out `-` - zoom out `q` - quit sxiv #### zathura: `sp` - next page `D` - toggle double-page mode `r` - reload `R` - rotate `K` - zoom in `J` - zoom out `i` - invert colour `p` - print `g` - go to top `z` - zathura #### neomutt: `adduser mail -m -a mail bryan` - Add user bryan and add him to mail #### calibre `<crtl t>` - inhaltsverzeichnis `<crtl r>` - reload book #### audacity: `<crtl k>` - open keybindings menu `<crtl r>` - start recording `<crtl s>` - add new spur `<crtl e>` - export #### kdenlive `<c a k>` - open keybindings menu `<c a u>` - add subtitels `<c a h>` - add helpline `<c a en>` - render video `<s lc>` - bulk select `<c x>` - cutting tool `<c i>` - un-/hide inhalt `<c e>` - un-/hide effects `<c m>` - un-/hide menubar `<c ü>` - un-/hide effect configuration `<c +>` - zoom in `<c ->` - zoom out #### libreoffice: `<c k>` - open shortcut menu `<c a left>` - select to beginning of line `<c B>` - buchstaben kleiner stellen `<c e>` - export directly as PDF `<c 1-6>` - convert to heading 1-6 `<c o>` - optimal view #### goldendict: ` <crtl selct>` - opens word in goldendict `<crtl A>` - sends word to anki-deck ## commands: #### mv: `mv [filename]` - Rename file in cd #### rm: `rm [filename]` - Remove file `rm -r [directory]` - Remove directory #### ln: `ln -s a/directory/ ~/to/another` - Link a directory to another `sudo ln -s /home/script /usr/local/bin/script` - symlink script to global utitlites #### tar: `tar -czvf /var/backups/dokuwiki_pages_backup.tar.gz /var/www/dokuwiki/data/pages` - Erstelle ein Backup eines Directorys `tar -xzvf /var/backups/dokuwiki_pages_backup.tar.gz -C /var/www/dokuwiki/data/pages` - Spule das Backup ins Directory #### vim: `:%d` - delete everything in file `:%y` - copy everything in file #### adb: `adb backup -apk -noshared -all` - make backup of phone but without files `adb restore backup.ab` - Restore from backup #### man: `mandb` - aktualisiere Datenbank #### git: `git clone https://github.com/repository` - clone repository `git remote set-url origin git@github.com:marlonivo/example.git` - link your local-folder with server-repo `git-sync` - git pull --no-rebase origin main && git add . && git commit -m "Update" && git push origin main #### git-lfs: `git lfs install # in repo` - install lfs `git lfs track "file.txt"` - first track `git add .gitattributes` - then add this `git add file.txt` - then add the file `git commit -m "update"` - then commit `git push origin main` - then push #### php: `php -S localhost:8000` - start webserver on https://localhost:8000 #can be any number between 1-9999 #### ssh: `m-shh` - connect (as root) to marlonivo.xyz `ssh email@marlonivo.xyz` - connect (as mail) to marlonivo.xyz #### yt-dl: `yt [URL]` - download yt video from [URL] `yt-mp3 [URL]` - download audio of yt video from [URL] #### date: `date MMDDhhmmYYYY` - set time `date -u` - set time to utc #### rsync: *includes `.config/shell/aliasrc`:* `m-wesbite-sync` - push to marlonivo.xyz `s-website-sync` - push to sharks.marlonivo.xyz `d-website-pull` - pull from wiki.marlonivo.xyz `d-wesbite-push` - push to wiki.marlonivo.xyz `lib-push` - push to library.marlonivo.xyz #### sqlite: `CREATE TABLE tabelle` - create a new table called "tabelle" `ALTER TABLE tablle ADD COLUMN column_name TEXT;` - Add a column called column_name to "tabelle" `PRAGMA table_info(tabelle);` - look at the table called "tabelle" #### fdisk: `sudo fdisk` - start partitan manipulator #### artix: `useradd -G mail -m user` - Add a user called "user" to a group called "mail" `passwd [user]` - Give user a password `deluser user` - delete user #### pandoc: #### ffmpeg: `ffmpeg -i input.MP4 -vf "transpose=1" out.MP4` - Turn video 90 clockwise `ffmpeg -i track.mp3 -i cover.jpg -map 0:a -map 1:v -c:a copy -c:v mjpeg -metadata:s:v title="Album Cover" -metadata:s:v comment="Cover" output.mp3` - Give mp3 a cover `ffmpeg -i in.jpg -vf "transpose=1" output.jpg` - Turn picture 90 clockwise `ffmpeg -i in.MP4 -vf "scale=trunc(iw/10)*2:trunc(ih/10)*2" out.MP4` - compress video-quality to a fitfth `ffmpeg -i in.jpg -q:v 10 output.jpg` - Compress Picture (up to 31 Levels) `ffmpeg -i in.MP4 -vf "crop=iw-96:ih:96:0" out.MP4` - Crop video 5% on the left site `ffmpeg -f lavfi -i color=c=green:s=1280x720:d=80 -vf "drawtext=fontfile=/path/to/font.ttf:` - Create video with text `ffmpeg -i in.MP4 -ss 00:00:00 -t 00:00:60 -c copy out.MP4` - create mp4 with the first 60 seconds of input.mp4 `ffmpeg -i in.MP4 -map 0:v:0 -map 0:a:0 -c:v copy -c:a aac -b:a 192k out.MP4` - Extract only video and audio from mp4 #### pacman: `pacman -S [package]` - Install from Arch Repository `pacman -Syyu` - Update System & Packages `pacman -Rns $(pacman -Qdtq)` - Autoremove Reqiuerements that are no longer required `pacman -Qm` - List packages installed #### imagemagick `convert -density 300 input.pdf -quality 100 output.png` - hochauflösende konvertierung #### bluetoothctl: `power on` - turn bluetooth on `agent on` - set agent to on `default-agent` - set default-agent `scan on` - scan for available devices `dis/connect [XX:XX:XX:XX:XX:XX]` - dis/connect device