我找到了一个简短的脚本来启用对onethingwell的记笔记,其中包括:
function n { nano ~/n/$1.txt }
我想扩展它以完成制表符,因此,如果我要编辑现有的注释'foobar'(〜/ n / foobar.txt),我可以键入foo[TAB]
并自动将其完成foobar
,而不必每次输入“ foobar”。问题是bash的内置制表符补全似乎以当前目录为中心,因此,如果我位于非〜/ n的文件夹中,则我的制表符补全会失败-或更糟糕的是,补全会出错东西,因为也许我在〜/ snafu /中有一个名为“ footastic”的文件(这意味着我键入$ n foo[TAB]
,而不是看到$ n foobar
,而是查看输入并看到:$ n footastic
。
因此,在所有这些序言之后,这是一个问题:如果可能的话,我怎么告诉bash在键入'n'之后,仅此一次,我希望它假设我们已经完成了〜/ n中的文件的使用完成,而不是使用当前目录中的文件?
如果您了解所有有关电子投诉的信息,那么恭喜您,如果您可以回答,非常感谢!
这可能会带您到那里...
在.bashrc中启用自定义标签补全
shopt -s progcomp
创建一个compgen函数并将其添加到note函数之后的.bashrc中。
_notes() {
local cur
cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=( $(compgen -f $HOME/n/$cur | cut -d"/" -f5 ) )
}
complete -o filenames -F _notes n
这对我有用-在基本级别上。我仍然没有解决嵌套目录的问题...
参考:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句