z跳左右等效编辑文件?



在我的情况下,是否有一个等同于z跳转的终端编辑器打开大多数编辑过的文件,如vim ?我已经浏览了GitHub,但找不到任何东西。

Vim记住v:oldfiles最近打开的文件,这些文件是从~/.viminfo文件中加载的。


自定义完成

使用fzf和custom-fuzzy-completion,我们可以更自然地从历史中搜索文件,比如vim **<TAB>,后面跟着

# Custom fuzzy completion for "vim" command
#   e.g. vim **<TAB>
_fzf_complete_vim() {
_fzf_complete --multi --reverse --prompt="vim> " -- "$@" < <(
cat ~/.viminfo | grep '^>' | sed 's/^> //'
)
}

zsh中你很好。在bash中,您必须手动调用complete命令。

[ -n "$BASH" ] && complete -F _fzf_complete_vim -o default -o bashdefault vim

正如文档所说,自定义补全API是实验性的,可能会更改。


使用新命令的前一个答案

例如,我们可以从它读取历史记录,并使用fzf搜索文件,如下所示

#!/bin/bash
file=$(cat ~/.viminfo | grep '^>' | sed 's/^> //' | fzf)
file=${file/#~/$HOME}
if [ ! -z "$file" ]; then
vim $file
fi
  • .viminfo阅读。获取打开的文件列表。传递给fzf
  • ~替换为$HOME(Vim不会在file参数中扩展~)
  • 如果文件不为空则打开

可以另存为vim-history.sh,在终端中运行。

最新更新