Bash
如何在 bash 上獲取剪貼板作為 Vim 的輸入文件名?
我安裝
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奇怪的標點符號可以幫助避免錯誤地執行它,soalias -g v# ...
or@v
or^v
or something)。