bastien-mrq/clip
publicowner: bastien-mrq@git.neuromancer.ovh
2 commits · 1 contributors
https://git.neuromancer.ovh/bastien-mrq/clip.git
ssh://git@git.neuromancer.ovh:2222/bastien-mrq/clip.git
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.

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
NSPasteboardvia AppKit (JXA) une référencepublic.file-urlpar fichier, plus le format legacyNSFilenamesPboardTypeque 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) viawl-copy(Wayland) ouxclip(X11). C'est le format que Chrome lit pour joindre des fichiers. - Le mode texte (
-c,-p, stdin) utilisepbcopy/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.