←back to thread

700 points yen223 | 8 comments | | HN request time: 0.884s | source | bottom
1. gkfasdfasdf ◴[] No.42061451[source]
pbcopy and pbpaste are handy, for a version that works over ssh connections there is osc: https://github.com/theimpostor/osc
replies(4): >>42061773 #>>42064063 #>>42065164 #>>42072500 #
2. pmarreck ◴[] No.42061773[source]
since I switch between linux and macos a lot I wrote a dotfile function called "clip" that will work the same on both. nice thing is it will automatically paste if nothing is piped to it to copy so there's no need to use separate commands... although I just realized it might be nice to have a "passthrough" mode that both copies and pastes if you add this to a pipeline in order to capture some intermediate part to the clipboard

    if [[ "$(uname)" == "Darwin" ]]; then
      clip() {
        [ -t 0 ] && pbpaste || pbcopy
      }
    else # assume linux if not macos
      clip() {
        [ -t 0 ] && xclip -o -selection clipboard || xclip -selection clipboard
      }
    fi
replies(2): >>42061888 #>>42066841 #
3. gkfasdfasdf ◴[] No.42061888[source]
That's handy, thanks! `osc copy` may also take args for files to copy to the clipboard, but in the absence of that and no data on stdin it maybe should switch to paste.
4. hk1337 ◴[] No.42064063[source]
I copied this functionality to linux it's been so useful.
5. pak9rabid ◴[] No.42065164[source]
At my job I have to work with a lot of JSON that's usually minimized. This command has single-handedly saved my sanity:

$ pbpaste | jq | pbcopy

Then I can paste it into whatever text editor I want and it's all nice & pretty-printed for me.

Bonus is that I don't have to change the command at all, just copy the minimized JSON to the clipboard (say from DBeaver, for example), then hit the 'up' arrow and enter.

replies(1): >>42066850 #
6. hk1337 ◴[] No.42066841[source]
I went the route of managing a different set of dotfiles for linux and macOS. Same repository, just different branches.

Also, falling back to using oh-my-zsh functionality.

7. mfonda ◴[] No.42066850[source]
I never knew that jq without any arguments pretty-printed JSON. Very useful, and great tip to combine with pbcopy/pbpaste.
8. DvdGiessen ◴[] No.42072500[source]
Copying using OSC52 is great! I have a cross-platform shell function for that in my bashrc [1], as well as an implementation that works in vim [2].

[1]: https://github.com/DvdGiessen/dotfiles/blob/2c02332b4a657690... [2]: https://github.com/DvdGiessen/dotfiles/blob/2c02332b4a657690...