【问题标题】:How you are using outside navigation in VIM with FASD and FZF?您如何在带有 FASD 和 FZF 的 VIM 中使用外部导航?
【发布时间】:2016-04-21 07:16:01
【问题描述】:

您是否找到任何舒适的工作流程,在其中使用 FASD 或 fzf 和 VIM 进行文件导航。我在 VIM 中打开最近的文件时遇到问题,因为 FASD 没有捕获它们。我正在寻找一些提示。

【问题讨论】:

  • 我在 VIM 中打开最近的文件时遇到问题检查这个github.com/mhinz/vim-startify。可能你的问题跑题了。
  • 我对 fasd 或 fzf 或 qs,dqsdg 没有任何问题,因为我不使用它们。学习改用 Vim 的内置命令。

标签: vim fzf fasd


【解决方案1】:

FASD 工作流程:

将以下行放入您的~/.zshrc

alias v='f -t -e vim -b viminfo

然后你可以在终端输入

v myP<TAB>

使 vim 的最近文件使用制表符完成

v myProject

FZF 工作流程:

将以下脚本放入~/.zshrc:

ctrlp() {
  local selected
  if selected=$(find . -type f | grep -v .git | grep -v node_modules | fzf -q "$LBUFFER"); then
    LBUFFER=$selected
  fi  
  zle redisplay
}

# option-g to find files and put the result in command
zle -N ctrlp
bindkey "\eg" ctrlp

使用<option>-g(Windows 为<alt>-g)打开fzf 并选择一个文件。选定的文件路径将放在终端中。然后在vim中打开路径前加上vim。更多示例请访问fzf wiki

由于fasd不支持neovim,我为它做了一个类似的工具。请查看:https://github.com/haifengkao/nfasd

【讨论】:

  • 你使用的是什么配置:eval "$(fasd --init auto)"
  • @regedarek 我的 .zshrc 中没有这一行。我使用 oh-my-zsh 插件。 plugins=(git zsh-syntax-highlighting vi-mode zle-vi-visual opp surround fasd zsh-completions)
【解决方案2】:

在终端中导航ZSH的极快方法是结合FASDFZFVIMCD。 将脚本添加到~/.zshrc

fasd-fzf-cd-vi() {
   item="$(fasd -Rl "$1" | fzf -1 -0 --no-sort +m)"
  if [[ -d ${item} ]]; then
    cd "${item}" || return 1
  elif [[ -f ${item} ]]; then
    (vi "${item}" < /dev/tty) || return 1
  else
    return 1
  fi
   zle accept-line
}
zle -N fasd-fzf-cd-vi
bindkey '^e' fasd-fzf-cd-vi

键盘快捷键'Ctrl+E'运行它,可以在bindkey '^e'中更改。 它通过最近的 (fasd) 文件/文件夹搜索 (fzf) 并根据文件类型导航到目录 (cd) 或打开文件文本编辑器 (vim)。

还可以查看其他有用的提示和技巧,以在终端内快速导航https://github.com/webdev4422/.dotfiles

【讨论】:

    猜你喜欢
    • 2018-08-09
    • 1970-01-01
    • 2023-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多