Bash

如何在 bash 上獲取剪貼板作為 Vim 的輸入文件名?

  • January 8, 2019

我安裝xclip訪問系統剪貼板,我的設置和一些操作如下:

➜  ~ cat .zshrc | grep xclip
alias c="xclip -selection c"
alias v="xclip -selection c -o"
➜  ~ which dict | c
➜  ~ v       
/usr/bin/dict
➜  ~ sudo vim ??  

/usr/bin/dict是一個python腳本。我想知道的是什麼可以替代??我的最後一個命令可以使用 vim 打開文件/usr/bin/dict

鑑於您目前的設置

sudo vim "$(v)"

將使用命令替換來執行您的別名v並將其輸出插入到命令行中以在執行它之前執行,因此它最終會執行sudo vim /usr/bin/dict。引號確保它作為單個參數出現,並$(...)處理執行命令並擷取其輸出。

這僅適用於您的互動式 shell,因為別名不在其他地方使用。如果您想從腳本訪問它,您可以在PATH變數中的某個位置創建一個小腳本,其中包含相同的命令。


您已標記此bash但隨後顯示了來自 的摘錄.zshrc,因此還要注意 zsh 具有可在任何地方擴展的“全域別名”:

alias -g v='"$(xclip -selection c -o)"'

然後只需執行sudo vim v並免費進行。全域別名幾乎總是比它們的價值更麻煩,所以我不建議這樣做,但根據你的使用模式,一些全域別名可能會很方便(如果你這樣做,我建議使用更長和更不尋常的名稱:put some奇怪的標點符號可以幫助避免錯誤地執行它,so alias -g v# ...or @vor ^vor something)。

引用自:https://unix.stackexchange.com/questions/493171