kickstart.nvim/lua/custom/plugins/01-opts.lua

134 lines
3.0 KiB
Lua

-- noswap
vim.o.swapfile = false
vim.o.guifont = 'JetBrainsMono Nerd Font Mono:h15:sb'
vim.o.list = false
-- disable spell for pandoc
vim.api.nvim_set_var('pandoc#spell#enabled', 0)
-- markdown multi table format
vim.g.table_mode_corner_corner = '+'
vim.g.table_mode_header_fillchar = '='
-- markdown bullet and numbering indent
vim.o.breakindentopt = 'list:-1'
-- lsp border
vim.o.winborder = 'rounded'
sysname = vim.loop.os_uname().sysname
isWindows = sysname == 'Windows_NT'
isMac = sysname == 'Darwin'
isLinux = sysname == 'Linux'
-- neovide auto focus
if vim.g.neovide then
vim.defer_fn(function()
vim.cmd 'NeovideFocus'
end, 200)
if isWindows then
-- new neovide window in Windows
vim.keymap.set('n', '<C-n>', ':silent !neovide<cr>', {
desc = 'Python',
noremap = true,
silent = true,
})
vim.keymap.set('i', '<C-n>', ':silent !neovide<cr>', {
desc = 'Python',
noremap = true,
silent = true,
})
else
-- new neovide window in MACOS
vim.keymap.set('n', '<D-n>', ':silent !neovide<cr>', {
desc = 'Python',
noremap = true,
silent = true,
})
vim.keymap.set('i', '<D-n>', ':silent !neovide<cr>', {
desc = 'Python',
noremap = true,
silent = true,
})
end
else
-- new nvim-qt window in Android
vim.keymap.set('n', '<M-n>', ':silent !nvim-qt<cr>', {
desc = 'Python',
noremap = true,
silent = true,
})
end
if isWindows then
vim.g.python3_host_prog = 'C:\\Users\\yokow\\miniforge3\\envs\\labs\\python.exe'
end
-- independent clipboard
vim.opt.clipboard = ''
-- set autoindent expandtab tabstop=2 shiftwidth=2
vim.o.autoindent = true
vim.o.expandtab = true
vim.o.tabstop = 2
vim.o.shiftwidth = 2
vim.o.smartindent = true
vim.o.foldlevel = 20
vim.opt.confirm = true
vim.g.have_nerd_font = true
-- Enable line numbers (both absolute and relative)
vim.wo.relativenumber = true
-- "Keep it Centered
-- Create nnoremap mappings
vim.api.nvim_set_keymap('n', 'n', 'nzzzv', {
noremap = true,
silent = true,
})
vim.api.nvim_set_keymap('n', 'N', 'Nzzzv', {
noremap = true,
silent = true,
})
vim.o.hlsearch = true
vim.api.nvim_set_keymap('n', '<leader>cpr', ':CphReceive<cr>', {
noremap = true,
silent = false,
desc = '[C]ompetitive [P]rogramming [R]eceive',
})
vim.api.nvim_set_keymap('n', '<leader>cpt', ':CphTest<cr>', {
noremap = true,
silent = false,
desc = '[C]ompetitive [P]rogramming [T]est',
})
-- save Cursor
vim.cmd [[
autocmd BufReadPost *
\ if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' &&
\ line("'\"") > 1 &&
\ line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
]]
vim.o.encoding = 'utf-8'
vim.g.markdown_fenced_languages = { 'html', 'python', 'lua', 'vim', 'typescript', 'javascript' }
-- session options
vim.opt.sessionoptions = {
'buffers', -- save all loaded buffers
'curdir', -- save current directory
'tabpages', -- save tab pages
'winsize', -- save window sizes
'terminal', -- save terminal state
}
return {}