Published multiple files
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
This commit is contained in:
113
content/10-19 LIFE/13 TECH SETUP/13.11 APPS/atuin.md
Normal file
113
content/10-19 LIFE/13 TECH SETUP/13.11 APPS/atuin.md
Normal file
@@ -0,0 +1,113 @@
|
||||
---
|
||||
publish: true
|
||||
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/atuin.md
|
||||
title: atuin
|
||||
created: 2026-01-30T08:29:14.283-07:00
|
||||
modified: 2026-02-05T09:11:56.236-07:00
|
||||
tags:
|
||||
- shell
|
||||
- history
|
||||
- sync
|
||||
cssclasses: ""
|
||||
---
|
||||
|
||||
Atuin replaces your shell history with a SQLite database, providing better search, sync across machines, and detailed statistics. It's magical for finding that command you ran three weeks ago.
|
||||
|
||||
## Installation
|
||||
|
||||
**Quick install (recommended):**
|
||||
```bash
|
||||
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
|
||||
```
|
||||
|
||||
**Arch Linux:**
|
||||
```bash
|
||||
sudo pacman -S atuin
|
||||
```
|
||||
|
||||
## Shell Integration
|
||||
|
||||
Add to your shell config:
|
||||
|
||||
**Bash** (`~/.bashrc`):
|
||||
```bash
|
||||
eval "$(atuin init bash)"
|
||||
```
|
||||
|
||||
**Zsh** (`~/.zshrc`):
|
||||
```bash
|
||||
eval "$(atuin init zsh)"
|
||||
```
|
||||
|
||||
**Fish** (`~/.config/fish/config.fish`):
|
||||
```fish
|
||||
atuin init fish | source
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Interactive search
|
||||
Press `Ctrl+r` (or `Up` with config) to open the interactive search:
|
||||
- Type to filter
|
||||
- `Enter` to execute
|
||||
- `Tab` to edit before running
|
||||
- `Ctrl+r` to cycle through filter modes
|
||||
|
||||
### Filter modes
|
||||
| Mode | Description |
|
||||
|------|-------------|
|
||||
| Global | All history across machines |
|
||||
| Host | Current machine only |
|
||||
| Session | Current shell session |
|
||||
| Directory | Commands run in this directory |
|
||||
|
||||
### Commands
|
||||
```bash
|
||||
# Search from CLI
|
||||
atuin search "docker"
|
||||
|
||||
# Show stats
|
||||
atuin stats
|
||||
|
||||
# Manual sync
|
||||
atuin sync
|
||||
```
|
||||
|
||||
## Sync Setup (Optional)
|
||||
|
||||
Register for free sync:
|
||||
```bash
|
||||
atuin register -u <username> -e <email>
|
||||
atuin login -u <username>
|
||||
atuin sync
|
||||
```
|
||||
|
||||
Or self-host the sync server.
|
||||
|
||||
## Configuration
|
||||
|
||||
`~/.config/atuin/config.toml`:
|
||||
```toml
|
||||
[settings]
|
||||
# Use up arrow for atuin instead of ctrl+r
|
||||
keymap_mode = "vim-normal"
|
||||
|
||||
# Search mode: prefix, fulltext, fuzzy
|
||||
search_mode = "fuzzy"
|
||||
|
||||
# Filter by default
|
||||
filter_mode = "host"
|
||||
|
||||
# Show preview of full command
|
||||
show_preview = true
|
||||
|
||||
# Sync settings
|
||||
auto_sync = true
|
||||
sync_frequency = "5m"
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
- Atuin stores history in `~/.local/share/atuin/history.db`
|
||||
- Use `atuin history list` to export/inspect
|
||||
- Prefix sensitive commands with a space to exclude from history
|
||||
Reference in New Issue
Block a user