我是来自Windows的Debian Stretch用户。在使用launchy
应用程序(也适用于Linux)的Windows中,我有一种方法可以将文本输入.txt
,然后将其附加到.md
或note.bat
的末尾文件。
要在Windows中执行此操作,我创建了一个名为echo %*>>"C:\collectednotes.md"
的文件,其中包含以下内容:
launchy
通过将其包含的文件夹添加到“Launchy”→“设置”→“目录”并添加文件类型note.bat
,我*.bat
了解launchy
。
从那里,我发起note
,输入collectednotes.md
,点击标签,输入一些文字,点击 Enter ,然后然后文本将被添加到note.sh
的末尾。
我的答案详述了一个主要工作过程。 我会向任何可以调整此过程的人(通过 public static string FirstCharToUpper(string text, bool firstWordOnly = true)
{
try
{
if (string.IsNullOrEmpty(text))
{
return text;
}
else
{
if (firstWordOnly)
{
string[] words = text.Split(' ');
string firstWord = words.First();
firstWord = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(firstWord.ToLower());
words[0] = firstWord;
return string.Join(" ", words);
}
else
{
return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(text.ToLower());
}
}
} catch (Exception ex)
{
Log.Exc(ex);
return text;
}
}
和/或下面详述的launchy插件设置)提供绿色复选标记答案,以便妥善处理所有特殊字符。
这可能包含这个问题的解决方案:
Which characters need to be escaped in Bash? How do we know it?
答案 0 :(得分:0)
解决了(差不多)。我保持这个问题没有得到答复,并且会给剩下的约5%的人完成。使用xfce4-terminal
版0.8.3-1
获得95%解决方案的步骤:
安装launchy
和launchy-plugins
(两者都是版本2.5-4):
apt-get install launchy
apt-get install launchy-plugins
将终端打开到默认位置~/
并创建collectednotes.md
:
echo "# Launchy Notes Collected Here" > collectednotes.md
创建note.sh
shell脚本:
echo '#!/bin/sh' > note.sh
创建shell脚本行2:
echo ALL_ARGUMENTS='"$@"' >> note.sh
创建shell脚本行3:
echo 'echo "$ALL_ARGUMENTS" >> ~/collectednotes.md' >> note.sh
如果您打开note.sh
,它将如下所示:
#!/bin/sh
ALL_ARGUMENTS="$@"
echo "$ALL_ARGUMENTS" >> ~/collectednotes.md
使note.sh
可执行:
chmod +x note.sh
启动launchy
并点击右上角的齿轮图标进行设置。如果需要与Windows的launchy
保持一致,请将launchy
热键设置为 Alt + Space 。如果您收到键盘快捷方式冲突消息,就像我在Debian上使用Xfce一样,首先转到设置,窗口管理器,键盘选项卡,然后清除 Alt + Space 作为快捷方式窗口操作菜单。
接下来在launchy
设置中,转到插件标签并启用插件Runner
。单击+
按钮并创建新的Runner
自定义命令,如下所示:
- 姓名:note
- 计划:/home/YOURUSERNAMEHERE/note.sh
(launchy
不喜欢~/note.sh
的计划路径,因此需要使用带有用户名的特定路径)
- 参数:'$$'
点击“目录”标签,然后点击Rescan Catalog
以防万一。点击OK
关闭launchy
设置。
现在让我们测试一下
- 使用 Alt + Space 或您的热键启动launchy
- 键入note
(您可能需要在首次运行时等待10秒左右。当您看到文本时,您会知道事情是预期的那样"注意"带有橙色/黄色图标包含一个人的轮廓。)
- 点击标签
- 输入一些文本(不需要单引号或双引号或转义),例如:Remember to donate at least $3 to Josh at Launchy https://www.launchy.net/donate.php
- 点击输入
现在打开collectednotes.md
以确认文本已被捕获。
其余问题似乎是处理单引号和双引号。例如,请考虑以下注释:
I don't know what I'd do without Launchy.
在collectednotes.md
中产生以下结果:
I dont know what Id do without Launchy.
或者:
Would David Allen like universal text capture from anywhere in Linux? My bet is "yes!"
collectednotes.md
中的以下结果:
Would David Allen like universal text capture from anywhere in Linux? My bet is \yes!\
单引号和/或双引号输入launchy
并不能解决问题。请注意launchy
的{{1}} Runner
自定义插件构建组件是此难题的一部分。
我会向任何可以调整此过程的人(通过'$$'
和/或note.sh
插件设置)给出答案,以便妥善处理所有特殊字符。也许这会为用户输入添加适当的转义,例如launchy
。
正确处理正确字符处理的理由是,此过程对于从网页复制和记录随机文本块非常有用,但如果单引号等常见字符未按预期处理,则系统的可信度会大大降低