mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Compare commits
4 Commits
6e60475f3f
...
c3d8dc3e1d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c3d8dc3e1d | ||
|
|
f9780c2dff | ||
|
|
256c37a946 | ||
|
|
eff98d036d |
24
README.md
24
README.md
@ -84,6 +84,7 @@ and how to set up on different platforms (Linux, macOS, and Windows).
|
||||
+ 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)
|
||||
+ Code folding with [nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) and [statuscol.nvim](https://github.com/luukvbaal/statuscol.nvim)
|
||||
+ ......
|
||||
|
||||
# UI Demo
|
||||
@ -140,6 +141,12 @@ Go to a string starting with `se`
|
||||
<img src="https://user-images.githubusercontent.com/16662357/128589873-aadb8264-1098-4834-9876-fa66a309be05.gif" width="800">
|
||||
</p>
|
||||
|
||||
## code folding with nvim-ufo and statuscol.nvim
|
||||
|
||||
<p align="center">
|
||||
<img src="https://github.com/user-attachments/assets/a01a56b2-7c91-43de-b305-f2fbaa81dcec" width="800">
|
||||
</p>
|
||||
|
||||
# Shortcuts
|
||||
|
||||
Some of the shortcuts I use frequently are listed here. In the following shortcuts, `<leader>` represents ASCII character `,`.
|
||||
@ -165,12 +172,14 @@ Some of the shortcuts I use frequently are listed here. In the following shortcu
|
||||
| `<space>t` | Normal | Linux/macOS/Win | Toggle tag window (show project tags in the right window) |
|
||||
| `<leader>gs` | Normal | Linux/macOS/Win | Show Git status result |
|
||||
| `<leader>gw` | Normal | Linux/macOS/Win | Run Git add for current file |
|
||||
| `<leader>gd` | Normal | Linux/macOS/Win | Run git diff for current file |
|
||||
| `<leader>gc` | Normal | Linux/macOS/Win | Run git commit |
|
||||
| `<leader>gpl` | Normal | Linux/macOS/Win | Run git pull |
|
||||
| `<leader>gpu` | Normal | Linux/macOS/Win | Run git push |
|
||||
| `<leader>gbd` | Normal | Linux/macOS/Win | Delete a branch |
|
||||
| `<leader>gbn` | Normal | Linux/macOS/Win | Create a new branch |
|
||||
| `<leader>gl` | Normal/Visual | Linux/macOS/Win | Get perm link for current/visually-select lines |
|
||||
| `<leader>gb` | Normal | macOS | Browse current git repo in browser |
|
||||
| `<leader>gbr` | Normal | macOS | Browse current git repo in browser |
|
||||
| `<leader>gb` | Visual | macOS | Blame current line |
|
||||
| `<F9>` | Normal | Linux/macOS/Win | Compile&run current source file (for C++, LaTeX, Lua, Python) |
|
||||
| `<F11>` | Normal | Linux/macOS/Win | Toggle spell checking |
|
||||
| `<F12>` | Normal | Linux/macOS/Win | Toggle paste mode |
|
||||
@ -191,11 +200,12 @@ Some of the shortcuts I use frequently are listed here. In the following shortcu
|
||||
|
||||
In addition to commands provided by various plugins, I have also created some custom commands for personal use.
|
||||
|
||||
| command | description | example |
|
||||
|------------|-------------------------------------------------------------------------|--------------------------------|
|
||||
| `Redir` | capture command output to a tabpage for easier inspection. | `Redir hi` |
|
||||
| `Edit` | edit multiple files at the same time, supports globing | `Edit *.vim` |
|
||||
| `Datetime` | print current date and time or convert Unix time stamp to date and time | `Datetime 12345` or `Datetime` |
|
||||
| command | description | example |
|
||||
|--------------|-------------------------------------------------------------------------|--------------------------------|
|
||||
| `Redir` | capture command output to a tabpage for easier inspection. | `Redir hi` |
|
||||
| `Edit` | edit multiple files at the same time, supports globing | `Edit *.vim` |
|
||||
| `Datetime` | print current date and time or convert Unix time stamp to date and time | `Datetime 12345` or `Datetime` |
|
||||
| `JSONFormat` | format a JSON file | `JSONFormat` |
|
||||
|
||||
# Contributing
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
require("bufferline").setup {
|
||||
options = {
|
||||
numbers = "buffer_id",
|
||||
numbers = "none",
|
||||
close_command = "bdelete! %d",
|
||||
right_mouse_command = nil,
|
||||
left_mouse_command = "buffer %d",
|
||||
@ -44,3 +44,7 @@ require("bufferline").setup {
|
||||
sort_by = "id",
|
||||
},
|
||||
}
|
||||
|
||||
vim.keymap.set("n", "<space>bp", "<cmd>BufferLinePick<CR>", {
|
||||
desc = "pick a buffer",
|
||||
})
|
||||
|
||||
@ -10,8 +10,8 @@ keymap.set("v", "<leader>gb", ":Git blame<cr>", { desc = "Git: blame selected li
|
||||
-- convert git to Git in command line mode
|
||||
vim.fn["utils#Cabbrev"]("git", "Git")
|
||||
|
||||
keymap.set("n", "<leader>gnb", function()
|
||||
vim.ui.input({ prompt = "Enter the new branch nmae" }, function(user_input)
|
||||
keymap.set("n", "<leader>gbn", function()
|
||||
vim.ui.input({ prompt = "Enter a new branch name" }, function(user_input)
|
||||
if user_input == nil or user_input == "" then
|
||||
return
|
||||
end
|
||||
|
||||
@ -45,7 +45,21 @@ keymap.set("n", [[\x]], "<cmd>windo lclose <bar> cclose <cr>", {
|
||||
-- Delete a buffer, without closing the window, see https://stackoverflow.com/q/4465095/6064933
|
||||
keymap.set("n", [[\d]], "<cmd>bprevious <bar> bdelete #<cr>", {
|
||||
silent = true,
|
||||
desc = "delete buffer",
|
||||
desc = "delete current buffer",
|
||||
})
|
||||
|
||||
keymap.set("n", [[\D]], function()
|
||||
local buf_ids = vim.api.nvim_list_bufs()
|
||||
local cur_buf = vim.api.nvim_win_get_buf(0)
|
||||
|
||||
for _, buf_id in pairs(buf_ids) do
|
||||
-- do not Delete unlisted buffers, which may lead to unexpected errors
|
||||
if vim.api.nvim_get_option_value("buflisted", { buf = buf_id }) and buf_id ~= cur_buf then
|
||||
vim.api.nvim_buf_delete(buf_id, { force = true })
|
||||
end
|
||||
end
|
||||
end, {
|
||||
desc = "delete other buffers",
|
||||
})
|
||||
|
||||
-- Insert a blank line below or above current line (do not move the cursor),
|
||||
@ -218,18 +232,20 @@ keymap.set("n", "<leader>cb", function()
|
||||
return
|
||||
end
|
||||
|
||||
timer:start(0, 100, vim.schedule_wrap(function()
|
||||
vim.cmd [[
|
||||
timer:start(
|
||||
0,
|
||||
100,
|
||||
vim.schedule_wrap(function()
|
||||
vim.cmd([[
|
||||
set cursorcolumn!
|
||||
set cursorline!
|
||||
]]
|
||||
]])
|
||||
|
||||
if cnt == blink_times then
|
||||
timer:close()
|
||||
end
|
||||
if cnt == blink_times then
|
||||
timer:close()
|
||||
end
|
||||
|
||||
cnt = cnt + 1
|
||||
end)
|
||||
cnt = cnt + 1
|
||||
end)
|
||||
)
|
||||
end,
|
||||
{ desc = "show cursor" })
|
||||
end, { desc = "show cursor" })
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user