diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..0f72441 --- /dev/null +++ b/init.lua @@ -0,0 +1,2 @@ +require("clewis.core") +require("clewis.lazy") diff --git a/josean-time.md b/josean-time.md new file mode 100644 index 0000000..7698980 --- /dev/null +++ b/josean-time.md @@ -0,0 +1 @@ +29:08 diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..c9d51bb --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,11 @@ +{ + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "nvim-tree.lua": { "branch": "master", "commit": "b0b49552c9462900a882fe772993b01d780445fe" }, + "nvim-web-devicons": { "branch": "master", "commit": "0422a19d9aa3aad2c7e5cca167e5407b13407a9d" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, + "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, + "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" }, + "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } +} diff --git a/lua/clewis/core/init.lua b/lua/clewis/core/init.lua new file mode 100644 index 0000000..95a6155 --- /dev/null +++ b/lua/clewis/core/init.lua @@ -0,0 +1,2 @@ +require("clewis.core.options") +require("clewis.core.keymaps") diff --git a/lua/clewis/core/keymaps.lua b/lua/clewis/core/keymaps.lua new file mode 100644 index 0000000..7b7c8ee --- /dev/null +++ b/lua/clewis/core/keymaps.lua @@ -0,0 +1,22 @@ +vim.g.mapleader = " " + +local keymap = vim.keymap + +keymap.set("i", "jk", "", { desc = "Exit Insert mode with jk" }) + +keymap.set("n", "nh", ":nohl", { desc = "Clear search highlights" }) + +-- increment / decrement numbers +keymap.set("n", "+", "", { desc = "Increment number" }) +keymap.set("n", "-", "", { desc = "Decrement number" }) + +keymap.set("n", "sv", "v", { desc = "Split window vertically" }) +keymap.set("n", "sh", "s", { desc = "Split window horizontally" }) +keymap.set("n", "se", "=", { desc = "Make splits equal in size" }) +keymap.set("n", "sx", "close", { desc = "Close current split" }) + +keymap.set("n", "to", "tabnew", { desc = "Open new tab" }) +keymap.set("n", "tx", "tabclose", { desc = "Close current tab" }) +keymap.set("n", "tn", "tabn", { desc = "Go to next tab" }) +keymap.set("n", "tp", "tabp", { desc = "Go to previous tab" }) +keymap.set("n", "tf", "tabnew %", { desc = "Go to previous tab" }) diff --git a/lua/clewis/core/options.lua b/lua/clewis/core/options.lua new file mode 100644 index 0000000..0c71c8a --- /dev/null +++ b/lua/clewis/core/options.lua @@ -0,0 +1,29 @@ +vim.cmd("let g:netrw_liststyle = 3") + +local opt = vim.opt + +opt.number = true + +opt.tabstop = 2 +opt.shiftwidth = 2 +opt.expandtab = true +opt.autoindent = true + +opt.wrap = false + +opt.ignorecase = true -- ignore case when searching +opt.smartcase = true -- if mixed case is used assume case-sensitive + + +opt.cursorline = true + +opt.termguicolors = true +opt.background = "dark" +opt.signcolumn = "yes" + +opt.backspace = "indent,eol,start" + +opt.clipboard:append("unnamedplus") -- use system clipboard as default register + +opt.splitright = true +opt.splitbelow = true diff --git a/lua/clewis/lazy.lua b/lua/clewis/lazy.lua new file mode 100644 index 0000000..db49f6d --- /dev/null +++ b/lua/clewis/lazy.lua @@ -0,0 +1,14 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup("clewis.plugins") diff --git a/lua/clewis/plugins/colorscheme.lua b/lua/clewis/plugins/colorscheme.lua new file mode 100644 index 0000000..013f340 --- /dev/null +++ b/lua/clewis/plugins/colorscheme.lua @@ -0,0 +1,7 @@ +return { + "folke/tokyonight.nvim", + priority = 1000, + config = function() + vim.cmd("colorscheme tokyonight") + end +} diff --git a/lua/clewis/plugins/init.lua b/lua/clewis/plugins/init.lua new file mode 100644 index 0000000..3c9a580 --- /dev/null +++ b/lua/clewis/plugins/init.lua @@ -0,0 +1,5 @@ +return { + "nvim-lua/plenary.nvim", + "christoomey/vim-tmux-navigator", + +} diff --git a/lua/clewis/plugins/nvim-tree.lua b/lua/clewis/plugins/nvim-tree.lua new file mode 100644 index 0000000..c1fb2fb --- /dev/null +++ b/lua/clewis/plugins/nvim-tree.lua @@ -0,0 +1,50 @@ +return { + "nvim-tree/nvim-tree.lua", + dependencies = "nvim-tree/nvim-web-devicons", + config = function() + local nvimtree = require("nvim-tree") + + vim.g.loaded_netrw = 1 + vim.g.loaded_netrwPlugin = 1 + + nvimtree.setup({ + view = { + width = 35, + }, + renderer = { + indent_markers = { + enable = true, + }, + icons = { + glyphs = { + folder = { + arrow_closed = "", -- arrow when folder is closed + arrow_open = "", -- arrow when folder is open + }, + }, + }, + }, + + -- disable window_picker to work better with splits + actions = { + open_file = { + window_picker = { + enable = false, + }, + }, + }, + filters = { + custom = {".DS_Store" }, + }, + git = { + ignore = false, + }, + }) + local keymap = vim.keymap + + keymap.set("n", "ee", "NvimTreeToggle", { desc = "Toggle file explorer"}) + keymap.set("n", "ef", "NvimTreeFindFileToggle", { desc = "Toggle file explorer on cursor"}) + keymap.set("n", "ec", "NvimTreeCollapse", { desc = "Collapse file explorer"}) + keymap.set("n", "er", "NvimTreeRefresh", { desc = "Refresh file explorer"}) + end +} diff --git a/lua/clewis/plugins/telescope.lua b/lua/clewis/plugins/telescope.lua new file mode 100644 index 0000000..6d7f79a --- /dev/null +++ b/lua/clewis/plugins/telescope.lua @@ -0,0 +1,35 @@ +return { + "nvim-telescope/telescope.nvim", + branch = "0.1.x", + dependencies = { + { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, + "nvim-tree/nvim-web-devicons", + }, + config = function() + local telescope = require("telescope") + local actions = require("telescope.actions") + + telescope.setup({ + defaults = { + path_display = { "smart" }, + mappings = { + i = { + [""] = actions.move_selection_previous, + [""] = actions.move_selection_next, + [""] = actions.send_selected_to_qflist + actions.open_qflist, + }, + }, + }, + }) + + telescope.load_extension("fzf") + + local keymap = vim.keymap + + keymap.set("n", "ff", "Telescope find_files", { desc = "Fuzzy find files in cwd" }) + keymap.set("n", "fr", "Telescope oldfiles", { desc = "Fuzzy find recent files" }) + keymap.set("n", "fs", "Telescope live_grep", { desc = "Fuzzy string in cwd" }) + keymap.set("n", "fc", "Telescope grep_string", { desc = "Fuzzy string under cursor in cwd" }) + + end, +} diff --git a/lua/clewis/plugins/which-key.lua b/lua/clewis/plugins/which-key.lua new file mode 100644 index 0000000..83f8a2f --- /dev/null +++ b/lua/clewis/plugins/which-key.lua @@ -0,0 +1,12 @@ +return { + "folke/which-key.nvim", + event = "VeryLazy", + init = function() + vim.o.timeout = true + vim.o.timeoutlen = 500 + end, + opts = { + -- your configurations here or leave + -- blank to use default config. + } +}