AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 508267
Accepted
dakini
dakini
Asked: 2019-03-24 23:15:45 +0800 CST2019-03-24 23:15:45 +0800 CST 2019-03-24 23:15:45 +0800 CST

使用制表符进行自动完成不适用于某些类型的文件名

  • 772

通常,在输入文件名的前几个字符后可以按 Tab 键并获得完整的文件名(或建议,以防有许多具有相同的开始字符)。

但是对于具有特殊字符的文件名,这似乎不起作用。具体来说,我在~/.vim/view目录中 - 其中包含带有详细信息的文件,例如使用 vim 打开的所有文件的折叠位置(行号)。这些是 vim 用来在重新打开以前使用的文件时使用适当的折叠等恢复相同“视图”的文件。现在(至少在我的盒子里)这些非常有用的文件似乎有最奇怪的文件名,例如~=+temp=+test.sh=,或者=+temp=+test.sh=这些文件分别有关于文件的最后“视图”的~/temp/test.sh信息/temp/test.sh。

当我进入这个目录并执行类似 als -l ~=+tem然后点击选项卡的操作时,我通常希望它能够自动完成~=+temp=+test.sh=

但这不会发生。为什么?我如何(如果有的话)实现它?

我在 FreeBSD 上使用 Bash。作为记录,我已经在 zsh、csh、tcsh 和 sh(相同的操作系统)上尝试过这个。我没有为特定的 shell 添加任何问题标签,但如果您认为应该这样做,请随意这样做。

shell freebsd
  • 1 1 个回答
  • 250 Views

1 个回答

  • Voted
  1. Best Answer
    ilkkachu
    2019-03-25T11:11:18+08:002019-03-25T11:11:18+08:00

    在我看来,Bash=在完成文件名时忽略了和之前的部分,可能是为了支持 GNU 风格的长选项,例如.--some-file=<filename>

    例如,如果文件foofoo和foobar存在,键入, 将自动完成前缀,并列出两个文件名。echo asdf=f<tab>foo

    使用名为的文件asdf=xyz,将很乐意在.give之后的部分自动完成该文件。echo asdf=a<tab>=echo asdf=asdf\=xyz

    所以是的,你需要在自动完成文件名时=转义in Bash 。对于生成的命令来说这不是问题,但是,从这个意义上说,它对 shell 没有特殊意义。

    另一方面,文件名中的波浪号可能不是问题。除非你有一个用户叫它=+temp=+test.sh=应该保持原样。

    • 2

相关问题

  • FreeBSD 的 sh:列出函数

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • grep -v grep 有什么作用

  • 如何将带有〜的路径保存到变量中?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve