Tech, compressed

Small tutorials on various development/sysadmin tools

Trick to shift lines in Vim

It’s easy to select lines in visual mode, delete them, then paste them a few lines lower. However, this won’t adjust the indentation to match surrounding code. Instead, add the following to your vimrc (or init.vim): " Move visual selectionvnoremap K :m '<-2<cr>gv=gvvnoremap J :m '>+1<cr>gv=gvThen select lines using visual mode (v or V) and press J or K to shift them down or up one line, respectively. This will also adjust the indentation properly (the same as pressing = while selecting the lines)....

May 21, 2021 · 1 min · Kian Kasad

Ignoring Files - Intro to Git part 6

Sometimes you don’t want git to track files in a repository. Maybe you’re working on a Java project and you want Git to silently ignore all files ending in .class. Or maybe it’s a C program and you want Git to ignore *.o. Either way, there are two ways to accomplish this. The gitignore file Git has a few special files that you can use to affect how Git operates. One of these is the ....

February 8, 2021 · 3 min · Kian Kasad

Checking Out - Intro to Git part 5

In the previous tutorial, the checkout subcommand was used to switch betweeen branches, but there’s a lot more that it can do. “Checking out” is how you switch between different points of the repository’s history. You can checkout branches, tags, and commits. Tags Tags are just named pointers to commits (with optional extra data). They’re usually used for marking versions of software, which makes it really easy to jump between versions in a git repository....

December 1, 2020 · 3 min · Kian Kasad

Branching and Merging - Intro to Git part 4

If you’ve followed along with the previous tutorials, you now know how to work with commits, stage files, view the commit log, and maybe a few other things. Now it’s time to use one of git’s most useful features: branching. What is a branch? In reality, a branch is just a named pointer to a commit. But for most purposes, thinking of a branch like a branch of a tree is fine....

August 28, 2020 · 3 min · Kian Kasad

Staging Areas - Intro to Git part 3

What are staging areas? When you run git status after modifying some files, you’ll see something like this: On branch master Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: file1.txt modified: file8.txt Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: file2.txt modified: file4.txt Untracked files: (use "git add <file>....

August 25, 2020 · 5 min · Kian Kasad