Telescope.nvim: Pencarian File Fuzzy untuk Neovim

whynwd

whynwd Minggu, 24 Juli 2022

Telescope.nvim adalah plugin pencarian fuzzy yang dapat kita tambahkan atau install pada editor vim(neovim) yang kita gunakan.

Pencarian fuzzy sendiri adalah proses pencarian dengan metode pencocokan nilai yang relevan. Pencarian fuzzy akan memberikan hasil yang mungkin cocok atau terkait dengan apa yang di ketik.

Telescope.nvim

Dokumentasi lengkap tentang instalasi, konfigurasi, dan penggunaan Telescope, bisa dilihat pada repo github: Telescope.nvim.

Instalasi dan Konfigurasi

Untuk contoh bagaimana proses instalasi dan penggunaan di vim(neovim), bisa mengikuti langkah-langkah yang akan dijelaskan di bawah.

Dalam instalasi dan konfigurasi yang akan dijelaskan, disini menggunakan struktur file atau lokasi file konfigurasi dari nvim-windows, dan plugin manager yang digunakan dalam instalasi plugin yaitu packer.nvim.

Langkah pertama, kita tambahkan plugin baru telescope.nvim, dan plugin pendukung pada file daftar plugins untuk diinstall.

//lua/plugins.lua
use {
  "nvim-telescope/telescope.nvim",
  requires = "nvim-lua/plenary.nvim",
  config = function()
    require('config.telescope')
  end,
}

use {
  "nvim-telescope/telescope-fzf-native.nvim",
  run = "make",
}

Silakan sesuaikan "config.telescope" untuk letak file pengaturan konfigurasi telescope yang akan dipanggil.

Setelah plugin diatas di ditambahkan, silakan buat file baru pada direktori config / plugins dengan nama telescope.lua, dan copas konfigurasi di bawah ini.

//lua/config/telescope.lua
local ok, telescope = pcall(require, 'telescope')
if not ok then
  return
end

local actions = require "telescope.actions"

telescope.setup{
  defaults = {
    prompt_prefix = "  ",
    selection_caret = "❯ ",
    sorting_strategy = "ascending",
    mappings = {
      n = {
        ["q"] = actions.close,
      },
    },
    file_ignore_patterns = {
       ".git",
       "vendor",
       "node_modules",
    }
  },
  pickers = {
    find_files = {
      theme = "dropdown", 
      hidden = true,
      no_ignore = true,
    },
    buffers = {
      layout_config = { preview_width = 0.5 },
      ignore_current_buffer = true,
      sort_mru = true,
      mappings = {
        i = {
            ["<c-d>"] = actions.delete_buffer,
        },
        n = {
            ["<c-d>"] = actions.delete_buffer,
        },
      },
    },
  },
  extensions = {
   fzf = {
      fuzzy = true,                    -- false will only do exact matching
      override_generic_sorter = true,  -- override the generic sorter
      override_file_sorter = true,     -- override the file sorter
      case_mode = "smart_case",        -- or "ignore_case" or "respect_case"
                                       -- the default case_mode is "smart_case"
    }
  }
}

telescope.load_extension("fzf")

local opts = { noremap=true, silent=true }
vim.api.nvim_set_keymap('n', '<Leader>ff', '<cmd>Telescope find_files<cr>', opts)
vim.api.nvim_set_keymap('n', '<Leader>fb', '<cmd>Telescope buffers<cr>', opts)

Selanjutnya, silakan muat ulang vim, dan lakukan penginstalan plugin.

:PackerInstall

Setelah proses penginstalan plugin selesai, silakan compile ulang file loader packer, kemudian muat ulang kembali vim.

:PackerCompile

Tampilan

Pengaturan tampilan yang diatur pada konfigurasi telescope untuk pencarian file diatas yaitu menggunakan tema 'dropdown', yang diatur di bagian 'pickers':

pickers = {
  find_files = {
    theme = "dropdown", 
  ...
}

Tampilannya seperti gambar di bawah ini:

Telescope.nvim: Pencarian File Fuzzy untuk Neovim

Jika ingin menggunakan tampilan default, tinggal hapus tema tersebut. Untuk memodifikasi tampilan, seperti posisi prompt dan ukuran, tambahkan pengaturan dibawah ini.

defaults = {
...
 layout_config = {
  horizontal = {
   width = 0.7,
   height = 0.70,
   prompt_position = "top",
  }
 },
}
Telescope.nvim: Pencarian File Fuzzy untuk Neovim

Penggunaan

Gunakan keymap <Leader>ff untuk membuka telescope, atau mencari file, dan <Leader>fb untuk membuka buffer. Untuk preview, gunakan <C-u> untuk scroll ke atas, dan <C-d> untuk scroll ke bawah.

Selesai

Instalasi dan konfigurasi Telescope.nvim selesai sampai disini. Silakan dicoba dan lakukan eksperimen.

Rekomendasi plugin: nvim-tree: File Explorer untuk Neovim

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel