mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Compare commits
No commits in common. "9e6be1f00128bc23d4217666c51fdead0763e882" and "7fa77fbfbfc4ac0a67df90b9e61ac55d5e893ef5" have entirely different histories.
9e6be1f001
...
7fa77fbfbf
@ -59,7 +59,7 @@ and how to set up on different platforms (Linux, macOS, and Windows).
|
|||||||
+ Language server protocol (LSP) support via [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig).
|
+ Language server protocol (LSP) support via [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig).
|
||||||
+ Git integration via [vim-fugitive](https://github.com/tpope/vim-fugitive).
|
+ Git integration via [vim-fugitive](https://github.com/tpope/vim-fugitive).
|
||||||
+ Better escaping from insert mode via [better-escape.vim](https://github.com/nvim-zh/better-escape.vim).
|
+ Better escaping from insert mode via [better-escape.vim](https://github.com/nvim-zh/better-escape.vim).
|
||||||
+ Ultra-fast project-wide fuzzy searching via [fzf-lua](https://github.com/ibhagwan/fzf-lua).
|
+ Ultra-fast project-wide fuzzy searching via [LeaderF](https://github.com/Yggdroot/LeaderF).
|
||||||
+ Faster code commenting via [vim-commentary](https://github.com/tpope/vim-commentary).
|
+ Faster code commenting via [vim-commentary](https://github.com/tpope/vim-commentary).
|
||||||
+ Faster matching pair insertion and jump via [nvim-autopairs](https://github.com/windwp/nvim-autopairs).
|
+ Faster matching pair insertion and jump via [nvim-autopairs](https://github.com/windwp/nvim-autopairs).
|
||||||
+ Smarter and faster matching pair management (add, replace or delete) via [vim-sandwich](https://github.com/machakann/vim-sandwich).
|
+ Smarter and faster matching pair management (add, replace or delete) via [vim-sandwich](https://github.com/machakann/vim-sandwich).
|
||||||
@ -79,6 +79,7 @@ and how to set up on different platforms (Linux, macOS, and Windows).
|
|||||||
+ LaTeX editing and previewing via [vimtex](https://github.com/lervag/vimtex)
|
+ LaTeX editing and previewing via [vimtex](https://github.com/lervag/vimtex)
|
||||||
+ Animated GUI style notification via [nvim-notify](https://github.com/rcarriga/nvim-notify).
|
+ Animated GUI style notification via [nvim-notify](https://github.com/rcarriga/nvim-notify).
|
||||||
+ Tags navigation via [vista](https://github.com/liuchengxu/vista.vim).
|
+ Tags navigation via [vista](https://github.com/liuchengxu/vista.vim).
|
||||||
|
+ Code formatting via [Neoformat](https://github.com/sbdchd/neoformat).
|
||||||
+ Undo management via [vim-mundo](https://github.com/simnalamburt/vim-mundo)
|
+ Undo management via [vim-mundo](https://github.com/simnalamburt/vim-mundo)
|
||||||
+ Code folding with [nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) and [statuscol.nvim](https://github.com/luukvbaal/statuscol.nvim)
|
+ Code folding with [nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) and [statuscol.nvim](https://github.com/luukvbaal/statuscol.nvim)
|
||||||
+ ......
|
+ ......
|
||||||
@ -93,10 +94,10 @@ For more UI demos, check [here](https://github.com/jdhao/nvim-config/issues/15).
|
|||||||
<img src="https://user-images.githubusercontent.com/16662357/183256752-fb23b215-a6b8-4646-beed-9999f52d53f1.png" width="800">
|
<img src="https://user-images.githubusercontent.com/16662357/183256752-fb23b215-a6b8-4646-beed-9999f52d53f1.png" width="800">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## File fuzzy finding using fzf-lua
|
## File fuzzy finding using LeaderF
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://github.com/user-attachments/assets/3199e35d-121a-487b-bfd1-58eb69b0b48a" width="800">
|
<img src="https://user-images.githubusercontent.com/16662357/183257017-2d9d7605-3c4b-4e1d-8955-30998f9b6f28.gif" width="800">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## Code autocompletion with nvim-cmp
|
## Code autocompletion with nvim-cmp
|
||||||
|
|||||||
@ -23,19 +23,19 @@ conf.center = {
|
|||||||
{
|
{
|
||||||
icon = " ",
|
icon = " ",
|
||||||
desc = "Find File ",
|
desc = "Find File ",
|
||||||
action = "FzfLua files",
|
action = "Leaderf file --popup",
|
||||||
key = "<Leader> f f",
|
key = "<Leader> f f",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon = " ",
|
icon = " ",
|
||||||
desc = "Recently opened files ",
|
desc = "Recently opened files ",
|
||||||
action = "FzfLua oldfiles",
|
action = "Leaderf mru --popup",
|
||||||
key = "<Leader> f r",
|
key = "<Leader> f r",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon = " ",
|
icon = " ",
|
||||||
desc = "Project grep ",
|
desc = "Project grep ",
|
||||||
action = "FzfLua live_grep",
|
action = "Leaderf rg --popup",
|
||||||
key = "<Leader> f g",
|
key = "<Leader> f g",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -228,13 +228,8 @@ api.nvim_create_autocmd("BufReadPre", {
|
|||||||
|
|
||||||
if fn.getfsize(f) > file_size_limit or fn.getfsize(f) == -2 then
|
if fn.getfsize(f) > file_size_limit or fn.getfsize(f) == -2 then
|
||||||
vim.o.eventignore = "all"
|
vim.o.eventignore = "all"
|
||||||
|
|
||||||
-- show ruler
|
|
||||||
vim.o.ruler = true
|
|
||||||
|
|
||||||
-- turning off relative number helps a lot
|
-- turning off relative number helps a lot
|
||||||
vim.wo.relativenumber = false
|
vim.wo.relativenumber = false
|
||||||
vim.wo.number = false
|
|
||||||
|
|
||||||
vim.bo.swapfile = false
|
vim.bo.swapfile = false
|
||||||
vim.bo.bufhidden = "unload"
|
vim.bo.bufhidden = "unload"
|
||||||
|
|||||||
@ -106,6 +106,20 @@ local plugin_specs = {
|
|||||||
require("config.hlslens")
|
require("config.hlslens")
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"Yggdroot/LeaderF",
|
||||||
|
cmd = "Leaderf",
|
||||||
|
build = function()
|
||||||
|
local leaderf_path = plugin_dir .. "/LeaderF"
|
||||||
|
vim.opt.runtimepath:append(leaderf_path)
|
||||||
|
vim.cmd("runtime! plugin/leaderf.vim")
|
||||||
|
|
||||||
|
if not vim.g.is_win then
|
||||||
|
vim.cmd("LeaderfInstallCExtension")
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
cmd = "Telescope",
|
cmd = "Telescope",
|
||||||
@ -118,18 +132,8 @@ local plugin_specs = {
|
|||||||
-- optional for icon support
|
-- optional for icon support
|
||||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
config = function()
|
config = function()
|
||||||
require("fzf-lua").setup {
|
-- calling `setup` is optional for customization
|
||||||
winopts = {
|
require("fzf-lua").setup {}
|
||||||
row = 0.5,
|
|
||||||
height = 0.7,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>ff", "<cmd>FzfLua files<cr>", { desc = "Fuzzy find files" })
|
|
||||||
vim.keymap.set("n", "<leader>fg", "<cmd>FzfLua live_grep<cr>", { desc = "Fuzzy grep files" })
|
|
||||||
vim.keymap.set("n", "<leader>fh", "<cmd>FzfLua helptags<cr>", { desc = "Fuzzy grep tags in help files" })
|
|
||||||
vim.keymap.set("n", "<leader>ft", "<cmd>FzfLua btags<cr>", { desc = "Fuzzy search buffer tags" })
|
|
||||||
vim.keymap.set("n", "<leader>fb", "<cmd>FzfLua buffers<cr>", { desc = "Fuzzy search opened buffers" })
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,11 +3,12 @@ local version = vim.version
|
|||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
--- Check if an executable exists
|
|
||||||
--- @param name string An executable name/path
|
|
||||||
--- @return boolean
|
|
||||||
function M.executable(name)
|
function M.executable(name)
|
||||||
return fn.executable(name) > 0
|
if fn.executable(name) > 0 then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
--- check whether a feature exists in Nvim
|
--- check whether a feature exists in Nvim
|
||||||
|
|||||||
@ -34,6 +34,85 @@ let g:UltiSnipsSnippetDirectories=['UltiSnips', 'my_snippets']
|
|||||||
"""""""""""""""""""""""""" vlime settings """"""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""" vlime settings """"""""""""""""""""""""""""""""
|
||||||
command! -nargs=0 StartVlime call jobstart(printf("sbcl --load %s/vlime/lisp/start-vlime.lisp", g:package_home))
|
command! -nargs=0 StartVlime call jobstart(printf("sbcl --load %s/vlime/lisp/start-vlime.lisp", g:package_home))
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""""LeaderF settings"""""""""""""""""""""
|
||||||
|
" Do not use cache file
|
||||||
|
let g:Lf_UseCache = 0
|
||||||
|
" Refresh each time we call leaderf
|
||||||
|
let g:Lf_UseMemoryCache = 0
|
||||||
|
|
||||||
|
" Ignore certain files and directories when searching files
|
||||||
|
let g:Lf_WildIgnore = {
|
||||||
|
\ 'dir': ['.git', '__pycache__', '.DS_Store', '*_cache'],
|
||||||
|
\ 'file': ['*.exe', '*.dll', '*.so', '*.o', '*.pyc', '*.jpg', '*.png',
|
||||||
|
\ '*.gif', '*.svg', '*.ico', '*.db', '*.tgz', '*.tar.gz', '*.gz',
|
||||||
|
\ '*.zip', '*.bin', '*.pptx', '*.xlsx', '*.docx', '*.pdf', '*.tmp',
|
||||||
|
\ '*.wmv', '*.mkv', '*.mp4', '*.rmvb', '*.ttf', '*.ttc', '*.otf',
|
||||||
|
\ '*.mp3', '*.aac']
|
||||||
|
\}
|
||||||
|
|
||||||
|
" Do not show fancy icons for Linux server.
|
||||||
|
if g:is_linux
|
||||||
|
let g:Lf_ShowDevIcons = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Only fuzzy-search files names
|
||||||
|
let g:Lf_DefaultMode = 'FullPath'
|
||||||
|
|
||||||
|
" Do not use version control tool to list files under a directory since
|
||||||
|
" submodules are not searched by default.
|
||||||
|
let g:Lf_UseVersionControlTool = 0
|
||||||
|
|
||||||
|
" Use rg as the default search tool
|
||||||
|
let g:Lf_DefaultExternalTool = "rg"
|
||||||
|
|
||||||
|
" show dot files
|
||||||
|
let g:Lf_ShowHidden = 1
|
||||||
|
|
||||||
|
" Disable default mapping
|
||||||
|
let g:Lf_ShortcutF = ''
|
||||||
|
let g:Lf_ShortcutB = ''
|
||||||
|
|
||||||
|
" set up working directory for git repository
|
||||||
|
let g:Lf_WorkingDirectoryMode = 'a'
|
||||||
|
|
||||||
|
" Search files in popup window
|
||||||
|
nnoremap <silent> <leader>ff :<C-U>Leaderf file --popup<CR>
|
||||||
|
|
||||||
|
" Grep project files in popup window
|
||||||
|
nnoremap <silent> <leader>fg :<C-U>Leaderf rg --no-messages --popup --nameOnly<CR>
|
||||||
|
|
||||||
|
" Search vim help files
|
||||||
|
nnoremap <silent> <leader>fh :<C-U>Leaderf help --popup<CR>
|
||||||
|
|
||||||
|
" Search tags in current buffer
|
||||||
|
nnoremap <silent> <leader>ft :<C-U>Leaderf bufTag --popup<CR>
|
||||||
|
|
||||||
|
" Switch buffers
|
||||||
|
nnoremap <silent> <leader>fb :<C-U>Leaderf buffer --popup<CR>
|
||||||
|
|
||||||
|
" Search recent files
|
||||||
|
nnoremap <silent> <leader>fr :<C-U>Leaderf mru --popup --absolute-path<CR>
|
||||||
|
|
||||||
|
let g:Lf_PopupColorscheme = 'gruvbox_material'
|
||||||
|
|
||||||
|
" Change keybinding in LeaderF prompt mode, use ctrl-n and ctrl-p to navigate
|
||||||
|
" items.
|
||||||
|
let g:Lf_CommandMap = {'<C-J>': ['<C-N>'], '<C-K>': ['<C-P>']}
|
||||||
|
|
||||||
|
" do not preview results, it will add the file to buffer list
|
||||||
|
let g:Lf_PreviewResult = {
|
||||||
|
\ 'File': 0,
|
||||||
|
\ 'Buffer': 0,
|
||||||
|
\ 'Mru': 0,
|
||||||
|
\ 'Tag': 0,
|
||||||
|
\ 'BufTag': 1,
|
||||||
|
\ 'Function': 1,
|
||||||
|
\ 'Line': 0,
|
||||||
|
\ 'Colorscheme': 0,
|
||||||
|
\ 'Rg': 0,
|
||||||
|
\ 'Gtags': 0
|
||||||
|
\}
|
||||||
|
|
||||||
""""""""""""""""""""""""""" vista settings """"""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""" vista settings """"""""""""""""""""""""""""""""""
|
||||||
let g:vista#renderer#icons = {
|
let g:vista#renderer#icons = {
|
||||||
\ 'member': '',
|
\ 'member': '',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user