add some plugin and complete config

This commit is contained in:
gameloader 2022-10-18 22:12:27 +08:00
parent 00b293c1d8
commit c7757805df
18 changed files with 225 additions and 63 deletions

View File

@ -5,20 +5,25 @@ require("plugins")
require("keybindings")
require("plugin-config/nvim-tree")
require("plugin-config/bufferline")
require("plugin-config/buffer_line")
require("plugin-config/spectre")
require("plugin-config/treesitter")
require("plugin-config/telescope")
require("plugin-config/whichkey")
require("plugin-config/comment")
require("plugin-config/mason")
require("plugin-config/lualine")
require("plugin-config/lua_line")
require("plugin-config/notify")
require("plugin-config/nvim-autopairs")
require("plugin-config/table-mode")
require("plugin-config/orgmode")
require("plugin-config/project")
require("plugin-config/dashboard")
require("plugin-config/JABS")
require("plugin-config/neoscroll")
require("plugin-config/hop")
-- require("plugin-config/JABS")
require("plugin-config/toggleterm")
require("plugin-config/indent-blankline")
require("plugin-config/coderunner")
require("plugin-config/lazygit")
-- require("plugin-config/neogit")

View File

@ -28,7 +28,7 @@ M.load_default_options = function()
timeoutlen = 1000, -- time to wait for a mapped sequence to complete (in milliseconds)
title = true, -- set the title of window to the value of the titlestring
-- opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to
undodir = undodir, -- set an undo directory
-- undodir = undodir, -- set an undo directory
undofile = true, -- enable persistent undo
updatetime = 100, -- faster completion
writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
@ -58,6 +58,7 @@ M.load_default_options = function()
loaded_netrwPlugin = 1,
-- set leaderkey to space
mapleader = " ",
copilot_node_command = "~/.nodenv/versions/16.17.0/bin/node",
}
for k, v in pairs(let_options) do

View File

@ -50,6 +50,7 @@ wk.register({
r = { ":Telescope oldfiles<CR>", "Recent files" },
f = { ":Telescope file_browser<CR>", "File browser" },
n = { ":enew<CR>", "New file" },
s = { ":Telescope live_grep<CR>", "Search in project" },
},
})
@ -103,9 +104,10 @@ wk.register({
name = "+Buffer",
k = { ":bd!<CR>", "Kill buffer" },
o = { ":BufferLineCloseRight<CR>:BufferLineCloseLeft<CR>", "Close other buffer" },
b = { ":JABSOpen<CR>", "Open buffers" },
b = { ":Telescope buffers<CR>", "Open buffers" },
n = { ":ls<CR>", "Buffer numbers" },
c = { ":noh<CR>", "Cancel highlight" },
s = { ":lua require('spectre').open_file_search()<CR>", "Searching in buffer" },
},
})
-- change left and right tab

View File

