Telescope Setup

    Definição curta: Tutorial para configurar o plugin Telescope no Neovim para fuzzy finding, grep, buffers, comandos e mais.

    Antes de começar

    • Neovim v0.11 ou mais recente instalado — confira com nvim --version
    • Um init.lua que já carrega, ainda que vazio

    O que você vai aprender

    • Explicar Instalação com suas palavras
    • Explicar Configuração básica com suas palavras
    • Explicar Find files com suas palavras
    • Localizar o assunto desta página no :help do seu próprio Neovim

    O que é

    Telescope é um plugin de fuzzy finding extremamente extensível. Substitui múltiplas ferramentas de busca com uma interface unificada.

    Índice de sub-tópicos

    Instalação

    -- plugins/telescope.lua
    return {
      "nvim-telescope/telescope.nvim",
      dependencies = {
        "nvim-lua/plenary.nvim",
        "BurntSushi/ripgrep",  -- Para grep
      },
    }

    Configuração básica

    -- setup/telescope.lua
    local telescope = require("telescope")
    local actions = require("telescope.actions")
    
    telescope.setup({
      defaults = {
        prompt_prefix = " ",
        selection_caret = " ",
        path_display = { "smart" },
        mappings = {
          i = {
            ["<C-j>"] = actions.move_selection_next,
            ["<C-k>"] = actions.move_selection_previous,
            ["<C-q>"] = actions.send_to_qflist,
            ["<Esc>"] = actions.close,
          },
        },
      },
    })

    Find files

    :Telescope find_files
    vim.keymap.set("n", "<leader>ff", ":Telescope find_files<CR>")

    Grep live

    :Telescope live_grep
    vim.keymap.set("n", "<leader>fg", ":Telescope live_grep<CR>")

    Buffers

    :Telescope buffers
    vim.keymap.set("n", "<leader>fb", ":Telescope buffers<CR>")

    Keymaps úteis

    -- leader f
    vim.keymap.set("n", "<leader>ff", ":Telescope find_files<CR>")
    vim.keymap.set("n", "<leader>fg", ":Telescope live_grep<CR>")
    vim.keymap.set("n", "<leader>fb", ":Telescope buffers<CR>")
    vim.keymap.set("n", "<leader>fr", ":Telescope oldfiles<CR>")
    vim.keymap.set("n", "<leader>fc", ":Telescope commands<CR>")
    vim.keymap.set("n", "<leader>fh", ":Telescope help_tags<CR>")

    Você aprendeu

    • Instalação
    • Configuração básica
    • Find files
    • Grep live
    • Buffers

    Perguntas para reflexão

    1. O que Instalação resolve, e o que se perde sem isso?
    2. O que Configuração básica resolve, e o que se perde sem isso?
    3. O que Find files resolve, e o que se perde sem isso?
    4. Qual parte desta página você conseguiria reproduzir sem consultar, direto no editor?

    Artigos relacionados

    Veja também

    Referências