tcsh shell不为vi自动填充* .log文件


1

尝试自动完成vi的文件名时,以.log结尾的文件不会列为选项。我怎么能纠正这个?


命令是什么 complete vi 输出?
bmk

Answers:


1

我想你有一个地方(也许在你的 ~/.cshrc )指定这样的东西:

complete vi 'n/*/f:^*.{o,a,dvi,gz,z,Z,log}/'

你应该改变它(resp。覆盖它),例如:

complete vi 'n/*/f:^*.{o,a,dvi,gz,z,Z}/'

说明: n 意思是“下一个词完成”, * 是一个glob模式,匹配命令行上单词的开头, f 文件名, ^*.{o,a,dvi,gz,z,Z} 意味着文件名不得以 .o.a.dvi.gz.z 要么 .Z


1

自动完成可能忽略以。结尾的文件名 .log 不具体 vi。文件名可能以。结尾 .log 没有任何东西自动完成。

在tcsh中有一个shell变量调用 fignore, 哪一个, 根据 man 的页面 tcsh,做以下事项:

列出要完成时忽略的文件名后缀。

在我自己 tcsh 在配置和使用方面,我有理由忽略某些与完成功能有关的文件:

% set fignore = (.aux .log .elc .o)
% echo $fignore
.aux .log .elc .o

但是,假设你确实有一些 vi 特定的完成功能设置为忽略 .log,以下命令应该能让你知道:

% complete | grep vi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.