终端:中间点击/上下文菜单的开放路径?
我花了很多时间复制grep输出的路径,并在打开可视化编辑器的命令后粘贴它们。
有没有一种方法可以编写终端仿真器来打开特定编辑器中的选定文本? 也许中间点击选定的文字,或者加上上下文菜单?
这可能是某些终端的function我不知道吗?
创建一个脚本:
nano ~//open_selection
包括以下代码:
#!/bin/bash selected_text=$(xclip -o) if [[ "$selected_text" == ~* ]]; then file_name=$(readlink -f ${selected_text/\~/$HOME}) else file_name="$selected_text" fi notify-send "Open selection" "$file_name" xdg-open "$file_name"
*您可以使用您选择的其他命令替换xdg-open
,以使用此程序打开选择。
使脚本可执行
chmod +x ~//open_selection
为此脚本创建快捷方式。
然后只在终端中选择文件名并使用快捷方式。 不需要通过剪贴板绕道而行。
你可以做的另一种方法是将grep
输出解析为你选择的文本编辑器的参数。 例如
COMMAND | grep -i filename | xargs nano
在这种情况下,nano只是一个占位符。 你可以使用你想要的任何文本编辑器。 您可能想要做的是在文本编辑器名称前添加nohup
,以便您可以继续使用终端。
前段时间我回答了 – 在这里输入链接说明 ,要求“在终端打开”。 我一直在使用的解决方法是将快捷方式绑定到脚本。 您可以执行类似的操作 – 将快捷方式绑定到简单脚本:
#!/bin/bash FILENAME=$(zenity --entry --text="Enter path to file") if [ $? -eq 0 ] nano $FILENAME fi
这基本上应该弹出一个要求文件路径的弹出窗口。 可以使用Ctrl Shift C从命令行复制路径,也可以下载xclip
并将输出xclip -sel clip
到xclip -sel clip
(将文本路径放入剪贴板)