Save clipboard to file using xclip


Khi mình lướt web thì để mà lưu lại thông tin gì hay, thì mình phải mở file lên vào copy và paste vào. Đôi khi thấy cúng bất tiện và lâu. Thì mình phát hiện xclip giúp mình copy nhanh hơn. Hôm nay mình sẽ hướng dẫn các bạn dùng xclip để xây dựng tool để copy text vào file rầt nhanh. Ta sẽ copy bất kỳ nội dung gì bằng cách tô đen nội dung đó và nhấn tổ hợp phím 'cmd + m' sẽ tự động lưu vào file ~/.config/i3/scripts/clipnote.txt, và nhấn 'cmd+i' sẽ mở fie clipnote.txt lên xem.

Ta bắt đầu cài xclip nhé.

sudo pacman -S xclip

ví dụ ta gõ lệnh sau:

[dt]% date
Thứ sáu, 28 Tháng 1 năm 2022 05:43:37 +07

[dt-arco:~]

Sẽ in ra thời gian.

Nếu ta gỏ như sau, thì thời gian sẽ được gởi qua xclip

[dt]% date |xclip
[dt-arco:~]

Để paste ta chỉ cần nhấn middle mouse( chuột giữa).

[dt]% Thứ sáu, 28 Tháng 1 năm 2022 05:43:44 +07

Bây giở ta sẽ viết 1 script để lưu từ xclip vào file.

[dt]% cat clipboard-file.sh  
#!/usr/bin/zsh
cd ~/.config/i3/scripts/ && echo "$(xclip -o)" >> clipnote.txt

Ta thêm permission thực thi cho file clipboard-file.sh

sudo chmod +x clipboard-file.sh

Ta chạy script trên bằng ./clipboard-file.sh. Nhưng không lẽ mỗi lần muốn copy vào file ta phải gõ như trên thì rất cực.Bây giờ ta dùng i3 để quản lý khi nhấn "cmd+m" thì sẽ chạy script trên. Như vậy rất nhanh.

[dt]% nvim ~/.config/i3/config

bindsym $mod+m exec --no-startup-id    ~/.config/i3/scripts/clipboard-file.sh
bindsym $mod+i exec --no-startup-id    ~/.config/i3/scripts/open-clipnote.sh

CMD + Shift + r : để khởi động lại i3

Để xem file clipnote.txt ta nhấn tổ hợp phím "cmd+i". Ta xem qua file open-clipnote.sh nhé

[dt]% cat open-clipnote.sh   
#!/usr/bin/zsh
tmux kill-server
tmux new -d -s note 'cd ~/.config/i3/scripts/ && nvim clipnote.txt'
xfce4-terminal -e 'zsh -c "tmux a -t note"'
[dt-arco:scripts]

Như vậy ta ta đã xây dựng được cách copy và paste vào file siêu nhanh. ^_^