在 rofi 中创建一个菜单,以选择文件。

5 浏览
0 Comments

在 rofi 中创建一个菜单,以选择文件。

目前,我正在使用以下脚本来实现一个搜索栏,用于打开我的笔记:\n

#! /bin/sh
cd ~/UniNotes
chosen=$(printf '%s\n' * | rofi -dmenu -i "Test" )
cd $chosen/Notes
alacritty -e vim $chosen.tex

\n这个脚本的工作原理是因为我的笔记遵循以下模板:\n

UniNotes/Subject1/Notes/Subject1.tex

\n这个设置非常简单,因为它只允许在每个文件夹中识别单个 tex 文件。\n我希望有一个脚本可以在 rofi 中列出所有来自 uninotes 的 tex 文件。然后我想选择一个特定的 tex 文件,并用 alacritty 和 vim 打开它。\n我的最大问题似乎是在列出文件时如何保留文件的位置。\n有人可以帮我写这个脚本吗?

0
0 Comments

问题的原因是使用rofi命令时,选择文件后显示的是完整路径而不是文件名。解决方法是使用cd命令将当前目录更改为所需目录,并在find命令中使用相对路径来查找文件。

下面是解决方法的代码示例:

cd ~/UniNotes
chosen=$(find . -name '*.tex' | rofi -dmenu -i "Test")

该代码将当前目录更改为~/UniNotes,并在该目录中查找名为*.tex的文件。然后,rofi命令将显示可供选择的文件列表,并将选定的文件保存在chosen变量中。

在解决问题过程中,还发现了另一个严重问题。当目录名包含两个单词时,脚本无法正常工作。这是因为rofi命令默认使用空格而不是换行符作为选项的分隔符。要解决这个问题,需要查阅rofi的文档,并确保其使用换行符作为选项的分隔符。

至于完整路径的问题,需要确保将find命令的第一个参数更改为相对路径,以便只显示文件名而不是完整路径。

0