终端下命令和路径的复制

环境

macos + iterm2+tmux

需求

  1. 快速复制当前终端里面的命令
  2. 复制当前目录的绝对路径
  3. 复制文件的绝对路径

现在做法

  1. shift+cmd+z 实现当前命令复制
  2. 命令行输入cn实现目录复制
  3. 命令式输入cn+文件名或者子目录名 实现绝对路径复制

觉得方便就往下看哦


方式2和3实现比较简单, 在.zshrc里面添加如下内容即可

function cn {
    if [ $# -eq 0 ]
    then
        echo "$(pwd)" | xargs echo -n | pbcopy && pwd
    else
        echo -n $(pwd)/$1 | pbcopy && echo $(pwd)/$1
    fi
}

xargs起到去除换行符的功能,pbcopy负责粘贴到剪贴板,$#是输入参数的个数

方式1有点麻烦,必须配合tmux使用,不过tmux应该人手必备了

  1. 在iterm2里面开启剪贴板支持

    新版本iterm2里面提供了搜索功能,搜索clipboard即可
  2. .tmux/plugins下新建一个copy_line.sh的脚本,如下
#!/usr/bin/env bash
main() {
    tmux send-key 'C-a'
    tmux copy-mode
    tmux send-key 'Space'
    tmux send-key '$'
    tmux send-key 'b'
    tmux send-key 'e'
    tmux send -X copy-pipe-and-cancel "pbcopy"
    tmux send-key 'C-e'
    tmux display-message 'Line copied to clipboard!'
}
main

.tmux.conf里面添加

setw -g mode-keys vi

bind-key "y" run-shell -b "/Users/carry/.tmux/plugins/copy_line.sh"

到此,通过prefix+y比如我就是ctrl b和y就可以复制当前命令

  1. 设置快捷键

    这里的0x02就是ctrl+b, 0x79是y,可以在linux下用show-key -a命令来查看按键的映射
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值