z 跳转等同于编辑文件?
z jump around equivalent for editing files?
在我的例子中,是否有与 z jump around 等效的功能,可以使用像 vim 这样的终端编辑器打开大多数编辑过的文件?我已浏览 GitHub 但找不到任何内容。
Vim 记住最近由 v:oldfiles
打开的文件,这些文件是从 ~/.viminfo
文件加载的。
自定义完成
使用fzf and 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
As the documentation says, the custom completion API is experimental and subject to change.
以前的答案使用新命令
例如,我们可以从中读取历史记录并使用fzf搜索文件,如下所示
#!/bin/bash
file=$(cat ~/.viminfo | grep '^>' | sed 's/^> //' | fzf)
file=${file/#\~/$HOME}
if [ ! -z "$file" ]; then
vim $file
fi
- 阅读.viminfo。获取打开的文件列表。传递给
fzf
- 将
~
替换为 $HOME
(Vim 不会在文件参数中展开 ~
)
- 如果文件不为空则打开文件
您可以在终端中将其保存为 vim-history.sh
和 运行。
在我的例子中,是否有与 z jump around 等效的功能,可以使用像 vim 这样的终端编辑器打开大多数编辑过的文件?我已浏览 GitHub 但找不到任何内容。
Vim 记住最近由 v:oldfiles
打开的文件,这些文件是从 ~/.viminfo
文件加载的。
自定义完成
使用fzf and 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
As the documentation says, the custom completion API is experimental and subject to change.
以前的答案使用新命令
例如,我们可以从中读取历史记录并使用fzf搜索文件,如下所示
#!/bin/bash
file=$(cat ~/.viminfo | grep '^>' | sed 's/^> //' | fzf)
file=${file/#\~/$HOME}
if [ ! -z "$file" ]; then
vim $file
fi
- 阅读.viminfo。获取打开的文件列表。传递给
fzf
- 将
~
替换为$HOME
(Vim 不会在文件参数中展开~
) - 如果文件不为空则打开文件
您可以在终端中将其保存为 vim-history.sh
和 运行。