Gitfed
bastien-mrq/clip / README.md
README.md Code Preview

clip

Copie un fichier dans le presse-papier depuis le terminal — ⌘V le colle en pièce jointe.

clip met le fichier lui-même dans le presse-papier, exactement comme un ⌘C dans le Finder ou un Ctrl+C dans Nautilus. Un ⌘V (Ctrl+V sur Linux) dans Google Chat, Gmail, Slack ou un gestionnaire de fichiers le colle alors en pièce jointe.

Fini le glisser-déposer depuis une fenêtre Finder qu'il faut d'abord retrouver.

Démo de clip

Utilisation

clip rapport.pdf              # copie le fichier → ⌘V = pièce jointe
clip a.zip photo.jpg doc.pdf  # plusieurs fichiers d'un coup
clip -c notes.txt             # copie le CONTENU texte du fichier
clip -p rapport.pdf           # copie le chemin absolu
git diff | clip               # copie la sortie d'une commande (texte)
clip --help                   # aide

Fonctionne avec tout type de fichier : PDF, images, archives, vidéos, dossiers… et avec les noms contenant espaces et accents.

Installation

git clone https://git.neuromancer.ovh/bastien-mrq/clip.git
cd clip
chmod +x clip
sudo cp clip /usr/local/bin/

Linux uniquement — installer un outil presse-papier si absent :

# Wayland
sudo apt install wl-clipboard    # ou dnf / pacman
# X11
sudo apt install xclip

Sur macOS, rien à installer (osascript et pbcopy sont natifs).

Comment ça marche

  • macOS : le script écrit dans NSPasteboard via AppKit (JXA) une référence public.file-url par fichier, plus le format legacy NSFilenamesPboardType que Chrome utilise pour le collage multi-fichiers — la même chose qu'un ⌘C dans le Finder. Un court délai avant de quitter garantit que le serveur de presse-papiers a bien reçu tous les items (sans lui, seul le premier survit à la mort du processus).
  • Linux : les chemins sont copiés au format MIME text/uri-list (file:///…, encodage URI correct) via wl-copy (Wayland) ou xclip (X11). C'est le format que Chrome lit pour joindre des fichiers.
  • Le mode texte (-c, -p, stdin) utilise pbcopy / wl-copy / xclip / xsel.

Développement

La démo demo.gif est générée avec charmbracelet/vhs :

vhs demo.tape

Licence

GNU GPL v3 — © 2026 Bastien Marques.