@ -19,6 +19,7 @@ cmp.setup({
},
-- 来源
sources = cmp.config.sources({
{ name = "orgmode" },
{ name = "nvim_lsp" },
-- For vsnip users.
-- { name = "vsnip" },

View File

@ -37,7 +37,7 @@ local opts = {
-- local function buf_set_keymap(...)
-- vim.api.nvim_buf_set_keymap(bufnr, ...)
end
end,
-- -- local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
-- -- 绑定快捷键
-- require("keybindings").mapLSP(buf_set_keymap)
@ -45,7 +45,7 @@ local opts = {
}
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities)
opts.capabilities = capabilities
-- 查看目录等信息

View File

@ -0,0 +1,3 @@
require("bufferline").setup({
options = {},
})

View File

@ -1,4 +0,0 @@
require("bufferline").setup {
options = {
}
}

View File

@ -0,0 +1,11 @@
require("cmake-tools").setup({
cmake_command = "cmake",
cmake_build_directory = "build",
cmake_build_type = "Debug",
cmake_generate_options = { "-D", "CMAKE_EXPORT_COMPILE_COMMANDS=1" },
cmake_build_options = {},
cmake_console_size = 10, -- cmake output window height
cmake_show_console = "always", -- "always", "only_on_error"
cmake_dap_configuration = { name = "cpp", type = "codelldb", request = "launch" }, -- dap configuration, optional
cmake_dap_open_command = require("dap").repl.open, -- optional
})

View File

@ -3,5 +3,6 @@ require("code_runner").setup({
filetype = {
c = "cd $dir && gcc $fileName -o $fileNameWithoutExt -g && $dir/$fileNameWithoutExt",
cpp = "cd $dir && g++ $fileName -o $fileNameWithoutExt -g && $dir/$fileNameWithoutExt",
go = "cd $dir && go run $fileName",
},
})

View File

@ -1 +1,38 @@
local db = require('dashboard')
local db = require("dashboard")
db.custom_header = {
"",
"┳┻| ",
"┻┳| ",
"┳┻|ヘ ∧ ",
"┻┳| ● w ● )",
"┳┻|⊂ノ ",
"┻┳| ",
"",
}
db.custom_center = {
{
icon = "",
desc = "Find File ",
action = "Telescope find_files find_command=rg,--hidden,--files",
shortcut = " f",
},
{
icon = "",
desc = "Recently opened files ",
action = "Telescope oldfiles",
shortcut = "SPC f r",
},
{
icon = "",
desc = "Open Project ",
action = "Telescope Project ",
shortcut = "SPC f p",
},
{
icon = "",
desc = "File Browser ",
action = "Telescope file_browser",
shortcut = "SPC f f",
},
}

14
lua/plugin-config/hop.lua Normal file
View File

@ -0,0 +1,14 @@
require("hop").setup({})
--- place this in one of your configuration file(s)
local hop = require("hop")
local directions = require("hop.hint").HintDirection
vim.keymap.set("", "f", function()
hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = true })
end, { remap = true })
vim.keymap.set("", "F", function()
hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = true })
end, { remap = true })
vim.keymap.set("", "t", function()
hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = true, hint_offset = 0 })
end, { remap = true })

View File

@ -0,0 +1,7 @@
require("indent_blankline").setup({
-- for example, context is off by default, use this to turn it on
show_current_context = true,
indent_blankline_use_treesitter = true,
indent_blankline_use_treesitter_scope = true,
indent_blankline_char = "¦",
})

View File

@ -36,5 +36,5 @@ require("lualine").setup({
tabline = {},
winbar = {},
inactive_winbar = {},
extensions = {},
extensions = { "quickfix" },
})

View File

@ -0,0 +1,12 @@
require("neoscroll").setup({
-- All these keys will be mapped to their corresponding default scrolling animation
mappings = { "<C-u>", "<C-d>", "<C-b>", "<C-f>", "<C-y>", "<C-e>", "zt", "zz", "zb" },
hide_cursor = true, -- Hide cursor while scrolling
stop_eof = true, -- Stop at <EOF> when scrolling downwards
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
easing_function = nil, -- Default easing function
pre_hook = nil, -- Function to run before the scrolling animation starts
post_hook = nil, -- Function to run after the scrolling animation ends
performance_mode = false, -- Disable "Performance Mode" on all buffers.
})

View File

@ -0,0 +1,13 @@
-- Load custom tree-sitter grammar for org filetype
require("orgmode").setup()
require("orgmode").setup_ts_grammar()
-- Tree-sitter configuration
require("nvim-treesitter.configs").setup({
-- If TS highlights are not enabled at all, or disabled via `disable` prop, highlighting will fallback to default Vim syntax highlighting
highlight = {
enable = true,
additional_vim_regex_highlighting = { "org" }, -- Required for spellcheck, some LaTex highlights and code block highlights that do not have ts grammar
},
ensure_installed = { "org" }, -- Or run :TSUpdate org
})

View File

@ -0,0 +1 @@
require("spectre").setup({})

View File

