Compare commits

..

No commits in common. "e2ae192ffbb96d7d978af5a7568d4698f8b604af" and "e29a422a57703b185a58b994eef32db587645d2f" have entirely different histories.

9 changed files with 50 additions and 187 deletions

View File

@ -81,7 +81,3 @@ neomap('i', '<S-TAB>', '<C-d>', { noremap = true, silent = true }) -- Insert Mod
-- 透過 v 選取整行縮排後,不取消選取整行
neomap('v', '<', '<gv', { noremap = true, silent = true })
neomap('v', '>', '>gv', { noremap = true, silent = true })
-- 自動折行開關切換
map("n", "<A-z>", "<cmd>set wrap!<CR>", { noremap = true, silent = true, desc = "Toggle Auto Wrap Line" })
map("i", "<A-z>", "<Esc><cmd>set wrap!<CR>a", { noremap = true, silent = true, desc = "Toggle Auto Wrap Line" })

View File

@ -1,10 +1,10 @@
-- 編輯器行為設定
vim.api.nvim_set_option("clipboard", "unnamedplus") -- 使用系統剪貼簿(nvim Wayland有直接支援不須依賴vim-wayland-clipboard
vim.opt.confirm = true -- 操作過程有衝突時,以明確的文字來詢問
vim.opt.history = 10000 -- 設定命令歷史記錄數量為 10000
-- vim.opt.directory = "." -- 將暫存檔存放在當前資料夾中
-- require("tools.swap") -- 將暫存檔存放置位置另外做邏輯
vim.opt.mouse = "a" -- 啟用滑鼠支援
vim.api.nvim_set_option("clipboard", "unnamedplus") -- 使用系統剪貼簿(Wayland有直接支援不須依賴vim-wayland-clipboard
vim.opt.confirm = true -- 操作過程有衝突時,以明確的文字來詢問
vim.opt.history = 10000 -- 設定命令歷史記錄數量為 10000
-- vim.opt.directory = "." -- 將暫存檔存放在當前資料夾中
-- require("config.swap") -- 將暫存檔存放置位置另外做邏輯
vim.opt.mouse = "a" -- 啟用滑鼠支援
-- 編碼設定
vim.opt.encoding = "utf-8"
@ -12,16 +12,15 @@ vim.opt.fileencodings = { "utf-8", "cp950" }
vim.opt.enc = "utf-8"
-- 設定編輯選項
vim.opt.number = true -- 顯示行號
vim.opt.relativenumber = false -- 相對行號
vim.opt.tabstop = 4 -- tab鍵寬度
vim.opt.shiftwidth = 4 -- 自動縮排寬度
vim.opt.expandtab = true -- 使用空格代替tab
vim.opt.termguicolors = true -- 支持真彩色
vim.opt.wrap = true -- 不自動換折行
vim.opt.number = true -- 顯示行號
vim.opt.relativenumber = false -- 相對行號
vim.opt.tabstop = 4 -- tab鍵寬度
vim.opt.shiftwidth = 4 -- 自動縮排寬度
vim.opt.expandtab = true -- 使用空格代替tab
vim.opt.termguicolors = true -- 支持真彩色
vim.opt.colorcolumn = "80,120" -- 顯示編輯器建議寬度
vim.opt.scrolloff = 3 -- 捲動時保留 n 行彈性
require("config.listchars") -- 顯示行尾符號
vim.opt.scrolloff = 3 -- 捲動時保留 n 行彈性
require("config.listchars") -- 顯示行尾符號
vim.opt.list = true
-- 設定正確的檔案類型對應

View File

@ -1,39 +0,0 @@
return {
{
"folke/trouble.nvim",
opts = {}, -- for default options, refer to the configuration section for custom setup.
cmd = "Trouble",
keys = {
{
"<leader>xx",
"<cmd>Trouble diagnostics toggle<cr>",
desc = "Diagnostics (Trouble)",
},
{
"<leader>xX",
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
desc = "Buffer Diagnostics (Trouble)",
},
{
"<leader>cs",
"<cmd>Trouble symbols toggle focus=false<cr>",
desc = "Symbols (Trouble)",
},
{
"<leader>cl",
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
desc = "LSP Definitions / references / ... (Trouble)",
},
{
"<leader>xL",
"<cmd>Trouble loclist toggle<cr>",
desc = "Location List (Trouble)",
},
{
"<leader>xQ",
"<cmd>Trouble qflist toggle<cr>",
desc = "Quickfix List (Trouble)",
},
},
},
}

View File

@ -5,46 +5,24 @@ return {
-- 'lewis6991/gitsigns.nvim', -- OPTIONAL: for git status
'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons
},
lazy = false,
init = function() vim.g.barbar_auto_setup = false end,
opts = {
-- lazy.nvim will automatically call setup for you. put your options here, anything missing will use the default:
auto_hide = -1,
clickable = true,
icons = {
buffer_index = false,
buffer_number = false,
button = '',
diagnostics = {{enabled = true}, {enabled = true}},
filetype = {enabled = true},
separator = {left = '', right = ''},
-- separator = {left = '', right = ''},
},
sidebar_filetypes = {
['neo-tree'] = {event = 'BufWipeout'},
undotree = {
text = 'undotree',
align = 'center', -- *optionally* specify an alignment (either 'left', 'center', or 'right')
},
},
-- icons = {current = {filetype = {enabled = false}}},
-- maximum_padding = math.huge,
-- animation = false,
-- insert_at_start = true,
-- …etc.
},
-- opts = {
-- -- lazy.nvim will automatically call setup for you. put your options here, anything missing will use the default:
-- -- animation = false,
-- -- insert_at_start = true,
-- -- …etc.
-- },
config = function(_, opts)
-- require'bufferline'.setup {
-- -- animation = false, -- 禁用動畫效果
-- sidebar_filetypes = {
-- ['neo-tree'] = {event = 'BufWipeout'},
-- undotree = {
-- text = 'undotree',
-- align = 'center', -- *optionally* specify an alignment (either 'left', 'center', or 'right')
-- },
-- },
-- }
require('barbar').setup(opts)
require'bufferline'.setup {
-- animation = false, -- 禁用動畫效果
sidebar_filetypes = {
['neo-tree'] = {event = 'BufWipeout'},
undotree = {
text = 'undotree',
align = 'center', -- *optionally* specify an alignment (either 'left', 'center', or 'right')
},
},
}
-- 重定義 :q 命令為僅關閉當前 Buffer
vim.api.nvim_create_user_command('Q', function()

View File

@ -12,7 +12,6 @@ return {
build = ":TSUpdate",
config = function()
require("nvim-treesitter.configs").setup({
-- <https://github.com/nvim-treesitter/nvim-treesitter#supported-languages>
ensure_installed = {
"regex",
"lua",

View File

@ -43,20 +43,8 @@ return {
{ "hrsh7th/nvim-cmp" },
-- " For luasnip users.
{
"L3MON4D3/LuaSnip",
dependencies = {
"rafamadriz/friendly-snippets",
},
config = function()
require("luasnip.loaders.from_vscode").lazy_load()
end,
},
{ "L3MON4D3/LuaSnip" },
{ "saadparwaiz1/cmp_luasnip" },
-- { "rafamadriz/friendly-snippets" },
{ "onsails/lspkind.nvim",
lazy = true,
}
{ "rafamadriz/friendly-snippets" },
}

View File

@ -5,7 +5,7 @@ cmp.setup({
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
-- vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
-- require('snippy').expand_snippet(args.body) -- For `snippy` users.
-- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
@ -18,8 +18,22 @@ cmp.setup({
-- require("cmp.config").set_onetime({ sources = {} })
end,
},
-- 設定來源
-- <https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-custom-icons-for-any-source>
window = {
-- completion = cmp.config.window.bordered(),
-- documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
-- AI範例:
-- ["<Tab>"] = cmp.mapping.select_next_item(),
-- ["<S-Tab>"] = cmp.mapping.select_prev_item(),
-- ["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
-- { name = 'vsnip' }, -- For vsnip users.
@ -28,78 +42,7 @@ cmp.setup({
-- { name = 'snippy' }, -- For snippy users.
}, {
{ name = 'buffer' },
{ name = 'path' },
}),
-- 按鍵對應
mapping = cmp.mapping.preset.insert({
["<C-p>"] = cmp.mapping.select_prev_item(),
["<C-n>"] = cmp.mapping.select_next_item(),
-- ["<C-d>"] = cmp.mapping.scroll_docs(-4), --已知會衝到,先關閉
-- ["<C-f>"] = cmp.mapping.scroll_docs(4), --已知會衝到,先關閉
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
-- ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
["<CR>"] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Insert,
select = true,
},
-- ["<Tab>"] = cmp.mapping.confirm {
-- behavior = cmp.ConfirmBehavior.Insert,
-- select = true,
-- },
-- -- 取自 <https://github.com/NvChad/NvChad/blob/v2.5/lua/nvchad/configs/cmp.lua>
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.confirm {
behavior = cmp.ConfirmBehavior.Insert,
select = true,
}
-- cmp.select_next_item() -- NvChad原始作用
elseif require("luasnip").expand_or_jumpable() then
require("luasnip").expand_or_jump()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
fallback()
-- cmp.select_prev_item() -- NvChad原始作用
elseif require("luasnip").jumpable(-1) then
require("luasnip").jump(-1)
else
fallback()
end
end, { "i", "s" }),
-- AI範例:
-- ["<Tab>"] = cmp.mapping.select_next_item(),
-- ["<S-Tab>"] = cmp.mapping.select_prev_item(),
-- ["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
-- 外觀設定
window = {
completion = {
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None",
col_offset = -3,
side_padding = 0,
},
},
formatting = {
fields = { "kind", "abbr", "menu" },
format = function(entry, vim_item)
local kind = require("lspkind").cmp_format({ mode = "symbol_text", maxwidth = 50 })(entry, vim_item)
local strings = vim.split(kind.kind, "%s", { trimempty = true })
kind.kind = " " .. (strings[1] or "") .. " "
kind.menu = " (" .. (strings[2] or "") .. ")"
return kind
end,
},
})
})
-- To use git you need to install the plugin petertriho/cmp-git and uncomment lines below

View File

@ -11,7 +11,6 @@ Name=Breath2
Parent=FALLBACK/
ShowTerminalSizeHint=true
TerminalCenter=false
TerminalMargin=0
[Interaction Options]
OpenLinksByDirectClickEnabled=true