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:
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", } }, }
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