Last active
February 20, 2022 01:07
-
-
Save ishan9299/6c4f18ebea9148ece549c28b5887037d to your computer and use it in GitHub Desktop.
neovim config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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