Skip to content

Instantly share code, notes, and snippets.

@ishan9299
Last active February 20, 2022 01:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ishan9299/6c4f18ebea9148ece549c28b5887037d to your computer and use it in GitHub Desktop.
Save ishan9299/6c4f18ebea9148ece549c28b5887037d to your computer and use it in GitHub Desktop.
neovim config
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
packer_bootstrap = fn.system({
'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim',
install_path
})
end
local options = {
tabstop = 4,
softtabstop = 4,
shiftwidth = 4,
expandtab = true,
termguicolors = true,
cmdheight = 2,
completeopt = {},
hidden = true,
mouse = 'a',
incsearch = true,
hlsearch = true,
ttyfast = true,
lazyredraw = true,
cursorline = false,
wrap = false,
hlsearch = false,
}
for key, value in pairs(options) do
vim.opt[key] = value
end
vim.api.nvim_command("let mapleader=\" \"")
vim.api.nvim_command("color modus-vivendi")
local keymaps = {
nnoremap = {
["<leader>wv"] = "<C-w>v",
["<leader>ws"] = "<C-w>s",
["<leader>wh"] = "<C-w>h",
["<leader>wj"] = "<C-w>j",
["<leader>wk"] = "<C-w>k",
["<leader>wl"] = "<C-w>l",
["<A-j>"] = ":m .+1<CR>==",
["<A-k>"] = ":m .-2<CR>==",
},
vnoremap = {
["<A-j>"] = ":m '>+1<CR>gv=gv",
["<A-k>"] = ":m '<-2<CR>gv=gv",
},
}
for modes, args in pairs(keymaps) do
if (modes == "nnoremap") then
for k, v in pairs(args) do
vim.api.nvim_set_keymap('n', k, v, {noremap = true, silent = true})
end
end
if (modes == "vnoremap") then
for k, v in pairs(args) do
vim.api.nvim_set_keymap('v', k, v, {noremap = true, silent = true})
end
end
end
return require('packer').startup(function(use)
use "wbthomason/packer.nvim"
use "romainl/vim-cool"
use "ishan9299/modus-theme-vim"
use "ishan9299/nvim-solarized-lua"
use {
"numToStr/Comment.nvim",
config = function()
require("Comment").setup()
end
}
use {
"nvim-telescope/telescope.nvim",
requires = {
{"nvim-lua/plenary.nvim"},
{"nvim-telescope/telescope-file-browser.nvim"},
{"nvim-lua/plenary.nvim"},
},
config = function()
local keymap = vim.api.nvim_set_keymap
require("telescope").setup{
defaults = {
preview = false,
vimgrep_arguments = {
"rg",
"--color=never",
"--no-heading",
"--with-filename",
"--line-number",
"--column",
"--smart-case",
"--trim",
},
},
pickers = {
find_files = {
theme = "dropdown",
hidden = true,
},
buffers = {
theme = "dropdown",
},
},
extensions = {
file_browser = {
theme = "ivy",
hidden = true,
dir_icon = '',
preview = true,
},
},
}
require("telescope").load_extension("file_browser")
keymap('n', "<leader>fb", ":Telescope file_browser<CR>", {noremap = true, silent = true})
keymap('n', "<leader>ff", ":Telescope find_files<CR>", {noremap = true, silent = true})
keymap('n', "<leader>bb", ":Telescope buffes<CR>", {noremap = true, silent = true})
end
}
if packer_bootstrap then
require('packer').sync()
end
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment