首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让vim对文件名执行正常(bash like)选项卡完成?

要在 Vim 中实现类似 Bash 的选项卡完成功能,您可以使用 Vim 的内置命令和插件。以下是一些建议:

  1. 使用 Vim 的内置命令:

在 Vim 中,您可以使用以下命令来实现类似 Bash 的选项卡完成功能:

  • 使用 Ctrl + D 显示当前目录下的文件列表。
  • 使用 Ctrl + N 在文件名之间跳转。
  • 使用 Ctrl + P 在文件名之间向后跳转。
  1. 安装 Vim 插件:

您可以使用 Vim 插件来增强 Vim 的选项卡完成功能。以下是一些建议的插件:

  • Vim-fzf:这是一个非常流行的 Vim 插件,可以让您在 Vim 中使用模糊搜索和选项卡完成功能。要安装 Vim-fzf,请参阅其 GitHub 页面:https://github.com/junegunn/fzf.vim
  • Deoplete:这是一个基于 Vim 的自动补全引擎,可以与多种补全源一起使用。要安装 Deoplete,请参阅其 GitHub 页面:https://github.com/Shougo/deoplete.nvim
  • COC(Conquer of Completion):这是一个基于 Language Server Protocol 的自动补全引擎,可以为多种语言提供代码补全、重构、诊断等功能。要安装 COC,请参阅其 GitHub 页面:https://github.com/neoclide/coc.nvim
  1. 配置 Vim:

要在 Vim 中实现类似 Bash 的选项卡完成功能,您可能需要对 Vim 的配置文件进行一些更改。以下是一些建议的配置设置:

  • 设置 Vim 的文件名补全选项:在 Vim 配置文件中,您可以设置 filetype plugin onset wildmode=list:longest,full 来启用文件名补全并设置补全模式。
  • 使用 Vim-fzf 插件:如果您已经安装了 Vim-fzf 插件,可以在 Vim 配置文件中添加以下代码来启用模糊搜索和选项卡完成功能:
代码语言:txt
复制
nnoremap <C-p> :Files<CR>
inoremap <C-p> <ESC>:Files<CR>
nnoremap <C-n> :Buffers<CR>
inoremap <C-n> <ESC>:Buffers<CR>

这些设置将允许您使用 Ctrl + PCtrl + N 在文件和缓冲区之间进行模糊搜索和选项卡完成。

总之,通过使用 Vim 的内置命令和插件,您可以实现类似 Bash 的选项卡完成功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

vulhub之DC-2

限制在rbash中实现cd命令(更改目录)PATH(设置/取消设置)ENV aka BASH_ENV(环境设置/取消设置)导入功能指定包含参数’/'的文件名指定包含参数’ - '的文件名使用重定向输出*...即受限制的 bash,也就是说现在的shell受到了限制,在这里可以使用以下方法解除限制: 在这里无法使用vim,但是可以使用vi,而且还可以使用export命令。...获取flag3 直接在命令行里面执行BASH_CMDS[a]=/bin/sh;a export PATH=$PATH:/bin/ export PATH=$PATH:/usr/bin 此时拿到.../bin/bash或者!'sh'完成提权 法2: sudo git -p help !...本书从网络攻防实战的角度,Web漏洞扫描利用及防御进行全面系统的研究,由浅入深地介绍了在渗透过程中如何Web漏洞进行扫描、利用分析及防御,以及在漏洞扫描及利用过程中需要了解和掌握的基础技术。

