mirror of
https://github.com/bgrolleman/dotfiles.git
synced 2026-06-24 22:50:44 +02:00
Cleanup nvim with Claude
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
// TokyoNight Night theme for gitui
|
||||||
|
(
|
||||||
|
selected_tab: Reset,
|
||||||
|
command_fg: Rgb(192, 202, 245),
|
||||||
|
selection_bg: Rgb(41, 46, 66),
|
||||||
|
selection_fg: Rgb(192, 202, 245),
|
||||||
|
cmdbar_bg: Rgb(26, 27, 38),
|
||||||
|
cmdbar_extra_lines_bg: Rgb(26, 27, 38),
|
||||||
|
disabled_fg: Rgb(86, 95, 137),
|
||||||
|
diff_line_add: Rgb(158, 206, 106),
|
||||||
|
diff_line_delete: Rgb(247, 118, 142),
|
||||||
|
diff_file_added: Rgb(115, 218, 202),
|
||||||
|
diff_file_removed: Rgb(247, 118, 142),
|
||||||
|
diff_file_moved: Rgb(187, 154, 247),
|
||||||
|
diff_file_modified: Rgb(224, 175, 104),
|
||||||
|
commit_hash: Rgb(187, 154, 247),
|
||||||
|
commit_time: Rgb(125, 207, 255),
|
||||||
|
commit_author: Rgb(158, 206, 106),
|
||||||
|
danger_fg: Rgb(247, 118, 142),
|
||||||
|
push_gauge_bg: Rgb(65, 72, 104),
|
||||||
|
push_gauge_fg: Rgb(192, 202, 245),
|
||||||
|
tag_fg: Rgb(187, 154, 247),
|
||||||
|
branch_fg: Rgb(224, 175, 104),
|
||||||
|
)
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
local rocks_config = {
|
|
||||||
rocks_path = vim.env.HOME .. "/.local/share/nvim/rocks",
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.g.rocks_nvim = rocks_config
|
|
||||||
|
|
||||||
local luarocks_path = {
|
|
||||||
vim.fs.joinpath(rocks_config.rocks_path, "share", "lua", "5.1", "?.lua"),
|
|
||||||
vim.fs.joinpath(rocks_config.rocks_path, "share", "lua", "5.1", "?", "init.lua"),
|
|
||||||
}
|
|
||||||
package.path = package.path .. ";" .. table.concat(luarocks_path, ";")
|
|
||||||
|
|
||||||
local luarocks_cpath = {
|
|
||||||
vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.so"),
|
|
||||||
vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.so"),
|
|
||||||
-- Remove the dylib and dll paths if you do not need macos or windows support
|
|
||||||
vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.dylib"),
|
|
||||||
vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.dylib"),
|
|
||||||
vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.dll"),
|
|
||||||
vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.dll"),
|
|
||||||
}
|
|
||||||
package.cpath = package.cpath .. ";" .. table.concat(luarocks_cpath, ";")
|
|
||||||
|
|
||||||
vim.opt.runtimepath:append(vim.fs.joinpath(rocks_config.rocks_path, "lib", "luarocks", "rocks-5.1", "rocks.nvim", "*"))
|
|
||||||
@@ -1,355 +0,0 @@
|
|||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => General
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
set mouse=a
|
|
||||||
" Sets how many lines of history VIM has to remember
|
|
||||||
set history=500
|
|
||||||
|
|
||||||
" Enable filetype plugins
|
|
||||||
filetype plugin on
|
|
||||||
filetype indent on
|
|
||||||
|
|
||||||
" Set to auto read when a file is changed from the outside
|
|
||||||
set autoread
|
|
||||||
au FocusGained,BufEnter * checktime
|
|
||||||
|
|
||||||
" With a map leader it's possible to do extra key combinations
|
|
||||||
" like <leader>w saves the current file
|
|
||||||
let mapleader = ","
|
|
||||||
|
|
||||||
" Fast saving
|
|
||||||
nmap <leader>s :w!<cr>
|
|
||||||
|
|
||||||
" :W sudo saves the file
|
|
||||||
" (useful for handling the permission-denied error)
|
|
||||||
command! W execute 'w !sudo tee % > /dev/null' <bar> edit!
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => VIM user interface
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Set 7 lines to the cursor - when moving vertically using j/k
|
|
||||||
set so=7
|
|
||||||
|
|
||||||
" Avoid garbled characters in Chinese language windows OS
|
|
||||||
let $LANG='en'
|
|
||||||
set langmenu=en
|
|
||||||
source $VIMRUNTIME/delmenu.vim
|
|
||||||
source $VIMRUNTIME/menu.vim
|
|
||||||
|
|
||||||
" Turn on the Wild menu
|
|
||||||
set wildmenu
|
|
||||||
|
|
||||||
" Ignore compiled files
|
|
||||||
set wildignore=*.o,*~,*.pyc
|
|
||||||
if has("win16") || has("win32")
|
|
||||||
set wildignore+=.git\*,.hg\*,.svn\*
|
|
||||||
else
|
|
||||||
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
|
|
||||||
endif
|
|
||||||
|
|
||||||
"Always show current position
|
|
||||||
set ruler
|
|
||||||
|
|
||||||
" Height of the command bar
|
|
||||||
set cmdheight=1
|
|
||||||
|
|
||||||
" A buffer becomes hidden when it is abandoned
|
|
||||||
set hid
|
|
||||||
|
|
||||||
" Configure backspace so it acts as it should act
|
|
||||||
set backspace=eol,start,indent
|
|
||||||
set whichwrap+=<,>,h,l
|
|
||||||
|
|
||||||
" Ignore case when searching
|
|
||||||
set ignorecase
|
|
||||||
|
|
||||||
" When searching try to be smart about cases
|
|
||||||
set smartcase
|
|
||||||
|
|
||||||
" Highlight search results
|
|
||||||
set hlsearch
|
|
||||||
|
|
||||||
" Makes search act like search in modern browsers
|
|
||||||
set incsearch
|
|
||||||
|
|
||||||
" Don't redraw while executing macros (good performance config)
|
|
||||||
set lazyredraw
|
|
||||||
|
|
||||||
" For regular expressions turn magic on
|
|
||||||
set magic
|
|
||||||
|
|
||||||
" Show matching brackets when text indicator is over them
|
|
||||||
set showmatch
|
|
||||||
" How many tenths of a second to blink when matching brackets
|
|
||||||
set mat=2
|
|
||||||
|
|
||||||
" No annoying sound on errors
|
|
||||||
set noerrorbells
|
|
||||||
set novisualbell
|
|
||||||
set t_vb=
|
|
||||||
set tm=500
|
|
||||||
|
|
||||||
" Properly disable sound on errors on MacVim
|
|
||||||
if has("gui_macvim")
|
|
||||||
autocmd GUIEnter * set vb t_vb=
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
" Add a bit extra margin to the left
|
|
||||||
set foldcolumn=1
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Colors and Fonts
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Enable syntax highlighting
|
|
||||||
syntax enable
|
|
||||||
|
|
||||||
" Enable 256 colors palette in Gnome Terminal
|
|
||||||
if $COLORTERM == 'gnome-terminal'
|
|
||||||
set t_Co=256
|
|
||||||
endif
|
|
||||||
|
|
||||||
try
|
|
||||||
colorscheme darkelf
|
|
||||||
catch
|
|
||||||
endtry
|
|
||||||
|
|
||||||
set background=dark
|
|
||||||
|
|
||||||
" Set extra options when running in GUI mode
|
|
||||||
if has("gui_running")
|
|
||||||
set guioptions-=T
|
|
||||||
set guioptions-=e
|
|
||||||
set t_Co=256
|
|
||||||
set guitablabel=%M\ %t
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Set utf8 as standard encoding and en_US as the standard language
|
|
||||||
set encoding=utf8
|
|
||||||
|
|
||||||
" Use Unix as the standard file type
|
|
||||||
set ffs=unix,dos,mac
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Files, backups and undo
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Turn backup off, since most stuff is in SVN, git etc. anyway...
|
|
||||||
set nobackup
|
|
||||||
set nowb
|
|
||||||
set noswapfile
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Text, tab and indent related
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Use spaces instead of tabs
|
|
||||||
set expandtab
|
|
||||||
|
|
||||||
" Be smart when using tabs ;)
|
|
||||||
set smarttab
|
|
||||||
|
|
||||||
" 1 tab == 4 spaces
|
|
||||||
set shiftwidth=4
|
|
||||||
set tabstop=4
|
|
||||||
|
|
||||||
" Linebreak on 500 characters
|
|
||||||
set lbr
|
|
||||||
set tw=500
|
|
||||||
|
|
||||||
set ai "Auto indent
|
|
||||||
set si "Smart indent
|
|
||||||
set wrap "Wrap lines
|
|
||||||
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""
|
|
||||||
" => Visual mode related
|
|
||||||
""""""""""""""""""""""""""""""
|
|
||||||
" Visual mode pressing * or # searches for the current selection
|
|
||||||
" Super useful! From an idea by Michael Naumann
|
|
||||||
vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
|
|
||||||
vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Moving around, tabs, windows and buffers
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Map <Space> to / (search) and Ctrl-<Space> to ? (backwards search)
|
|
||||||
"map <space> /
|
|
||||||
"map <C-space> ?
|
|
||||||
|
|
||||||
" Disable highlight when <leader><cr> is pressed
|
|
||||||
map <silent> <leader><cr> :noh<cr>
|
|
||||||
|
|
||||||
" Smart way to move between windows
|
|
||||||
map <C-j> <C-W>j
|
|
||||||
map <C-k> <C-W>k
|
|
||||||
map <C-h> <C-W>h
|
|
||||||
map <C-l> <C-W>l
|
|
||||||
|
|
||||||
" Close the current buffer
|
|
||||||
map <leader>bd :Bclose<cr>:tabclose<cr>gT
|
|
||||||
|
|
||||||
" Close all the buffers
|
|
||||||
map <leader>ba :bufdo bd<cr>
|
|
||||||
|
|
||||||
map <leader>bl :bnext<cr>
|
|
||||||
map <leader>bh :bprevious<cr>
|
|
||||||
|
|
||||||
" Useful mappings for managing tabs
|
|
||||||
map <leader>tn :tabnew<cr>
|
|
||||||
map <leader>to :tabonly<cr>
|
|
||||||
map <leader>tc :tabclose<cr>
|
|
||||||
map <leader>tm :tabmove
|
|
||||||
map <leader>t<leader> :tabnext
|
|
||||||
|
|
||||||
" Let 'tl' toggle between this and the last accessed tab
|
|
||||||
let g:lasttab = 1
|
|
||||||
nmap <Leader>tl :exe "tabn ".g:lasttab<CR>
|
|
||||||
au TabLeave * let g:lasttab = tabpagenr()
|
|
||||||
|
|
||||||
|
|
||||||
" Opens a new tab with the current buffer's path
|
|
||||||
" Super useful when editing files in the same directory
|
|
||||||
map <leader>te :tabedit <C-r>=expand("%:p:h")<cr>/
|
|
||||||
|
|
||||||
" Switch CWD to the directory of the open buffer
|
|
||||||
map <leader>cd :cd %:p:h<cr>:pwd<cr>
|
|
||||||
|
|
||||||
" Specify the behavior when switching between buffers
|
|
||||||
try
|
|
||||||
set switchbuf=useopen,usetab,newtab
|
|
||||||
set stal=2
|
|
||||||
catch
|
|
||||||
endtry
|
|
||||||
|
|
||||||
" Return to last edit position when opening files (You want this!)
|
|
||||||
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
|
|
||||||
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""
|
|
||||||
" => Status line
|
|
||||||
""""""""""""""""""""""""""""""
|
|
||||||
" Always show the status line
|
|
||||||
set laststatus=2
|
|
||||||
|
|
||||||
" Format the status line
|
|
||||||
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Editing mappings
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Remap VIM 0 to first non-blank character
|
|
||||||
map 0 ^
|
|
||||||
|
|
||||||
" Move a line of text using ALT+[jk] or Command+[jk] on mac
|
|
||||||
nmap <M-j> mz:m+<cr>`z
|
|
||||||
nmap <M-k> mz:m-2<cr>`z
|
|
||||||
vmap <M-j> :m'>+<cr>`<my`>mzgv`yo`z
|
|
||||||
vmap <M-k> :m'<-2<cr>`>my`<mzgv`yo`z
|
|
||||||
|
|
||||||
if has("mac") || has("macunix")
|
|
||||||
nmap <D-j> <M-j>
|
|
||||||
nmap <D-k> <M-k>
|
|
||||||
vmap <D-j> <M-j>
|
|
||||||
vmap <D-k> <M-k>
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Delete trailing white space on save, useful for some filetypes ;)
|
|
||||||
fun! CleanExtraSpaces()
|
|
||||||
let save_cursor = getpos(".")
|
|
||||||
let old_query = getreg('/')
|
|
||||||
silent! %s/\s\+$//e
|
|
||||||
call setpos('.', save_cursor)
|
|
||||||
call setreg('/', old_query)
|
|
||||||
endfun
|
|
||||||
|
|
||||||
if has("autocmd")
|
|
||||||
autocmd BufWritePre *.txt,*.js,*.py,*.wiki,*.sh,*.coffee :call CleanExtraSpaces()
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Spell checking
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Pressing ,ss will toggle and untoggle spell checking
|
|
||||||
map <leader>ss :setlocal spell!<cr>
|
|
||||||
|
|
||||||
" Shortcuts using <leader>
|
|
||||||
map <leader>sn ]s
|
|
||||||
map <leader>sp [s
|
|
||||||
map <leader>sa zg
|
|
||||||
map <leader>s? z=
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Misc
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Remove the Windows ^M - when the encodings gets messed up
|
|
||||||
noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm
|
|
||||||
|
|
||||||
" Quickly open a buffer for scribble
|
|
||||||
map <leader>q :e ~/buffer<cr>
|
|
||||||
|
|
||||||
" Quickly open a markdown buffer for scribble
|
|
||||||
map <leader>x :e ~/buffer.md<cr>
|
|
||||||
|
|
||||||
" Toggle paste mode on and off
|
|
||||||
map <leader>pp :setlocal paste!<cr>
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Helper functions
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Returns true if paste mode is enabled
|
|
||||||
function! HasPaste()
|
|
||||||
if &paste
|
|
||||||
return 'PASTE MODE '
|
|
||||||
endif
|
|
||||||
return ''
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Don't close window, when deleting a buffer
|
|
||||||
command! Bclose call <SID>BufcloseCloseIt()
|
|
||||||
function! <SID>BufcloseCloseIt()
|
|
||||||
let l:currentBufNum = bufnr("%")
|
|
||||||
let l:alternateBufNum = bufnr("#")
|
|
||||||
|
|
||||||
if buflisted(l:alternateBufNum)
|
|
||||||
buffer #
|
|
||||||
else
|
|
||||||
bnext
|
|
||||||
endif
|
|
||||||
|
|
||||||
if bufnr("%") == l:currentBufNum
|
|
||||||
new
|
|
||||||
endif
|
|
||||||
|
|
||||||
if buflisted(l:currentBufNum)
|
|
||||||
execute("bdelete! ".l:currentBufNum)
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! CmdLine(str)
|
|
||||||
call feedkeys(":" . a:str)
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! VisualSelection(direction, extra_filter) range
|
|
||||||
let l:saved_reg = @"
|
|
||||||
execute "normal! vgvy"
|
|
||||||
|
|
||||||
let l:pattern = escape(@", "\\/.*'$^~[]")
|
|
||||||
let l:pattern = substitute(l:pattern, "\n$", "", "")
|
|
||||||
|
|
||||||
if a:direction == 'gv'
|
|
||||||
call CmdLine("Ack '" . l:pattern . "' " )
|
|
||||||
elseif a:direction == 'replace'
|
|
||||||
call CmdLine("%s" . '/'. l:pattern . '/')
|
|
||||||
endif
|
|
||||||
|
|
||||||
let @/ = l:pattern
|
|
||||||
let @" = l:saved_reg
|
|
||||||
endfunction
|
|
||||||
@@ -1,357 +0,0 @@
|
|||||||
lua require('config.lazy')
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => General
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
set mouse=a
|
|
||||||
" Sets how many lines of history VIM has to remember
|
|
||||||
set history=500
|
|
||||||
|
|
||||||
" Enable filetype plugins
|
|
||||||
filetype plugin on
|
|
||||||
filetype indent on
|
|
||||||
|
|
||||||
" Set to auto read when a file is changed from the outside
|
|
||||||
set autoread
|
|
||||||
au FocusGained,BufEnter * checktime
|
|
||||||
|
|
||||||
" With a map leader it's possible to do extra key combinations
|
|
||||||
" like <leader>w saves the current file
|
|
||||||
let mapleader = ","
|
|
||||||
|
|
||||||
" Fast saving
|
|
||||||
nmap <leader>s :w!<cr>
|
|
||||||
|
|
||||||
" :W sudo saves the file
|
|
||||||
" (useful for handling the permission-denied error)
|
|
||||||
command! W execute 'w !sudo tee % > /dev/null' <bar> edit!
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => VIM user interface
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Set 7 lines to the cursor - when moving vertically using j/k
|
|
||||||
set so=7
|
|
||||||
|
|
||||||
" Avoid garbled characters in Chinese language windows OS
|
|
||||||
let $LANG='en'
|
|
||||||
set langmenu=en
|
|
||||||
source $VIMRUNTIME/delmenu.vim
|
|
||||||
source $VIMRUNTIME/menu.vim
|
|
||||||
|
|
||||||
" Turn on the Wild menu
|
|
||||||
set wildmenu
|
|
||||||
|
|
||||||
" Ignore compiled files
|
|
||||||
set wildignore=*.o,*~,*.pyc
|
|
||||||
if has("win16") || has("win32")
|
|
||||||
set wildignore+=.git\*,.hg\*,.svn\*
|
|
||||||
else
|
|
||||||
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
|
|
||||||
endif
|
|
||||||
|
|
||||||
"Always show current position
|
|
||||||
set ruler
|
|
||||||
|
|
||||||
" Height of the command bar
|
|
||||||
set cmdheight=1
|
|
||||||
|
|
||||||
" A buffer becomes hidden when it is abandoned
|
|
||||||
set hid
|
|
||||||
|
|
||||||
" Configure backspace so it acts as it should act
|
|
||||||
set backspace=eol,start,indent
|
|
||||||
set whichwrap+=<,>,h,l
|
|
||||||
|
|
||||||
" Ignore case when searching
|
|
||||||
set ignorecase
|
|
||||||
|
|
||||||
" When searching try to be smart about cases
|
|
||||||
set smartcase
|
|
||||||
|
|
||||||
" Highlight search results
|
|
||||||
set hlsearch
|
|
||||||
|
|
||||||
" Makes search act like search in modern browsers
|
|
||||||
set incsearch
|
|
||||||
|
|
||||||
" Don't redraw while executing macros (good performance config)
|
|
||||||
set lazyredraw
|
|
||||||
|
|
||||||
" For regular expressions turn magic on
|
|
||||||
set magic
|
|
||||||
|
|
||||||
" Show matching brackets when text indicator is over them
|
|
||||||
set showmatch
|
|
||||||
" How many tenths of a second to blink when matching brackets
|
|
||||||
set mat=2
|
|
||||||
|
|
||||||
" No annoying sound on errors
|
|
||||||
set noerrorbells
|
|
||||||
set novisualbell
|
|
||||||
set t_vb=
|
|
||||||
set tm=500
|
|
||||||
|
|
||||||
" Properly disable sound on errors on MacVim
|
|
||||||
if has("gui_macvim")
|
|
||||||
autocmd GUIEnter * set vb t_vb=
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
" Add a bit extra margin to the left
|
|
||||||
set foldcolumn=1
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Colors and Fonts
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Enable syntax highlighting
|
|
||||||
syntax enable
|
|
||||||
|
|
||||||
" Enable 256 colors palette in Gnome Terminal
|
|
||||||
if $COLORTERM == 'gnome-terminal'
|
|
||||||
set t_Co=256
|
|
||||||
endif
|
|
||||||
|
|
||||||
try
|
|
||||||
colorscheme darkelf
|
|
||||||
catch
|
|
||||||
endtry
|
|
||||||
|
|
||||||
set background=dark
|
|
||||||
|
|
||||||
" Set extra options when running in GUI mode
|
|
||||||
if has("gui_running")
|
|
||||||
set guioptions-=T
|
|
||||||
set guioptions-=e
|
|
||||||
set t_Co=256
|
|
||||||
set guitablabel=%M\ %t
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Set utf8 as standard encoding and en_US as the standard language
|
|
||||||
set encoding=utf8
|
|
||||||
|
|
||||||
" Use Unix as the standard file type
|
|
||||||
set ffs=unix,dos,mac
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Files, backups and undo
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Turn backup off, since most stuff is in SVN, git etc. anyway...
|
|
||||||
set nobackup
|
|
||||||
set nowb
|
|
||||||
set noswapfile
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Text, tab and indent related
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Use spaces instead of tabs
|
|
||||||
set expandtab
|
|
||||||
|
|
||||||
" Be smart when using tabs ;)
|
|
||||||
set smarttab
|
|
||||||
|
|
||||||
" 1 tab == 4 spaces
|
|
||||||
set shiftwidth=4
|
|
||||||
set tabstop=4
|
|
||||||
|
|
||||||
" Linebreak on 500 characters
|
|
||||||
set lbr
|
|
||||||
set tw=500
|
|
||||||
|
|
||||||
set ai "Auto indent
|
|
||||||
set si "Smart indent
|
|
||||||
set wrap "Wrap lines
|
|
||||||
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""
|
|
||||||
" => Visual mode related
|
|
||||||
""""""""""""""""""""""""""""""
|
|
||||||
" Visual mode pressing * or # searches for the current selection
|
|
||||||
" Super useful! From an idea by Michael Naumann
|
|
||||||
vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
|
|
||||||
vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Moving around, tabs, windows and buffers
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Map <Space> to / (search) and Ctrl-<Space> to ? (backwards search)
|
|
||||||
map <space> /
|
|
||||||
map <C-space> ?
|
|
||||||
|
|
||||||
" Disable highlight when <leader><cr> is pressed
|
|
||||||
map <silent> <leader><cr> :noh<cr>
|
|
||||||
|
|
||||||
" Smart way to move between windows
|
|
||||||
map <C-j> <C-W>j
|
|
||||||
map <C-k> <C-W>k
|
|
||||||
map <C-h> <C-W>h
|
|
||||||
map <C-l> <C-W>l
|
|
||||||
|
|
||||||
" Close the current buffer
|
|
||||||
map <leader>bd :Bclose<cr>:tabclose<cr>gT
|
|
||||||
|
|
||||||
" Close all the buffers
|
|
||||||
map <leader>ba :bufdo bd<cr>
|
|
||||||
|
|
||||||
map <leader>bl :bnext<cr>
|
|
||||||
map <leader>bh :bprevious<cr>
|
|
||||||
|
|
||||||
" Useful mappings for managing tabs
|
|
||||||
map <leader>tn :tabnew<cr>
|
|
||||||
map <leader>to :tabonly<cr>
|
|
||||||
map <leader>tc :tabclose<cr>
|
|
||||||
map <leader>tm :tabmove
|
|
||||||
map <leader>t<leader> :tabnext
|
|
||||||
|
|
||||||
" Let 'tl' toggle between this and the last accessed tab
|
|
||||||
let g:lasttab = 1
|
|
||||||
nmap <Leader>tl :exe "tabn ".g:lasttab<CR>
|
|
||||||
au TabLeave * let g:lasttab = tabpagenr()
|
|
||||||
|
|
||||||
|
|
||||||
" Opens a new tab with the current buffer's path
|
|
||||||
" Super useful when editing files in the same directory
|
|
||||||
map <leader>te :tabedit <C-r>=expand("%:p:h")<cr>/
|
|
||||||
|
|
||||||
" Switch CWD to the directory of the open buffer
|
|
||||||
map <leader>cd :cd %:p:h<cr>:pwd<cr>
|
|
||||||
|
|
||||||
" Specify the behavior when switching between buffers
|
|
||||||
try
|
|
||||||
set switchbuf=useopen,usetab,newtab
|
|
||||||
set stal=2
|
|
||||||
catch
|
|
||||||
endtry
|
|
||||||
|
|
||||||
" Return to last edit position when opening files (You want this!)
|
|
||||||
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
|
|
||||||
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""
|
|
||||||
" => Status line
|
|
||||||
""""""""""""""""""""""""""""""
|
|
||||||
" Always show the status line
|
|
||||||
set laststatus=2
|
|
||||||
|
|
||||||
" Format the status line
|
|
||||||
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Editing mappings
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Remap VIM 0 to first non-blank character
|
|
||||||
map 0 ^
|
|
||||||
|
|
||||||
" Move a line of text using ALT+[jk] or Command+[jk] on mac
|
|
||||||
nmap <M-j> mz:m+<cr>`z
|
|
||||||
nmap <M-k> mz:m-2<cr>`z
|
|
||||||
vmap <M-j> :m'>+<cr>`<my`>mzgv`yo`z
|
|
||||||
vmap <M-k> :m'<-2<cr>`>my`<mzgv`yo`z
|
|
||||||
|
|
||||||
if has("mac") || has("macunix")
|
|
||||||
nmap <D-j> <M-j>
|
|
||||||
nmap <D-k> <M-k>
|
|
||||||
vmap <D-j> <M-j>
|
|
||||||
vmap <D-k> <M-k>
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Delete trailing white space on save, useful for some filetypes ;)
|
|
||||||
fun! CleanExtraSpaces()
|
|
||||||
let save_cursor = getpos(".")
|
|
||||||
let old_query = getreg('/')
|
|
||||||
silent! %s/\s\+$//e
|
|
||||||
call setpos('.', save_cursor)
|
|
||||||
call setreg('/', old_query)
|
|
||||||
endfun
|
|
||||||
|
|
||||||
if has("autocmd")
|
|
||||||
autocmd BufWritePre *.txt,*.js,*.py,*.wiki,*.sh,*.coffee :call CleanExtraSpaces()
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Spell checking
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Pressing ,ss will toggle and untoggle spell checking
|
|
||||||
map <leader>ss :setlocal spell!<cr>
|
|
||||||
|
|
||||||
" Shortcuts using <leader>
|
|
||||||
map <leader>sn ]s
|
|
||||||
map <leader>sp [s
|
|
||||||
map <leader>sa zg
|
|
||||||
map <leader>s? z=
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Misc
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Remove the Windows ^M - when the encodings gets messed up
|
|
||||||
noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm
|
|
||||||
|
|
||||||
" Quickly open a buffer for scribble
|
|
||||||
map <leader>q :e ~/buffer<cr>
|
|
||||||
|
|
||||||
" Quickly open a markdown buffer for scribble
|
|
||||||
map <leader>x :e ~/buffer.md<cr>
|
|
||||||
|
|
||||||
" Toggle paste mode on and off
|
|
||||||
map <leader>pp :setlocal paste!<cr>
|
|
||||||
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" => Helper functions
|
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" Returns true if paste mode is enabled
|
|
||||||
function! HasPaste()
|
|
||||||
if &paste
|
|
||||||
return 'PASTE MODE '
|
|
||||||
endif
|
|
||||||
return ''
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Don't close window, when deleting a buffer
|
|
||||||
command! Bclose call <SID>BufcloseCloseIt()
|
|
||||||
function! <SID>BufcloseCloseIt()
|
|
||||||
let l:currentBufNum = bufnr("%")
|
|
||||||
let l:alternateBufNum = bufnr("#")
|
|
||||||
|
|
||||||
if buflisted(l:alternateBufNum)
|
|
||||||
buffer #
|
|
||||||
else
|
|
||||||
bnext
|
|
||||||
endif
|
|
||||||
|
|
||||||
if bufnr("%") == l:currentBufNum
|
|
||||||
new
|
|
||||||
endif
|
|
||||||
|
|
||||||
if buflisted(l:currentBufNum)
|
|
||||||
execute("bdelete! ".l:currentBufNum)
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! CmdLine(str)
|
|
||||||
call feedkeys(":" . a:str)
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! VisualSelection(direction, extra_filter) range
|
|
||||||
let l:saved_reg = @"
|
|
||||||
execute "normal! vgvy"
|
|
||||||
|
|
||||||
let l:pattern = escape(@", "\\/.*'$^~[]")
|
|
||||||
let l:pattern = substitute(l:pattern, "\n$", "", "")
|
|
||||||
|
|
||||||
if a:direction == 'gv'
|
|
||||||
call CmdLine("Ack '" . l:pattern . "' " )
|
|
||||||
elseif a:direction == 'replace'
|
|
||||||
call CmdLine("%s" . '/'. l:pattern . '/')
|
|
||||||
endif
|
|
||||||
|
|
||||||
let @/ = l:pattern
|
|
||||||
let @" = l:saved_reg
|
|
||||||
endfunction
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# This is your rocks.nvim plugins declaration file.
|
|
||||||
# Here is a small yet pretty detailed example on how to use it:
|
|
||||||
#
|
|
||||||
# [plugins]
|
|
||||||
# nvim-treesitter = "semver_version" # e.g. "1.0.0"
|
|
||||||
|
|
||||||
# List of non-Neovim rocks.
|
|
||||||
# This includes things like `toml` or other lua packages.
|
|
||||||
[rocks]
|
|
||||||
|
|
||||||
# List of Neovim plugins to install alongside their versions.
|
|
||||||
# If the plugin name contains a dot then you must add quotes to the key name!
|
|
||||||
[plugins]
|
|
||||||
"rocks.nvim" = "2.43.1" # rocks.nvim can also manage itself :D
|
|
||||||
"rocks-config.nvim" = "3.1.0"
|
|
||||||
neorg = "9.3.0"
|
|
||||||
"rocks-git.nvim" = "2.5.3"
|
|
||||||
|
|
||||||
[plugins.nvim-treesitter]
|
|
||||||
git = "nvim-treesitter/nvim-treesitter"
|
|
||||||
rev = "v0.9.3"
|
|
||||||
+4
-18
@@ -1,20 +1,5 @@
|
|||||||
print("advent of neovim")
|
|
||||||
|
|
||||||
require("config.lazy")
|
require("config.lazy")
|
||||||
--
|
|
||||||
-- local o = vim.opt
|
|
||||||
-- o.compatible = false
|
|
||||||
-- o.number = true
|
|
||||||
-- o.cmdheight = 2
|
|
||||||
-- o.expandtab = true
|
|
||||||
-- o.smarttab = true
|
|
||||||
-- o.shiftwidth = 4
|
|
||||||
-- o.tabstop = 4
|
|
||||||
-- o.ai = true
|
|
||||||
-- o.si = true
|
|
||||||
--
|
|
||||||
-- nvim_create_user_command("InsertTodayHeader", ':pu=strftime("# %a %d %b %Y")', {})
|
|
||||||
--
|
|
||||||
vim.opt.compatible = false
|
vim.opt.compatible = false
|
||||||
vim.opt.foldmethod = "expr"
|
vim.opt.foldmethod = "expr"
|
||||||
vim.opt.foldexpr = "v:lua.MyCustomFoldExpr()"
|
vim.opt.foldexpr = "v:lua.MyCustomFoldExpr()"
|
||||||
@@ -23,7 +8,8 @@ vim.diagnostic.config({ virtual_text = true })
|
|||||||
function _G.MyCustomFoldExpr()
|
function _G.MyCustomFoldExpr()
|
||||||
local line = vim.fn.getline(vim.v.lnum)
|
local line = vim.fn.getline(vim.v.lnum)
|
||||||
if line:match("::$") then
|
if line:match("::$") then
|
||||||
return "=" -- keep the same fold level as the previous line
|
return "="
|
||||||
end
|
end
|
||||||
return vim.treesitter.foldexpr()
|
local ok, result = pcall(vim.treesitter.foldexpr)
|
||||||
|
return ok and result or "0"
|
||||||
end
|
end
|
||||||
|
|||||||
+1
-8
@@ -10,21 +10,14 @@
|
|||||||
"lazyvim.plugins.extras.editor.mini-diff",
|
"lazyvim.plugins.extras.editor.mini-diff",
|
||||||
"lazyvim.plugins.extras.editor.mini-files",
|
"lazyvim.plugins.extras.editor.mini-files",
|
||||||
"lazyvim.plugins.extras.editor.mini-move",
|
"lazyvim.plugins.extras.editor.mini-move",
|
||||||
"lazyvim.plugins.extras.editor.neo-tree",
|
|
||||||
"lazyvim.plugins.extras.editor.outline",
|
"lazyvim.plugins.extras.editor.outline",
|
||||||
"lazyvim.plugins.extras.editor.snacks_explorer",
|
|
||||||
"lazyvim.plugins.extras.editor.telescope",
|
"lazyvim.plugins.extras.editor.telescope",
|
||||||
"lazyvim.plugins.extras.lang.ansible",
|
"lazyvim.plugins.extras.lang.ansible",
|
||||||
"lazyvim.plugins.extras.lang.clojure",
|
|
||||||
"lazyvim.plugins.extras.lang.docker",
|
"lazyvim.plugins.extras.lang.docker",
|
||||||
"lazyvim.plugins.extras.lang.git",
|
"lazyvim.plugins.extras.lang.git",
|
||||||
"lazyvim.plugins.extras.lang.helm",
|
"lazyvim.plugins.extras.lang.helm",
|
||||||
"lazyvim.plugins.extras.lang.json",
|
"lazyvim.plugins.extras.lang.json",
|
||||||
"lazyvim.plugins.extras.lang.markdown",
|
"lazyvim.plugins.extras.lang.markdown",
|
||||||
"lazyvim.plugins.extras.lang.php",
|
|
||||||
"lazyvim.plugins.extras.lang.python",
|
|
||||||
"lazyvim.plugins.extras.lang.sql",
|
|
||||||
"lazyvim.plugins.extras.lang.toml",
|
|
||||||
"lazyvim.plugins.extras.lang.yaml",
|
"lazyvim.plugins.extras.lang.yaml",
|
||||||
"lazyvim.plugins.extras.util.dot",
|
"lazyvim.plugins.extras.util.dot",
|
||||||
"lazyvim.plugins.extras.util.gitui",
|
"lazyvim.plugins.extras.util.gitui",
|
||||||
@@ -35,4 +28,4 @@
|
|||||||
"NEWS.md": "11866"
|
"NEWS.md": "11866"
|
||||||
},
|
},
|
||||||
"version": 8
|
"version": 8
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,21 @@
|
|||||||
-- Autocmds are automatically loaded on the VeryLazy event
|
-- Autocmds are automatically loaded on the VeryLazy event
|
||||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
-- By this point noice.nvim has already replaced vim.notify
|
||||||
--
|
|
||||||
-- Add any additional autocmds here
|
-- Log warnings and errors to file for debugging
|
||||||
-- with `vim.api.nvim_create_autocmd`
|
local log_path = vim.fn.stdpath("log") .. "/nvim_errors.log"
|
||||||
--
|
local _notify = vim.notify
|
||||||
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
|
vim.notify = function(msg, level, opts)
|
||||||
|
if level and level >= vim.log.levels.WARN then
|
||||||
|
local f = io.open(log_path, "a")
|
||||||
|
if f then
|
||||||
|
f:write(string.format(
|
||||||
|
"[%s] %s: %s\n",
|
||||||
|
os.date("%Y-%m-%d %H:%M:%S"),
|
||||||
|
level == vim.log.levels.ERROR and "ERROR" or "WARN",
|
||||||
|
tostring(msg)
|
||||||
|
))
|
||||||
|
f:close()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return _notify(msg, level, opts)
|
||||||
|
end
|
||||||
|
|||||||
@@ -1,12 +1,2 @@
|
|||||||
-- Keymaps are automatically loaded on the VeryLazy event
|
-- Keymaps are automatically loaded on the VeryLazy event
|
||||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
-- Use legendary.nvim to add named commands to the command palette
|
||||||
-- Add any additional keymaps here
|
|
||||||
--
|
|
||||||
-- vim.api.nvim_set_keymap("i", "jj", "<Esc>", { noremap = false })
|
|
||||||
|
|
||||||
local wk = require("which-key")
|
|
||||||
|
|
||||||
wk.add({
|
|
||||||
{ "<leader>N", group = "Notes" },
|
|
||||||
{ "<leader>Nt", ":Journal<CR>", desc = "Today" },
|
|
||||||
})
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ vim.opt.rtp:prepend(lazypath)
|
|||||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||||
-- loading lazy.nvim so that mappings are correct.
|
-- loading lazy.nvim so that mappings are correct.
|
||||||
-- This is also a good place to setup other settings (vim.opt)
|
-- This is also a good place to setup other settings (vim.opt)
|
||||||
vim.g.mapleader = ","
|
vim.g.mapleader = " "
|
||||||
vim.g.maplocalleader = ","
|
vim.g.maplocalleader = "\\"
|
||||||
|
|
||||||
-- Setup lazy.nvim
|
-- Setup lazy.nvim
|
||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
|
|||||||
@@ -1,53 +0,0 @@
|
|||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
-- add LazyVim and import its plugins
|
|
||||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
|
||||||
-- import/override with your plugins
|
|
||||||
{ import = "plugins" },
|
|
||||||
},
|
|
||||||
defaults = {
|
|
||||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
|
||||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
|
||||||
lazy = false,
|
|
||||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
|
||||||
-- have outdated releases, which may break your Neovim install.
|
|
||||||
version = false, -- always use the latest git commit
|
|
||||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
|
||||||
},
|
|
||||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
|
||||||
checker = {
|
|
||||||
enabled = true, -- check for plugin updates periodically
|
|
||||||
notify = false, -- notify on update
|
|
||||||
}, -- automatically check for plugin updates
|
|
||||||
performance = {
|
|
||||||
rtp = {
|
|
||||||
-- disable some rtp plugins
|
|
||||||
disabled_plugins = {
|
|
||||||
"gzip",
|
|
||||||
-- "matchit",
|
|
||||||
-- "matchparen",
|
|
||||||
-- "netrwPlugin",
|
|
||||||
"tarPlugin",
|
|
||||||
"tohtml",
|
|
||||||
"tutor",
|
|
||||||
"zipPlugin",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
-- Options are automatically loaded before lazy.nvim startup
|
-- Options are automatically loaded before lazy.nvim startup
|
||||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||||
-- Add any additional options here
|
vim.opt.relativenumber = true
|
||||||
|
vim.opt.scrolloff = 8
|
||||||
|
vim.opt.wrap = false
|
||||||
|
vim.opt.undofile = true
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
return {
|
|
||||||
"jackMort/ChatGPT.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("chatgpt").setup({
|
|
||||||
openai_params = {
|
|
||||||
model = "gpt-4.1"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
dependencies = {
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"folke/trouble.nvim", -- optional
|
|
||||||
"nvim-telescope/telescope.nvim"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
return {
|
|
||||||
{ "zbirenbaum/copilot.lua", opts = { suggestion = { enabled = false } } },
|
|
||||||
}
|
|
||||||
@@ -1,197 +0,0 @@
|
|||||||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
|
||||||
-- stylua: ignore
|
|
||||||
if true then return {} end
|
|
||||||
|
|
||||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
|
||||||
--
|
|
||||||
-- In your plugin files, you can:
|
|
||||||
-- * add extra plugins
|
|
||||||
-- * disable/enabled LazyVim plugins
|
|
||||||
-- * override the configuration of LazyVim plugins
|
|
||||||
return {
|
|
||||||
-- add gruvbox
|
|
||||||
{ "ellisonleao/gruvbox.nvim" },
|
|
||||||
|
|
||||||
-- Configure LazyVim to load gruvbox
|
|
||||||
{
|
|
||||||
"LazyVim/LazyVim",
|
|
||||||
opts = {
|
|
||||||
colorscheme = "gruvbox",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- change trouble config
|
|
||||||
{
|
|
||||||
"folke/trouble.nvim",
|
|
||||||
-- opts will be merged with the parent spec
|
|
||||||
opts = { use_diagnostic_signs = true },
|
|
||||||
},
|
|
||||||
|
|
||||||
-- disable trouble
|
|
||||||
{ "folke/trouble.nvim", enabled = false },
|
|
||||||
|
|
||||||
-- override nvim-cmp and add cmp-emoji
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
dependencies = { "hrsh7th/cmp-emoji" },
|
|
||||||
---@param opts cmp.ConfigSchema
|
|
||||||
opts = function(_, opts)
|
|
||||||
table.insert(opts.sources, { name = "emoji" })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- change some telescope options and a keymap to browse plugin files
|
|
||||||
{
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
keys = {
|
|
||||||
-- add a keymap to browse plugin files
|
|
||||||
-- stylua: ignore
|
|
||||||
{
|
|
||||||
"<leader>fp",
|
|
||||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
|
||||||
desc = "Find Plugin File",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- change some options
|
|
||||||
opts = {
|
|
||||||
defaults = {
|
|
||||||
layout_strategy = "horizontal",
|
|
||||||
layout_config = { prompt_position = "top" },
|
|
||||||
sorting_strategy = "ascending",
|
|
||||||
winblend = 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- add pyright to lspconfig
|
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
---@class PluginLspOpts
|
|
||||||
opts = {
|
|
||||||
---@type lspconfig.options
|
|
||||||
servers = {
|
|
||||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
|
||||||
pyright = {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
|
||||||
{
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
dependencies = {
|
|
||||||
"jose-elias-alvarez/typescript.nvim",
|
|
||||||
init = function()
|
|
||||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
|
||||||
-- stylua: ignore
|
|
||||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
|
||||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
|
||||||
end)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
---@class PluginLspOpts
|
|
||||||
opts = {
|
|
||||||
---@type lspconfig.options
|
|
||||||
servers = {
|
|
||||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
|
||||||
tsserver = {},
|
|
||||||
},
|
|
||||||
-- you can do any additional lsp server setup here
|
|
||||||
-- return true if you don't want this server to be setup with lspconfig
|
|
||||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
|
||||||
setup = {
|
|
||||||
-- example to setup with typescript.nvim
|
|
||||||
tsserver = function(_, opts)
|
|
||||||
require("typescript").setup({ server = opts })
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
-- Specify * to use this function as a fallback for any server
|
|
||||||
-- ["*"] = function(server, opts) end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
|
||||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
|
||||||
|
|
||||||
-- add more treesitter parsers
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = {
|
|
||||||
ensure_installed = {
|
|
||||||
"bash",
|
|
||||||
"html",
|
|
||||||
"javascript",
|
|
||||||
"json",
|
|
||||||
"lua",
|
|
||||||
"markdown",
|
|
||||||
"markdown_inline",
|
|
||||||
"python",
|
|
||||||
"query",
|
|
||||||
"regex",
|
|
||||||
"tsx",
|
|
||||||
"typescript",
|
|
||||||
"vim",
|
|
||||||
"yaml",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
|
||||||
-- would overwrite `ensure_installed` with the new value.
|
|
||||||
-- If you'd rather extend the default config, use the code below instead:
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- add tsx and treesitter
|
|
||||||
vim.list_extend(opts.ensure_installed, {
|
|
||||||
"tsx",
|
|
||||||
"typescript",
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- the opts function can also be used to change the default opts:
|
|
||||||
{
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = function(_, opts)
|
|
||||||
table.insert(opts.sections.lualine_x, {
|
|
||||||
function()
|
|
||||||
return "😄"
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- or you can return new options to override all the defaults
|
|
||||||
{
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = function()
|
|
||||||
return {
|
|
||||||
--[[add your custom lualine config here]]
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- use mini.starter instead of alpha
|
|
||||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
|
||||||
|
|
||||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
|
||||||
|
|
||||||
-- add any tools you want to have installed below
|
|
||||||
{
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
opts = {
|
|
||||||
ensure_installed = {
|
|
||||||
"stylua",
|
|
||||||
"shellcheck",
|
|
||||||
"shfmt",
|
|
||||||
"flake8",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
return {
|
|
||||||
"jghauser/follow-md-links.nvim",
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
return {
|
|
||||||
'nvim-lualine/lualine.nvim',
|
|
||||||
dependencies = { 'nvim-tree/nvim-web-devicons' }
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
branch = "v3.x",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
-- {"3rd/image.nvim", opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information
|
|
||||||
},
|
|
||||||
lazy = false, -- neo-tree will lazily load itself
|
|
||||||
---@module "neo-tree"
|
|
||||||
---@type neotree.Config?
|
|
||||||
opts = {
|
|
||||||
-- fill any relevant options here
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-neorg/neorg",
|
|
||||||
lazy = false, -- Disable lazy loading as some `lazy.nvim` distributions set `lazy = true` by default
|
|
||||||
version = "*", -- Pin Neorg to the latest stable release
|
|
||||||
config = function()
|
|
||||||
require("neorg").setup({
|
|
||||||
load = {
|
|
||||||
["core.defaults"] = {}, -- Loads default behaviour
|
|
||||||
["core.concealer"] = {}, -- Adds pretty icons to your documents
|
|
||||||
["core.ui.calendar"] = {},
|
|
||||||
["core.completion"] = { config = { engine = { module_name = "external.lsp-completion" }, name = "[Norg]" } },
|
|
||||||
["core.esupports.metagen"] = { config = { type = "auto", update_date = true } },
|
|
||||||
["core.qol.toc"] = {},
|
|
||||||
["core.qol.todo_items"] = {},
|
|
||||||
["core.looking-glass"] = {},
|
|
||||||
["core.presenter"] = { config = { zen_mode = "zen-mode" } },
|
|
||||||
["core.export"] = {},
|
|
||||||
["core.export.markdown"] = { config = { extensions = "all" } },
|
|
||||||
["core.summary"] = {},
|
|
||||||
["core.tangle"] = { config = { report_on_empty = false } },
|
|
||||||
["core.dirman"] = { -- Manages Neorg workspaces
|
|
||||||
config = {
|
|
||||||
workspaces = {
|
|
||||||
notes = "~/Notes.neorg",
|
|
||||||
},
|
|
||||||
default_workspace = "notes",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
["external.interim-ls"] = {
|
|
||||||
config = {
|
|
||||||
-- default config shown
|
|
||||||
completion_provider = {
|
|
||||||
-- Enable or disable the completion provider
|
|
||||||
enable = true,
|
|
||||||
|
|
||||||
-- Show file contents as documentation when you complete a file name
|
|
||||||
documentation = true,
|
|
||||||
|
|
||||||
-- Try to complete categories provided by Neorg Query. Requires `benlubas/neorg-query`
|
|
||||||
categories = false,
|
|
||||||
|
|
||||||
-- suggest heading completions from the given file for `{@x|}` where `|` is your cursor
|
|
||||||
-- and `x` is an alphanumeric character. `{@name}` expands to `[name]{:$/people:# name}`
|
|
||||||
people = {
|
|
||||||
enable = false,
|
|
||||||
|
|
||||||
-- path to the file you're like to use with the `{@x` syntax, relative to the
|
|
||||||
-- workspace root, without the `.norg` at the end.
|
|
||||||
-- ie. `folder/people` results in searching `$/folder/people.norg` for headings.
|
|
||||||
-- Note that this will change with your workspace, so it fails silently if the file
|
|
||||||
-- doesn't exist
|
|
||||||
path = "people",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
["core.keybinds"] = {
|
|
||||||
config = {
|
|
||||||
default_keybinds = true,
|
|
||||||
neorg_leader = "<Leader>n", -- Change this to whatever you want
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
return {
|
|
||||||
"akinsho/toggleterm.nvim",
|
|
||||||
tag = "*",
|
|
||||||
keys = {
|
|
||||||
{ "<leader>td", "<cmd>ToggleTerm size=40 dir=~ direction=horizontal<cr>", "Open Horizontal terminal in home directory"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-treesitter/nvim-treesitter"
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/twilight.nvim",
|
|
||||||
opts = {
|
|
||||||
-- your configuration comes here
|
|
||||||
-- or leave it empty to use the default settings
|
|
||||||
-- refer to the configuration section below
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {
|
|
||||||
-- your configuration comes here
|
|
||||||
-- or leave it empty to use the default settings
|
|
||||||
-- refer to the configuration section below
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
{ "<leader>N", group = "Neorg" },
|
|
||||||
{ "<leader>Nt", ":Neorg journal today<CR>", desc = "Today" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
--{ "<leader>c", group = "ChatGPT" },
|
|
||||||
--{ "<leader>cc", ":ChatGPT<CR>", desc = "ChatGPT" },
|
|
||||||
--{ "<leader>ce", ":ChatGPTEditWithInstructions<CR>", desc = "ChatGPT Edit Selection with Instructions" },
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
return {
|
|
||||||
"rmagatti/auto-session",
|
|
||||||
lazy = false,
|
|
||||||
opts = {
|
|
||||||
suppressed_dirs = { "~/", "~/Projects", "~/Downloads", "/" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
return {
|
||||||
|
"greggh/claude-code.nvim",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
config = function()
|
||||||
|
require("claude-code").setup({
|
||||||
|
window = {
|
||||||
|
position = "vertical",
|
||||||
|
split_ratio = 0.4,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
keys = {
|
||||||
|
{ "<leader>cc", "<cmd>ClaudeCode<CR>", desc = "Claude Code: Toggle" },
|
||||||
|
{ "<leader>cf", "<cmd>ClaudeCodeFocus<CR>", desc = "Claude Code: Focus" },
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
return {
|
|
||||||
"benlubas/neorg-interim-ls",
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
return {
|
|
||||||
"jakobkhansen/journal.nvim",
|
|
||||||
config = function()
|
|
||||||
require("journal").setup({
|
|
||||||
filetype = "md", -- Filetype to use for new journal entries
|
|
||||||
root = "~/Notes/Personal/journals", -- Root directory for journal entries
|
|
||||||
date_format = "%Y-%m-%d", -- Date format for `:Journal <date-modifier>`
|
|
||||||
autocomplete_date_modifier = "end", -- "always"|"never"|"end". Enable date modifier autocompletion
|
|
||||||
|
|
||||||
-- Configuration for journal entries
|
|
||||||
journal = {
|
|
||||||
-- Default configuration for `:Journal <date-modifier>`
|
|
||||||
format = "%Y_%m_%d",
|
|
||||||
template = "# %A %B %d %Y\n",
|
|
||||||
frequency = { day = 1 },
|
|
||||||
|
|
||||||
-- Nested configurations for `:Journal <type> <type> ... <date-modifier>`
|
|
||||||
entries = {
|
|
||||||
day = {
|
|
||||||
format = "%Y_%m_%d", -- Format of the journal entry in the filesystem.
|
|
||||||
template = "# %A %B %d %Y\n", -- Optional. Template used when creating a new journal entry
|
|
||||||
frequency = { day = 1 }, -- Optional. The frequency of the journal entry. Used for `:Journal next`, `:Journal -2` etc
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
return {
|
||||||
|
"mrjones2014/legendary.nvim",
|
||||||
|
priority = 10000,
|
||||||
|
lazy = false,
|
||||||
|
dependencies = { "nvim-telescope/telescope.nvim" },
|
||||||
|
opts = {
|
||||||
|
telescope = { auto_register_which_key = false },
|
||||||
|
keymaps = {
|
||||||
|
{ "<leader>cc", description = "Claude Code: Toggle terminal" },
|
||||||
|
{ "<leader>cf", description = "Claude Code: Focus terminal" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "<leader><leader>", "<cmd>Legendary<CR>", desc = "Command Palette" },
|
||||||
|
{ "<C-p>", "<cmd>Legendary<CR>", desc = "Command Palette", mode = { "n", "i" } },
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
-- Configuration Documentation https://github.com/jakewvincent/mkdnflow.nvim?tab=readme-ov-file#%EF%B8%8F-configuration
|
|
||||||
return {
|
|
||||||
"jakewvincent/mkdnflow.nvim",
|
|
||||||
config = function()
|
|
||||||
require("mkdnflow").setup({
|
|
||||||
-- Config goes here; leave blank for defaults
|
|
||||||
perspective = {
|
|
||||||
priority = "first",
|
|
||||||
root_tell = false,
|
|
||||||
},
|
|
||||||
new_file_template = {
|
|
||||||
use_template = true,
|
|
||||||
placeholders = {
|
|
||||||
before = {
|
|
||||||
title = "link_title",
|
|
||||||
date = "os_date",
|
|
||||||
},
|
|
||||||
after = {},
|
|
||||||
},
|
|
||||||
template = "# {{ title }}",
|
|
||||||
},
|
|
||||||
links = {
|
|
||||||
style = "markdown",
|
|
||||||
name_is_source = false,
|
|
||||||
conceal = false,
|
|
||||||
context = 0,
|
|
||||||
implicit_extension = nil,
|
|
||||||
transform_implicit = false,
|
|
||||||
transform_explicit = function(text)
|
|
||||||
text = text:gsub(" ", "-")
|
|
||||||
text = text:lower()
|
|
||||||
return text
|
|
||||||
end,
|
|
||||||
create_on_follow_failure = true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
return {
|
||||||
|
"stevearc/oil.nvim",
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
|
lazy = false,
|
||||||
|
opts = {
|
||||||
|
default_file_explorer = true,
|
||||||
|
columns = { "icon" },
|
||||||
|
view_options = {
|
||||||
|
show_hidden = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "-", "<cmd>Oil<CR>", desc = "Open parent directory" },
|
||||||
|
},
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user