From 073b8c2efce5c5a634d938d5ee86c836e22e3183 Mon Sep 17 00:00:00 2001 From: luxagraf Date: Mon, 5 Jun 2023 08:53:59 -0500 Subject: tech: added some notes on git annex and a bash vi mode cheat sheet --- tech/bash-vi-editing-mode-cheat-sheet.txt | 165 ++++++++++++++++++++++++++++++ tech/git-annex-photo-workflow.txt | 36 +++++++ 2 files changed, 201 insertions(+) create mode 100644 tech/bash-vi-editing-mode-cheat-sheet.txt create mode 100644 tech/git-annex-photo-workflow.txt diff --git a/tech/bash-vi-editing-mode-cheat-sheet.txt b/tech/bash-vi-editing-mode-cheat-sheet.txt new file mode 100644 index 0000000..8466cff --- /dev/null +++ b/tech/bash-vi-editing-mode-cheat-sheet.txt @@ -0,0 +1,165 @@ +.--------------.------------------------------------------------------------. +| | | +| Shortcut | Description | +| | | +'--------------'------------------------------------------------------------' +| Switching to COMMAND Mode: | +'--------------.------------------------------------------------------------' +| ESC | Switch to command mode. | +'--------------'------------------------------------------------------------' +| Commands for Entering INPUT Mode: | +'--------------.------------------------------------------------------------' +| i | Insert before cursor. | +'--------------+------------------------------------------------------------' +| a | Insert after cursor. | +'--------------+------------------------------------------------------------' +| I | Insert at the beginning of line. | +'--------------+------------------------------------------------------------' +| A | Insert at the end of line. | +'--------------+------------------------------------------------------------' +| c | Change text of a movement command (see below). | +'--------------+------------------------------------------------------------' +| C | Change text to the end of line (equivalent to c$). | +'--------------+------------------------------------------------------------' +| cc or S | Change current line (equivalent to 0c$). | +'--------------+------------------------------------------------------------' +| s | Delete a single character under the cursor and enter input | +| | mode (equivalent to c[SPACE]). | +'--------------+------------------------------------------------------------' +| r | Replaces a single character under the cursor (without | +| | leaving command mode). | +'--------------+------------------------------------------------------------' +| R | Replaces characters under cursor. | +'--------------+------------------------------------------------------------' +| v | Edit (and execute) the current command in the text editor. | +| | (an editor defined in $VISUAL or $EDITOR variables, or vi | +'--------------'------------------------------------------------------------' +| Basic Movement Commands (in command mode): | +'--------------.------------------------------------------------------------' +| h | Move one character right. | +'--------------+------------------------------------------------------------' +| l | Move one character left. | +'--------------+------------------------------------------------------------' +| w | Move one word or token right. | +'--------------+------------------------------------------------------------' +| b | Move one word or token left. | +'--------------+------------------------------------------------------------' +| W | Move one non-blank word right. | +'--------------+------------------------------------------------------------' +| B | Move one non-blank word left. | +'--------------+------------------------------------------------------------' +| e | Move to the end of the current word. | +'--------------+------------------------------------------------------------' +| E | Move to the end of the current non-blank word. | +'--------------+------------------------------------------------------------' +| 0 | Move to the beginning of line | +'--------------+------------------------------------------------------------' +| ^ | Move to the first non-blank character of line. | +'--------------+------------------------------------------------------------' +| $ | Move to the end of line. | +'--------------+------------------------------------------------------------' +| % | Move to the corresponding opening/closing bracket. | +'--------------'------------------------------------------------------------' +| Character Finding Commands (these are also Movement Commands): | +'--------------.------------------------------------------------------------' +| fc | Move right to the next occurance of char c. | +'--------------+------------------------------------------------------------' +| Fc | Move left to the previous occurance of c. | +'--------------+------------------------------------------------------------' +| tc | Move right to the next occurance of c, then one char | +| | backward. | +'--------------+------------------------------------------------------------' +| Tc | Move left to the previous occurance of c, then one char | +| | forward. | +'--------------+------------------------------------------------------------' +| ; | Redo the last character finding command. | +'--------------+------------------------------------------------------------' +| , | Redo the last character finding command in opposite | +| | direction. | +'--------------+------------------------------------------------------------' +| | | Move to the n-th column (you may specify the argument n by | +| | typing it on number keys, for example, 20|) | +'--------------'------------------------------------------------------------' +| Deletion Commands: | +'--------------.------------------------------------------------------------' +| x | Delete a single character under the cursor. | +'--------------+------------------------------------------------------------' +| X | Delete a character before the cursor. | +'--------------+------------------------------------------------------------' +| d | Delete text of a movement command (see above). | +'--------------+------------------------------------------------------------' +| D | Delete to the end of the line (equivalent to d$). | +'--------------+------------------------------------------------------------' +| dd | Delete current line (equivalent to 0d$). | +'--------------+------------------------------------------------------------' +| CTRL-w | Delete the previous word. | +'--------------+------------------------------------------------------------' +| CTRL-u | Delete from the cursor to the beginning of line. | +'--------------'------------------------------------------------------------' +| Undo, Redo and Copy/Paste Commands: | +'--------------.------------------------------------------------------------' +| u | Undo previous text modification. | +'--------------+------------------------------------------------------------' +| U | Undo all previous text modifications. | +'--------------+------------------------------------------------------------' +| . | Redo the last text modification. | +'--------------+------------------------------------------------------------' +| y | Yank a movement into buffer (copy). | +'--------------+------------------------------------------------------------' +| yy | Yank the whole line. | +'--------------+------------------------------------------------------------' +| p | Insert the yanked text at the cursor. | +'--------------+------------------------------------------------------------' +| P | Insert the yanked text before the cursor. | +'--------------'------------------------------------------------------------' +| Commands for Command History: | +'--------------.------------------------------------------------------------' +| k | Insert the yanked text before the cursor. | +'--------------+------------------------------------------------------------' +| j | Insert the yanked text before the cursor. | +'--------------+------------------------------------------------------------' +| G | Insert the yanked text before the cursor. | +'--------------+------------------------------------------------------------' +| /string or | Search history backward for a command matching string. | +| CTRL-r | | +'--------------+------------------------------------------------------------' +| ?string or | Search history forward for a command matching string. | +| CTRL-s | (Note that on most machines Ctrl-s STOPS the terminal | +| | output, change it with `stty' (Ctrl-q to resume)). | +'--------------+------------------------------------------------------------' +| n | Repeat search in the same direction as previous. | +'--------------+------------------------------------------------------------' +| N | Repeat search in the opposite direction as previous. | +'--------------'------------------------------------------------------------' +| Completion commands: | +'--------------.------------------------------------------------------------' +| TAB or = or | List all possible completions. | +| CTRL-i | | +'--------------+------------------------------------------------------------' +| * | Insert all possible completions. | +'--------------'------------------------------------------------------------' +| Miscellaneous commands: | +'--------------.------------------------------------------------------------' +| ~ | Invert case of the character under cursor and move a | +| | character right. | +'--------------+------------------------------------------------------------' +| # | Prepend '#' (comment character) to the line and send it to | +| | the history. | +'--------------+------------------------------------------------------------' +| _ | Inserts the n-th word of the previous command in the | +| | current line. | +'--------------+------------------------------------------------------------' +| 0, 1, 2, ... | Sets the numeric argument. | +'--------------+------------------------------------------------------------' +| CTRL-v | Insert a character literally (quoted insert). | +'--------------+------------------------------------------------------------' +| CTRL-r | Transpose (exchange) two characters. | +'--------------'------------------------------------------------------------' + + + =========================================================================== + +.---------------------------------------------------------------------------. +| Created by Peter Krumins (peter@catonmat.net, @pkrumins on twitter) | +| www.catonmat.net -- good coders code, great coders reuse | +'---------------------------------------------------------------------------' diff --git a/tech/git-annex-photo-workflow.txt b/tech/git-annex-photo-workflow.txt new file mode 100644 index 0000000..d429541 --- /dev/null +++ b/tech/git-annex-photo-workflow.txt @@ -0,0 +1,36 @@ +Git annex use in workflow - Software - discuss.pixls.us + +Setting up git-annex + +Create the repository and initialize it. +~$ cd ~/ +~$ mkdir Photographs +~$ cd Photographs +~$ git init +~$ git-annex init "My beautiful photographs" +Create a backup repository and initialize it. +~$ cd /media/external/ +~$ mkdir Photographs-backup +~$ cd Photographs-backup +~$ git init +~$ git-annex init "A backup of my beautiful photographs" +Let the repositories know about one another: +From ~/Photographs: +~$ git remote add backup /media/external/Photographs-backup +From /media/external/Photographs-backup: +~$ git remote add homedir ~/Photographs +Tell git-annex to keep multiple copies of your files. +~$ echo "*.nef annex.numcopies=2" >> .gitattributes +Tell git-annex to ignore XMP files so you can check them into git (requires git annex version 6.20160126). +~$ echo "*.xmp annex.largefiles=nothing" >> .gitattributes +Add some content. +~$ rsync -rvP --progress /media/camera/DCIM/ ~/Photographs/ +~$ cd ~/Photographs/ +~$ git-annex add . # note it isn't git add . +~$ git commit -m "Added photos from today's walk." +Sync the content between the repositories. +~$ cd ~/Photographs +~$ git-annex sync --content + + +visit site:https://discuss.pixls.us/t/git-annex-use-in-workflow/2028/7 -- cgit v1.2.3-70-g09d2