this post was submitted on 29 Jun 2023
8 points (83.3% liked)

Neovim

1733 readers
1 users here now

Neovim is a modal text editor forked off of Vim in 2014. Being modal means that you do not simply type text on screen, but the behavior and functionality of the editor changes entirely depending on the mode.

The most common and most used mode, the "normal mode" for Neovim is to essentially turn your keyboard in to hotkeys with which you can navigate and manipulate text. Several modes exist, but two other most common ones are "insert mode" where you type in text directly as if it was a traditional text editor, and "visual mode" where you select text.

Neovim seeks to enable further community participation in its development and to make drastic changes without turning it in to something that is "not Vim". Neovim also seeks to enable embedding the editor within GUI applications.

The Neovim logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.

founded 3 years ago
MODERATORS
 

Hey guys, I'm following the tutorial above, and in his video he doesn't do anything specific to show hidden files, but it works for him. My .config/nvim/after/plugin/telescope.lua file looks like this: I've looked up solutions but they all use a different syntax, and none work for me. Any idea how I can make the find_files command also show hidden files by using this syntax? Thanks!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (5 children)

If you have fd installed, telescope uses it's settings including ignore files (including .ignore and .gitignore etc). So if have the default settings for fd to show hidden files, telescope will respect that.

Otherwise, if you want to have hidden files only in telescope without changing the default behavior of fd , when using your key binding, change it as follows:

vim.keymap.set("n", "<leader>ff",  function() builtin.find_files({hidden=true}) end, {})

Edit: Change to keybind format Edit2: Wrap builtin in function call

[–] [email protected] 1 points 1 year ago (4 children)

Hey, I only just had the time to try this out. I edited it as you suggested, but I still get an error when I :so after writing the file. Also, I don't have any fd command, and I'm not aware of anything extra that I added to nvim called fd.

[–] rewire 1 points 1 year ago* (last edited 1 year ago) (1 children)

You will need to wrap the third argument to keymap.set in a function, like so:

vim.keymap.set("n", "<leader>ff",  function()
  builtin.find_files({hidden=true})
end, {})
[–] [email protected] 1 points 1 year ago (1 children)

This seems to work, but for some reason when I do it, it gives me a massive list of all files (recursively) in the directory I ran nvim from. So if I run it in home, its going to be a massive list

[–] [email protected] 2 points 1 year ago (1 children)

Sorry, I missed the previous message. Glad you got it working with the help of @[email protected].

Regarding the massive list, yeah that is expected. If you haven't got fd or rg installed in you system, telescope falls back to regular find. Find doesn't have any sort of builtin ignore list, so it just lists all the files. If you are using the builtin.find_files normally, I think it executes (at least something close to)

find -not -path "*/.*" -type f

With the hidden=true, it does something along the lines of

find . -type f

Both of these commands are executed from the cwd (normally the directory you started nvim in). If you want it only show to a certain depth, you can use the telescope's setup to change the default find_command

telescope.setup({
  pickers = {
    find_files = {
      find_command = { "find", "-maxdepth", "3", ".", "-type", "f"},
    },
  },
}

Modify that to your requirement and then use the keymap to call builtin.find_files() and it should work.

[–] [email protected] 2 points 1 year ago

Hey, its me, 300 years after your initial reply :3

I installed fd and it seems to be working great now. Thanks for the tip!

load more comments (2 replies)
load more comments (2 replies)