@ -27,9 +27,14 @@ return require("packer").startup(function()
-- 一个好的nvim内终端
use({ "akinsho/toggleterm.nvim", tag = "*" })
-- git plugin like magit
-- 类似magit的插件neogit
-- use({ "TimUntersberger/neogit", requires = "nvim-lua/plenary.nvim" })
-- chrome intergration
-- 浏览器集成
-- use({
-- "glacambre/firenvim",
-- run = function()
-- vim.fn["firenvim#install"](0)
-- end,
-- })
-- lazygit support
-- 使用lazygit接口
@ -46,6 +51,14 @@ return require("packer").startup(function()
-- 优化markdown添加表格
use("dhruvasagar/vim-table-mode")
-- nvim-markdown
-- markdown 增强
use("ixru/nvim-markdown")
-- orgmode support
-- orgmode 支持
use({ "nvim-orgmode/orgmode" })
-- nvim-tree for file manage
use({
"kyazdani42/nvim-tree.lua",
@ -56,12 +69,16 @@ return require("packer").startup(function()
-- vim 开始界面
use({ "glepnir/dashboard-nvim" })
-- smooth neovim scroll
-- 顺滑的neovim滚动
use("karb94/neoscroll.nvim")
-- bufferline on the top
-- 顶部状态栏
use({ "akinsho/bufferline.nvim", requires = "kyazdani42/nvim-web-devicons" })
-- 更方便的切换buffer
use({ "matbme/JABS.nvim" })
-- use({ "matbme/JABS.nvim" })
-- treesitter
use({
@ -92,11 +109,24 @@ return require("packer").startup(function()
"folke/which-key.nvim",
})
--------------------- buffer related -----------------
-- search and replace
use("windwp/nvim-spectre")
-- indent-blankline
-- 竖向加竖线显示对齐
use({ "lukas-reineke/indent-blankline.nvim" })
-- comment
use({
"numToStr/Comment.nvim",
})
-- hop plugin
-- 快速跳转
use({
"phaazon/hop.nvim",
branch = "v2", -- optional but strongly recommended
})
-- lualine for bottom stausline
-- 底部状态栏
use({
@ -120,6 +150,10 @@ return require("packer").startup(function()
-- 代码运行
use({ "CRAG666/code_runner.nvim", requires = "nvim-lua/plenary.nvim" })
-- cmake support
-- cmake 支持
use("Civitasv/cmake-tools.nvim")
------------------- lsp --------------------------
-- mason for lsp dap linter and others
use({
@ -158,6 +192,8 @@ return require("packer").startup(function()
use("rafamadriz/friendly-snippets")
-- UI 增强
use("onsails/lspkind-nvim")
-- copilot 增强
use("github/copilot.vim")
------------------- dap -----------------------
-- dap for neovim

View File

@ -44,6 +44,7 @@
| \<leader>S | 保存所有文件 |
| \<leader><tab> | 切换回上一个buffer,用于两buffer间来回切换 |
| , | 运行当前文件代码,需要自行配置各种语言 |
| Ctrl-\\ | 打开终端 |
### Packer
| key | function |
@ -77,14 +78,35 @@
### buffer
| key | function |
|-------------|----------------|
|-------------|--------------------------------|
| \<leader>bb | 打开某个buffer |
| \<leader>bk | 关闭当前buffer |
| \<leader>bc | 取消高亮(可用于搜索后取消高亮) |
| \<leader>bo | 关闭其他buffer |
### window
| key | function |
|-------------------|--------------------|
| \<leader>wo | 关闭其他窗口 |
| \<leader>wd | 关闭当前窗口 |
| \<leader>wh,j,k,l | 切换其他方向的窗口 |
| \<leader>ws | 水平分割窗口 |
### file
| key | function |
|-------------|------------------------|
| \<leader>ff | telescope 文件浏览 |
| \<leader>fr | 最近打开的文件 |
| \<leader>fs | 在项目文件中搜索字符串 |
| \<leader>fp | 打开项目 |
## 问题
### 根据文件类型启动某些功能
可以在ftplugin文件夹中放入对应文件类型的lua文件,如markdown.lua对应markdown文件.写入要执行的命令即可.例子可见ftplugin/markdown中启动markdown table mode
可以在ftplugin文件夹中放入对应文件类型的lua文件,如markdown.lua对应markdown文件.写入要执行的命令即可.例子可见ftplugin/markdown中启动markdown table mode()