95 lines
No EOL
3.6 KiB
Markdown
95 lines
No EOL
3.6 KiB
Markdown
# Archlinux Config
|
|
|
|
Ela's Archlinux Configfiles
|
|
|
|
## Features and Usage
|
|
|
|
### Terminal
|
|
|
|
This setup uses a powerful combination of [Alacritty](https://github.com/jwilm/alacritty), [tmux](https://github.com/tmux/tmux) and [zsh](https://www.zsh.org/) with a minimalistic prompt.
|
|
|
|
### Commands
|
|
|
|
- `pacu`: Update and upgrade the whole system (using `Brewfile` on macOS and `pacmanfile` on Arch Linux)
|
|
- `depu`: Update and upgrade the dependencies for the current project
|
|
- `mkcd`: Create a directory and enter it
|
|
- `fcd`: cd into a directory using fuzzy search
|
|
- `fe`: Edit a directory or file using fuzzy search
|
|
- `fco`: Checkout Git branches or tags using fuzzy search
|
|
- `fkill`: Kill any process with fuzzy search
|
|
- `fshow`: Git commit browser with fuzzy search
|
|
|
|
### Text Editor
|
|
|
|
Text editing is based on [Neovim](https://neovim.io/), configured to be an "IDE".
|
|
|
|
- `e`: Start Neovim with all plugins
|
|
- `ide`: Start Neovim with all plugins in an IDE like window layout
|
|
|
|
#### Navigation
|
|
|
|
- `gd`: Go to definition of symbol under cursor
|
|
- `gi`: Go to implementations of symbol under cursor
|
|
- `gr`: Go to references of symbol under cursor
|
|
- `<space><space>`: Fuzzy search files in workspace
|
|
- `<space>/`: Fuzzy search in all files in workspace
|
|
- `<space>j`: Open visual file explorer
|
|
|
|
#### Git
|
|
|
|
- `<space>gg`: Git status
|
|
- `<space>gd`: Git diff
|
|
- `<space>gb`: Git blame
|
|
- `<space>gs`: Git stage current hunk
|
|
- `<space>gu`: Git unstage current hunk
|
|
- `<space>gc`: Git commit
|
|
- `<space>gm`: Git three-way merge
|
|
|
|
#### Diagnostics and Refactoring
|
|
|
|
- `K`: Show signature of symbol under cursor
|
|
- `[d`: Go to previous diagnostic issue
|
|
- `d]`: Go to next diagnostic issue
|
|
- `<space>e`: Show diagnostics details
|
|
- `<space>s`: Open workspace diagnostics
|
|
- `<space>k`: Open symbols outline of file
|
|
- `<space>r`: Rename current symbol
|
|
- `<space>a`: Display code actions
|
|
|
|
#### Testing
|
|
|
|
- `<space>tn`: Run nearest test to cursor
|
|
- `<space>tf`: Run all tests in file
|
|
- `<space>ta`: Run all tests
|
|
- `<space>tu`: Toggle extended testing UI
|
|
|
|
#### Debugging
|
|
|
|
- `<space>db`: Toggle breakpoint on current line
|
|
- `<space>dB`: Set condition for breakpoint
|
|
- `<space>dd`: Start debugger or continue to next breakpoint
|
|
- `<space>dn`: Step over
|
|
- `<space>di`: Step into
|
|
- `<space>do`: Step out
|
|
- `<space>dK`: Show evaluation of symbol under cursor
|
|
- `<space>du`: Toggle extended debugging UI
|
|
|
|
#### Add Languages and Tools
|
|
|
|
To extend the editor with new languages and tools, simply add them to [`tools.lua`](./nvim/.config/nvim/lua/config/tools.lua).
|
|
|
|
## Installation
|
|
|
|
1. Clone this repo to `~/dotfiles` by running `git clone https://git.pew.io/phil/elas-arch-config.git ~/dotfiles`
|
|
2. Change the name and email address in `git/.config/git/config`
|
|
3. Arch Linux only: Change `pacmanfile/.config/pacmanfile/pacmanfile.txt` to your liking or add `pacmanfile-extra.txt` to the same directory for independent packages per machine
|
|
|
|
4. Run `~/dotfiles/install.sh`
|
|
|
|
**WARNING: This may install and/or remove software and change your configs!**
|
|
|
|
5. Either import an existing PGP key pair by using `gpg --import my-key.asc` and `gpg --import my-key-pub.asc`, or create a new one by following the [GitHub guide](https://help.github.com/en/articles/generating-a-new-gpg-key). You need to use the same name and email address as an ID that you have configured in `git/.gitconfig` to correctly sign your Git commits.
|
|
6. Either import an existing SSH key pair by copying it to `~/.ssh/id_rsa` and `~/.ssh/id_rsa.pub` or create a new one by following the [GitHub guide](https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent).
|
|
|
|
|
|
## Forked from https://github.com/cloudlena/dotfiles |