https://github.com/jfmercer/dotfiles
These are my dot files.
https://github.com/jfmercer/dotfiles
dotfiles vim zsh
Last synced: 5 months ago
JSON representation
These are my dot files.
- Host: GitHub
- URL: https://github.com/jfmercer/dotfiles
- Owner: jfmercer
- License: gpl-3.0
- Created: 2015-06-07T19:01:47.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-23T22:44:55.000Z (over 1 year ago)
- Last Synced: 2024-10-24T11:54:44.876Z (over 1 year ago)
- Topics: dotfiles, vim, zsh
- Language: Shell
- Size: 588 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# My Dotfiles
These are my dotfiles, managed by [chezmoi](https://github.com/twpayne/chezmoi).
## Getting started
You can use the [convenience script](./scripts/install_dotfiles.sh) to install the dotfiles on any machine with a single command. Simply run one of the following commands in your terminal:
`wget`
```bash
bash -c "$(wget -qO- https://raw.githubusercontent.com/jfmercer/dotfiles/master/scripts/install_dotfiles.sh)"
```
`curl`:
```bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/jfmercer/dotfiles/master/scripts/install_dotfiles.sh)"
```
## Convenience script
The [getting started](#getting-started) step used the [convenience script](./scripts/install_dotfiles.sh) to install this dotfiles. There are some extra options that you can use to tweak the installation if you need.
It supports some environment variables:
- `DOTFILES_REPO_HOST`: Defaults to `https://github.com`.
- `DOTFILES_USER`: Defaults to `jfmercer`.
- `DOTFILES_BRANCH`: Defaults to `master`.
For example, you can use it to clone and install the dotfiles repository at the `beta` branch with:
```console
DOTFILES_BRANCH=foobar /usr/bin/env bash -c "$(curl -fsSL https://raw.githubusercontent.com/jfmercer/dotfiles/master/scripts/install_dotfiles.sh)"
```
## Troubleshooting
### Debug Installation
Add `DOTFILES_DEBUG=true` to get debug output during the installation.
## vim
#### Key Mappings
* `ESC` is now `jk`. This will save your left pinky from a premature death.
* `F2` toggles paste.
* `F3` toggles NERDTree.
* `F4` toggles tagbar.
* `,ev` edits your vimrc. The mnemonic is 'e'dit 'v'imrc.
* `,sv` sources your vimrc. The mnemonic is 's'ource 'v'imrc.
### Plugins
##### [Fugitive](https://github.com/tpope/vim-fugitive)
To quote Tim Pope, it's "a Git wrapper so awesome, it should be illegal."
##### [Surround](https://github.com/tpope/vim-surround)
This handles the surrounding of text objects with parentheses, brackets, quotes, tags, etc.
Use `cs`, `ds`, `ys`, & `yss`. See [the documentation](https://github.com/tpope/vim-surround#surroundvim) or run `:help surround`.
##### [NERDTree](https://github.com/scrooloose/nerdtree)
A file tree explorer. Basically, the project drawer you may be missing from Textmate and Sublime Text.
##### [NERD Commenter](https://github.com/scrooloose/nerdcommenter)
This makes commenting much easier. Select something, `[count]cc`, done.
##### [Tagbar](https://github.com/majutsushi/tagbar)
Tagbar is for browsing the tags of source code files. It needs to have [Exuberant ctags](http://ctags.sourceforge.net/) installed in order to work.
##### [Syntastic](https://github.com/scrooloose/syntastic)
Syntastic brings syntax checking to vim. As soon as you save a file, syntastic will check it for syntax errors and list them on the left-hand column. Note that it works with supported syntax checks, and if these are not installed, it won't work. For example, for Python, you need to have `flake8`, `pyflakes`, or `pylint` in your `$PATH`. Jump between errors with `:lnext` and `:lprev`.
##### [Easy Motion](https://github.com/Lokaltog/vim-easymotion)
Easy Motion makes it much, much easier to move the cursor around the screen. See @Lokaltog's [introduction](https://github.com/Lokaltog/vim-easymotion#introduction) for details. The short version: hit `` followed by a motion key (say, `w`) and then watch the magic happen.
##### [vim-airline](https://github.com/bling/vim-airline)
A beautiful and very useful vim status line. For this to work properly, you may have to install Powerline-ready fonts, four of which [may be found here](https://github.com/jfmercer/mad/tree/master/fonts).
##### [vim-monokai](https://github.com/sickill/vim-monokai)
Adds the monokai color scheme.
##### [delimitMate](https://github.com/Raimondi/delimitMate)
Provides insert mode auto-completion for quotes, parentheses, brackets, etc.
### A Note on Go Templates
Apparently, `{{-` strips leading whitespace, `-}}` strips trailing whitespace, and both `{{` and `}}` do neither.
## Credits
I have borrowed heavily from the following:
* [Zach Holman](https://github.com/holman/dotfiles) - I borrow his topical organization scheme
* [Mathias Bynens](https://github.com/mathiasbynens/dotfiles) - mainly for his legendary .macos script
* [Felipe Santos](https://github.com/felipecrs/dotfiles) - chezmoi inspiration
* [Mike Kasberg](https://github.com/mkasberg/dotfiles) - chezmoi inspiration
* [Tom Payne](https://github.com/twpayne/dotfiles) - chezmoi inspiration