Skip to main content
  1. Posts/

My Settings for the Fuzzy-finder LeaderF

··465 words·3 mins·
Table of Contents

LeaderF is Vim/Neovim plugin to fuzzy-search files, colorschemes, tags etc. quickly. It works across different platforms flawlessly. Here are some of its settings to address minor issues.

File names with non-ASCII characters shown as escaped number?
#

When I am inside a git repository and use :Leaderf file, I find that files whose names containing non-ASCII characters are shown as escaped numbers. For example, 测试.md is shown as \346\265\213\350\257\225.md.

This is because Leaderf file use git to index files under git repos by default. Git shows non-ASCII characters as escaped numbers. To fix this, run the following command:

git config --global core.quotePath false

Ref:

Can not search files in a git submodule
#

In a git repo that has submodules in it, I find that command Leaderf file can not list files under these submodules.

Why? Because in a git repository, LeaderF will the command git ls-files to list files, which by default will exclude files inside git submodules.

If we are using Git 2.11 or later, we can set the following options:

let g:Lf_RecurseSubmodules = 1

Under the hood, it uses the --recurse-submodules option to list files in submodules.

If we are using older version of Git, we can use the following option:

let g:Lf_UseVersionControlTool = 0

It will disable using git to index files.

Do not show fancy filetype icons
#

By default, LeaderF will try to show fancy filetype icons before file names when we use :Leaderf file. However, due to font issues, some of the icons may not show properly. To disable this feature, add the following option:

let g:Lf_ShowDevIcons = 0

Set working directory for git repository
#

In a Git repository, I want to always search files under the project root, even though my current working directory may not be in the project root. We can set g:Lf_WorkingDirectoryMode to customize how the project root directory is found.

let g:Lf_WorkingDirectoryMode = 'a'

If we use the above setting, LeaderF will find ancestor of current directory that contains .git or other root indicators. See :h g:Lf_WorkingDirectoryMode for more help.

Ref:

Refresh file indexing every time we use LeaderF?
#

I created a new source file under the current project. After a while, I started LeaderF and found that I can not search the newly created file without refreshing LeaderF (i.e., press F5 to refresh). This is because LeaderF will cache your project files once you start using LeaderF for the first time, to save some precious time. To disable this behavior, that is, to indexing files every time you invoke LeaderF, add the following setting:

let g:Lf_UseMemoryCache = 0

For very large project, it may take quite some time to finish indexing files. So you should use this option with care.

Ref:

Related

Migrating from Packer.nvim to Lazy.nvim
··651 words·4 mins
You Do Not Need a Plugin for This Feature
··424 words·2 mins
Migrating from vim-plug to Packer.nvim
··1072 words·6 mins