Attempting to stick to an ethos of understanding my tools, I try to take my vim configuration as far as possible before reaching for a plugin. Not that plugins are bad. In fact, there are some that I’d have a hard time living without (thanks to Tim Pope). But in doing so, I always manage to learn something about Vim itself which is part of the joy of learning it in the first place. So let’s see what Vim has for us under the hood.
If you learn better by video, this is a great one to get you up and running quick. …
Today we’ll look at aliasing two options,
-v, to three common Unix commands,
Add the following lines to the file where you keep your aliases:
alias cp="cp -iv"
alias mv="mv -iv"
alias rm="rm -iv"
Be sure to source the file into an existing session with
source <path/to/your/aliases> or instantiate a new session by running
zsh or by opening a new terminal window.
The option flags we will be using are very comparable between commands
-i has a slightly different behavior depending on the command that precedes it, but I generally like to think of it in this context as an option to prompt before destructive actions are allowed. For example, the documentation for the
mv command states that
-i will “cause `mv` to write a prompt to standard error before moving a file that would overwrite an existing…
Previous: Part 1 — Setup
In part one we did some basic setup to get the history mechanism working in Zsh. In this article we will explore a few options to customize the Zsh environment using
setopt in the .zshrc. The full list of options can be found in the documentation.
Default behavior is to overwrite the existing history file upon shell exit. The following are all methods of appending rather than rewriting the file — taking advantage of that potentially massive history size we set up in part one.
The difference being that
APPEND_HISTORY appends lines in the order in which each session is closed while
INC_APPEND_HISTORY adds lines to the history in the order in which they are executed.
SHARE_HISTORY is the equivalent of
INC_APPEND_HISTORY but also imports new commands, allowing lines to be shared across multiple open sessions. …
Next: Part 2 — Options
I recently combed through the dot (hidden) files in my mac’s home directory and was shocked to see just how polluted it had become. Now I know that there is no real downside to leaving these files where they were, but as I prefer to keep my development environment nice and tidy, I took the opportunity to take a closer look into some configurations that I had ignored up to this point.
If you are unfamiliar with the types of zsh configuration files and their uses, I recommend looking through this article in a great series over at scriptingosx.com. For this example we will keep everything in the .zshrc file. If one doesn’t already exist in your home folder, in the terminal run
touch .zshrc …