38820
  • linux的进程介绍与前后台任务切换

    那么,我们的 shell 是 bash 吧,这个 bash 在 /bin/bash 吧,那么同时间的每个人登入都是执行 /bin/bash !不过,每个人取得的权限就是不同!...以上面的图示来看,连续执行两个 bash 后,第二个 bash 的父进程就是前一个 bash。因为每个进程都有一个 PID ,那某个进程的父进程该如何判断?...而且,有趣的是,我们可以继续操作 bash 呢!不过,那么丢到背景中的工作什么时候完成?完成的时候会显示什么?...不过,毕竟正常的作法中,你应该先使用 fg 来取回前景控制权,然后再离开 vim~因此,以上面的范例二为例,其实 kill 确实无法使用 -15 正常的结束掉 vim 的动作喔!...因为你知道如何正常结束该进程不是吗? 通常使用 -9 是因为某些程序你真的不知道怎 么透过正常手段去终止他,这才用到 -9 的! 其实,kill 的妙用是很无穷的啦!

    1.5K30

    Kali Linux 网络扫描秘籍 第一章 起步(二)

    然后,使用Nano或VIM创建名为authorized_keys的文件。 如果你不熟悉如何使用这些文本编辑器,请参阅本章中的“使用文本编辑器(VIM和Nano)”秘籍。...操作步骤 为了使用 Kali 中的 VIM 文本编辑器创建文件,请使用vim命令,并带有要创建或修改的文件名称: root@kali:~# vim vim_demo.txt 在提供的示例中,VIM 用于创建名为...然后,你可以使用以下 bash 命令验证文件是否存在并验证文件的内容: root@kali:~# ls Desktop vim_demo.txt root@kali:~# cat vim_demo.txt...与 VIM 不同,没有单独的命令和写入模式。 相反,写入文件可以自动完成,并且通过按Ctrl键和特定的字母键来执行命令。...系统会要求你确认要写入的文件名。 默认情况下,会使用 Nano 执行时提供的名称填充。

    93120

    Vim 后门 | Linux 后门系列

    加载特殊名字配置文件 这块主要是做后门的我们比较关注,只要不限制后缀名那花样就多了 如何加载由一个或者多个空格为文件名的配置文件 打开 1.txt vim 配置文件中空格需要用 \ 进行转义 如何加载.../usr/local/bin/vim 本地测试该文件后门代码是否有效 成功创建了有效的带有后门,且功能正常vim 3) 用后门vim替换 /usr/bin/vim 4) 模拟正常使用vim.../tmp/flag.txt") 只要运行 vim 就会触发 call job_start("echo 'vim yes' > /tmp/flag.txt") 无论如何执行不了 通过 bash +...函数反弹shell,观察一下阻塞的情况 可以看到,在反弹的shell不断的情况下,vim 是不会正常运行的,会一直卡在这里 通过 # 进程后台运行 不是很完美,通过 nohup + # 还是一样...函数,执行的是系统命令,那可以通过加一个 & 符号命令在后台执行 对于反弹shell来说,如果接收反弹shell处未开启监听,会产生报错 2.

    65251

    特别的往 Docker Container 中上传代码的技巧

    最近我常常通过 Docker 在服务器部署代码,容器技术是个好东西,可以你随时可以切换代码的执行环境而不需要在重新配置机器以致于搞得乱七八糟。...方法很简单: 首先进入目标环境的 Shell,执行 cat > 目标文件名,此时终端处于等待输入的状态,然后我们在终端粘贴需要上传的代码,最后再按 Ctrl+D 发送一个 EOF 关闭输入即可。...从此摆脱编辑器的依赖了哈哈哈。...我们只需要另外启动一个具备超级用户权限的 bash shell,就可以正常运行这段脚本了,sudo bash,或者 sudo su 都可以。...想到 Python 可以利用 -c 参数,通过 python -c "需要一次性执行的Python命令" 来直接在命令行运行一些一次性完成的操作。bash 有没有这样的操作呢?

    1.2K20

    Kali Linux 网络扫描秘籍 第八章 自动化 Kali 工具

    操作步骤 下面的示例演示了如何使用 bash 脚本将多个任务串联在一起。...然后脚本在正文中执行的第一个任务是,目标系统的 IP 地址执行smb-check-vulns.nse脚本,它由RHOST输入定义。然后,结果以正常格式输出到临时文本文件。...假设攻击成功,会执行载荷,并且交互式 Meterpreter shell 将在每个单独的终端中可用。 工作原理 通过每个进程使用单独的终端,可以使用单个 bash 脚本执行多个并行利用。...8.6 使用可执行后门的多线程 MSF 利用 该秘籍演示了如何使用 bash ,在多个系统上利用单个漏洞,并在每个系统上打开一个后门。...在执行ping命令并使用-i选项来指定生存时间(TTL)为15 时。此备用TTL值用于区分利用生成的流量与正常 ICMP 流量。

    5.2K20

    The Missing Semester of Your CS Education

    进程替换 <( CMD ) 会执行 CMD 并将结果输出到一个临时文件中,并将 <( CMD ) 替换成临时文件名。 运行脚本 #!...在默认设置下,Vim会在左下角显示当前的模式。 Vim启动时的默认模式是正常模式。通常你会把大部分 时间花在正常模式和插入模式。 你可以按下 (退出键) 从任何其他模式返回正常模式。...、如何停止或暂停某个进程以及如何使进程在后台运行,学习一些能够改善您的 shell 及其他工具的工作流的方法,这主要是通过定义别名或基于配置文件其进行配置来实现的。...对日志着色可以日志可读性更好,下面是一个可以在终端打印颜色的bash脚本 #!...在 Linux 中可以使用strace ,下面的例子展现来如何使用 strace 或 dtruss 来显示ls 执行时,stat 系统调用进行追踪结果。

    1.9K21

    【小项目】:使用shell编写一个简单的告警系统

    这个项目是做一个简单的告警系统,用于完成一些简单个性化的需求。 目录结构与要求: ?.../log/load.tmp # 执行发邮件的脚本,这里的邮箱地址写你的邮箱地址 /bin/bash ...../log/err.log 完成以上操作后,执行 main.sh 主脚本: [root@localhost /usr/local/sbin/mon/bin]# sh main.sh 2017-11-29...以上已经验证load.sh 可以正常执行了,接下来我们再来测试一下能否正常发送邮件,首先修改一下load.sh中的判断条件,修改成小于10,因为要故意它报警: [root@localhost ~]#... 完结:以上就是如何使用shell语言去编写一个简单监控系统,并且经过简单的测试证明能够正常使用,如果实验过程中遇到问题欢迎私信。

    52330

    MySQL日志管理

    MySQL日志管理 错误日志 配置方法: vim /etc/my.cnf [mysqld] log-error=/tmp/mysql.log 查看配置方式: show variables like '%...show variables like '%gen%'; 作用: 记录mysql所有执行成功的SQL语句信息,可以做审计用,但是我们很少开启; 可以作为审计功能,一般情况下这个日志不会开,除非有特殊要求...例如:ELK 二进制日志 建议刚部署mysql数据库的时候就开启二进制日志 二进制日志不依赖于存储引擎的,依赖于sql层,记录和sql语句有关的信息 在sql层已经执行完成的语句,如果是事务,应当是已经完成的事务...mysql-bin  4、文件名名以“前缀”.000001~N 设置二进制日志记录格式(建议是ROW) 配置文件中修改: vim /etc/my.cnf binlog-format=row 改完之后重启...调优过程中的工具日志,统计收集执行慢的语句 慢日志设置 配置方法: vim /etc/my.cnf slow_query_log=NO slow_query_log_file=/tmp/slow.log

    1.3K120

    多语言编程必备的十大 Vim 插件

    最近,当我重新安装系统时(就像我经常做的那样),我觉得这是一次好的机会,我想找出多种编程语言环境下的最佳 Vim 插件,以及如何将这些插件和每种语言结合起来。...我发现自己经常要数小括号,尤其是在复杂的 Bash 脚本中,以确保无误。 这时候就需要 vim-rainbow 插件!它为每对括号设置不同的颜色,因此很容易识别出哪些括号是一括号。...Volt 插件管理器我可以轻松地在两者之间切换,因此我在 Python 编程时,使用 Monokai;Bash 编程时,使用 Solarized。...7、fzf 当寻找一个文件时,有时你想要一个文件浏览器,有时你只想在键盘上敲打出与文件名模糊匹配的内容,吗? fzf(全称 “模糊查找器”)插件提供了这一功能。打出 :FZF 并输入文件名内容。...缺点是你需要安装 ack 或 ag 才能正常运行。好消息是 Fedora 和 EPEL7 都可以使用 ag 和 ack。

    99520

    10 个提升效率的Linux小技巧

    ls将执行您的最后一个“ ls -lrt”,而 !vim将打开您的最后一个文件而无需键入完整命令。...如果您能够执行命令,以上技巧将节省大量时间,并且重复的百分比很高。我来说,我节省了将近50-60%的时间。我知道它如何更高效的工作。...总是常用命令进行这种设置。.bashrc和.profile 文件的用法很多,但是最重要的用法之一是设置别名,例如“l.”。查找所有隐藏文件。...9)最小化敲键盘或提高打字速度 我想您知道不是吗,您键入的次数越少,使用上一个键入的命令的工作就越快,请使用bash中的选项卡,杀死UNIX bash shell完成您的命令,如果Ctrl + R您键入的最后一个命令很长...如果您正在查看多个文件或日志文件,只需节省近10%的时间,因此,不是立即执行vim命令,然后立即按Ctrl + Z挂起它,而执行fg 1或fg 2将其放在前台。

    92030

    运维面试题(每日一题)

    比如:某一个用户某一个文件具有某种权限。.../etc/profile ——》 .bash_profile ——》 .bashrc ——》 /etc/bashrc 6.如何修改主机名 临时修改:hostname test 永久修改: 方法一:vim...;如果有错误,则提醒用户键入Q或者q无视错误并退出,其它任何键可以通过vim打开这个指定的脚本; 要求文件名以传参的方式进行传入,从标准输入中读取,文件名后缀是”.sh” #!...删除一个文件需要kolor用户这个文件的上一级目录 拥有w和x权限。 因为文件名实际存放在目录的block中。...目录项、inode、数据三者之间的关系: 一个文件名只能与一个 inode关联,一个inode可以关联多个文件名,inode与数据是一一应的 Linux文件系统(如ext2、3等)将硬盘分区时会划分出目录块

    5.1K22

    linux中操作带有空格和特殊字符的文件名

    /-abc.txt 注意:您可以将nano替换为您选择的任何其他编辑器,例如vim: >vim -- -abc.txt or >vim ....它告诉 BASH 这;是文件名的一部分,而不是命令分隔符。 名称中带有分号的文件和文件夹的其余操作(即复制、移动、删除)可以通过将名称括在单引号中来直接执行。...处理文件 / 文件夹名称中的其他特殊字符文件名中的加号 (+)不需要任何额外的东西,只需按照正常方式进行,如下所示的简单文件名。...只需按照正常方式进行,就像简单的文件名一样。 >touch ,12.txt or >touch ,12,.txt 文件名中的冒号 (:)您可以在文件名中包含冒号,数量不限,不需要任何额外的东西。...只需按照正常方式进行,就像简单的文件名一样。 >touch :12.txt or >touch :12:.txt 文件名中包含引号(单引号和双引号)要在文件名中包含引号,我们必须使用交换规则。

    7.4K20

    100 条 Linux vim 命令备忘单,收藏起来随时备用!

    :tabp 转到上一个选项卡 :tabn 转到下一个选项卡 :tabs 列出所有选项卡 :tabfirst 转到第一个选项卡 :tablast 转到最后一个选项卡 :tabclose 关闭当前标签 可视化模式命令备忘单...在命令模式下执行: v允许选择文本片段的可视模式 V允许选择整行的可视模式 CTRL+v允许选择文本块的视觉块 在可视化模式下执行: >向右缩进 <向左缩进 y复制 d剪切 ~大小写切换 u将选中文本转换为小写...” :r filename将“文件名”的内容复制到当前文件 :split filename水平分屏显示当前文件和“文件名” :vsplit filename垂直分屏显示当前文件和“文件名” :!...有时候处理一个文本,不用一些快捷键可能需要几分钟才能完成,但是一旦你用了快捷键,可能数秒内就可以实现,所以工欲善其事,必先利其器这句话还是有道理的。...本文瑞哥给大家介绍了好多vim命令,此备忘录希望大家能好好收藏并利用!

    1.5K20
    领券