actually add files

master
george 2 weeks ago
parent bb35f98a3e
commit 3c7c0058c5

@ -0,0 +1,41 @@
# Cheats
## Motions
- `cgn` change word under cursor, then `.` to repeat on next match
- `gc` comment motion (e.g. `gc3j`, `gcap`)
- `gcc` toggle comment on current line
## fzf
- `<leader>f` find files
- `<leader>g` live grep
- `<leader>b` buffers
- `<leader>o` old files
- `<leader>s` grep word under cursor across project
## Terminal
- `<C-t>` toggle terminal
- `<C-\><C-n>` exit terminal mode (back to normal mode)
## Oil
- `-` open oil (current file's directory)
- `<leader>-` go to cwd root
- `-` go up a directory (inside oil)
- `<CR>` open file/directory
- `g.` toggle hidden files
## Clipboard
- `<leader>y` yank to system clipboard (normal/visual)
- `<leader>p` paste from system clipboard
## General
- `<leader>h` clear search highlight
- `:Cheats` open this file
## System Dependencies
- `fzf` fuzzy finder binary (required by fzf-lua)
- `rg` ripgrep — required for live grep and grep word (`<leader>g`, `<leader>s`)
- `fd` faster file finding (optional, fzf-lua uses it automatically if present)
- `wl-clipboard` / `xclip` system clipboard on Linux (Wayland / X11)
Arch: `sudo pacman -S fzf ripgrep fd wl-clipboard`
macOS: `brew install fzf ripgrep fd`

@ -0,0 +1,7 @@
local fzf = require("fzf-lua")
vim.keymap.set("n", "<leader>f", fzf.files)
vim.keymap.set("n", "<leader>g", fzf.live_grep)
vim.keymap.set("n", "<leader>b", fzf.buffers)
vim.keymap.set("n", "<leader>o", fzf.oldfiles)
vim.keymap.set("n", "<leader>s", fzf.grep_cword)

@ -0,0 +1,24 @@
vim.schedule(function()
vim.api.nvim_del_user_command('Man')
vim.api.nvim_create_user_command('Man', function(params)
local man = require('man')
if params.bang then
man.init_pager()
else
params.smods.tab = 1
local _, err = pcall(man.open_page, params.count, params.smods, params.fargs)
if err then
vim.notify('man.lua: ' .. err, vim.log.levels.ERROR)
end
end
end, {
bang = true,
bar = true,
range = true,
addr = 'other',
nargs = '*',
complete = function(...)
return require('man').man_complete(...)
end,
})
end)

@ -0,0 +1,20 @@
require("oil").setup({
default_file_explorer = true,
delete_to_trash = true,
watch_for_changes = true,
skip_confirm_for_simple_edits = true,
columns = { "icon", "size" },
view_options = {
show_hidden = true,
},
keymaps = {
["<leader>-"] = function()
require("oil").open(vim.fn.getcwd())
end,
["<C-t>"] = function()
require("toggleterm").toggle(1, 15, require("oil").get_current_dir(), "horizontal")
end,
},
})
vim.keymap.set("n", "-", "<cmd>Oil<cr>")

@ -0,0 +1,7 @@
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>f", builtin.find_files)
vim.keymap.set("n", "<leader>g", builtin.live_grep)
vim.keymap.set("n", "<leader>b", builtin.buffers)
vim.keymap.set("n", "<leader>o", builtin.oldfiles)
vim.keymap.set("n", "<leader>s", builtin.grep_string)

@ -0,0 +1,28 @@
local jai_entry = {
install_info = {
url = "https://github.com/constantitus/tree-sitter-jai",
files = { "src/parser.c" },
branch = "main",
},
tier = 3,
}
-- parsers.lua is a plain table with no side effects, so loadfile is safe here.
-- We need preload rather than a one-time mutation because install.lua calls
-- reload_parsers() (package.loaded = nil + re-require) before checking languages.
local parsers_path = vim.fn.globpath(vim.o.rtp, "lua/nvim-treesitter/parsers.lua", 0, 1)[1]
package.preload["nvim-treesitter.parsers"] = function()
local parsers = assert(loadfile(parsers_path))()
parsers.jai = jai_entry
return parsers
end
vim.filetype.add({ extension = { jai = "jai" } })
vim.api.nvim_create_autocmd("FileType", {
pattern = "jai",
callback = function()
vim.treesitter.start()
vim.bo.commentstring = "// %s"
end,
})
Loading…
Cancel
Save