save
This commit is contained in:
@@ -1,25 +1,16 @@
|
|||||||
vim.cmd.colorscheme("vim")
|
vim.cmd.colorscheme("vim")
|
||||||
|
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "#000000" })
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
vim.keymap.set("n", "<C-h>", "<C-w><C-h>")
|
|
||||||
vim.keymap.set("n", "<C-j>", "<C-w><C-j>")
|
|
||||||
vim.keymap.set("n", "<C-k>", "<C-w><C-k>")
|
|
||||||
vim.keymap.set("n", "<C-l>", "<C-w><C-l>")
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
|
||||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<Esc>", ":nohlsearch<CR>")
|
vim.keymap.set("n", "<Esc>", ":nohlsearch<CR>")
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
|
vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
|
||||||
vim.keymap.set("n", "<leader>o", ":Pick files<CR>")
|
vim.keymap.set("n", "<leader>o", ":Pick files<CR>")
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>s', ':e #<CR>')
|
|
||||||
vim.keymap.set('n', '<leader>S', ':sf #<CR>')
|
|
||||||
|
|
||||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>en", ":edit $HOME/.config/nvim/init.lua<CR>")
|
||||||
|
vim.keymap.set("n", "<leader>z", ":edit $HOME/.zshrc<CR>")
|
||||||
|
|
||||||
vim.o.number = true
|
vim.o.number = true
|
||||||
vim.o.relativenumber = true
|
vim.o.relativenumber = true
|
||||||
vim.o.swapfile = false
|
vim.o.swapfile = false
|
||||||
@@ -27,11 +18,56 @@ vim.o.wrap = false
|
|||||||
vim.opt.wildoptions = {}
|
vim.opt.wildoptions = {}
|
||||||
vim.opt.path:append("**")
|
vim.opt.path:append("**")
|
||||||
|
|
||||||
-- TODO(vx-clutch): Make this detect git and put that information in there as "This file is part of REPO"
|
-- TODO(vx-clutch): fix the C behavior, // > /*
|
||||||
vim.keymap.set("i", "me::", function()
|
vim.api.nvim_create_user_command("Copyright", function()
|
||||||
return vim.fn.strftime(
|
local handle = io.popen("git rev-parse --show-toplevel 2>/dev/null")
|
||||||
"Author: vx_clutch <https://vx-clutch.github.io/vxserver.dev/>\nDate: %B %d, %Y\nLicense: BSD-3-Clause")
|
local repo_path = handle and handle:read("*l") or nil
|
||||||
end, { expr = true })
|
if handle then handle:close() end
|
||||||
|
|
||||||
|
local repo = repo_path and repo_path:match("([^/]+)$") or "unknown"
|
||||||
|
|
||||||
|
local header_lines = {
|
||||||
|
"Copyright (C) vx_clutch",
|
||||||
|
"",
|
||||||
|
"This file is part of " .. repo,
|
||||||
|
"",
|
||||||
|
"This project and file is licensed under the BSD-3-Clause license.",
|
||||||
|
"<https://opensource.org/license/bsd-3-clause>",
|
||||||
|
}
|
||||||
|
|
||||||
|
local cstr = vim.bo.commentstring
|
||||||
|
|
||||||
|
local commented = {}
|
||||||
|
|
||||||
|
if cstr ~= "" and cstr:find("%%s") then
|
||||||
|
local function comment(line)
|
||||||
|
if line == "" then
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
local res = cstr:gsub("%%s", line)
|
||||||
|
return res
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, l in ipairs(header_lines) do
|
||||||
|
table.insert(commented, comment(l))
|
||||||
|
end
|
||||||
|
table.insert(commented, "")
|
||||||
|
else
|
||||||
|
table.insert(commented, "/*")
|
||||||
|
for _, l in ipairs(header_lines) do
|
||||||
|
if l == "" then
|
||||||
|
table.insert(commented, " *")
|
||||||
|
else
|
||||||
|
table.insert(commented, " * " .. l)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
table.insert(commented, " */")
|
||||||
|
table.insert(commented, "")
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_buf_set_lines(0, 0, 0, false, commented)
|
||||||
|
end, {})
|
||||||
|
|
||||||
|
|
||||||
local augroup = vim.api.nvim_create_augroup("vxclutch", {})
|
local augroup = vim.api.nvim_create_augroup("vxclutch", {})
|
||||||
|
|
||||||
@@ -164,17 +200,14 @@ vim.keymap.set("t", "<Esc>", function()
|
|||||||
end, { noremap = true, silent = true })
|
end, { noremap = true, silent = true })
|
||||||
|
|
||||||
vim.pack.add({
|
vim.pack.add({
|
||||||
{ src = "https://github.com/neovim/nvim-lspconfig" },
|
|
||||||
{ src = "https://github.com/echasnovski/mini.pick" },
|
{ src = "https://github.com/echasnovski/mini.pick" },
|
||||||
|
{ src = "https://github.com/mason-org/mason.nvim" },
|
||||||
})
|
})
|
||||||
|
|
||||||
require "mini.pick".setup()
|
require "mini.pick".setup()
|
||||||
|
require "mason".setup()
|
||||||
|
|
||||||
local lspconfig = require("lspconfig")
|
vim.lsp.enable({ "lua_ls", "clangd" })
|
||||||
local servers = { "lua_ls", "clangd" }
|
|
||||||
for _, server in ipairs(servers) do
|
|
||||||
lspconfig[server].setup({})
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
virtual_text = true,
|
virtual_text = true,
|
||||||
@@ -195,6 +228,6 @@ vim.api.nvim_create_user_command('AP', function()
|
|||||||
"}"
|
"}"
|
||||||
}
|
}
|
||||||
vim.api.nvim_buf_set_lines(0, 0, -1, false, lines)
|
vim.api.nvim_buf_set_lines(0, 0, -1, false, lines)
|
||||||
vim.api.nvim_win_set_cursor(0, {2, 15})
|
vim.api.nvim_win_set_cursor(0, { 2, 15 })
|
||||||
vim.cmd('startinsert')
|
vim.cmd('startinsert')
|
||||||
end, {})
|
end, {})
|
||||||
|
|||||||
46
scripts/.scripts/g
Executable file
46
scripts/.scripts/g
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
# https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/compiler
|
||||||
|
|
||||||
|
|
||||||
|
# This script will compile or run another finishing operation on a document. I
|
||||||
|
# have this script run via vim.
|
||||||
|
|
||||||
|
# Compiles .tex. groff (.mom, .ms), .rmd, .md, .org. Opens .sent files as sent
|
||||||
|
# presentations. Runs scripts based on extension or shebang.
|
||||||
|
|
||||||
|
file="${1}"
|
||||||
|
ext="${file##*.}"
|
||||||
|
dir=${file%/*}
|
||||||
|
base="${file%.*}"
|
||||||
|
|
||||||
|
cd "${dir}" || exit "1"
|
||||||
|
|
||||||
|
case "${ext}" in
|
||||||
|
[0-9]) preconv "${file}" | refer -PS -e | groff -mandoc -T pdf > "${base}.pdf" ;;
|
||||||
|
mom|ms) preconv "${file}" | refer -PS -e | groff -T pdf -m"${ext}" > "${base}.pdf" ;;
|
||||||
|
c) cc "${file}" -o "${base}" && "./${base}" ;;
|
||||||
|
cob) cobc -x -o "$base" "$file" && "$base" ;;
|
||||||
|
cpp) g++ "${file}" -o "${base}" && "./${base}" ;;
|
||||||
|
cs) mcs "${file}" && mono "${base}.exe" ;;
|
||||||
|
go) go run "${file}" ;;
|
||||||
|
h) sudo make install ;;
|
||||||
|
java) javac -d classes "${file}" && java -cp classes "${base}" ;;
|
||||||
|
m) octave "${file}" ;;
|
||||||
|
md) [ -x "$(command -v lowdown)" ] && \
|
||||||
|
lowdown --parse-no-intraemph "${file}" -Tms | groff -mpdfmark -ms -kept -T pdf > "${base}.pdf" || \
|
||||||
|
[ -x "$(command -v groffdown)" ] && \
|
||||||
|
groffdown -i "${file}" | groff -T pdf > "${base}.pdf" || \
|
||||||
|
pandoc -t ms --highlight-style="kate" -s -o "${base}.pdf" "${file}" ;;
|
||||||
|
org) emacs "${file}" --batch -u "${USER}" -f org-latex-export-to-pdf ;;
|
||||||
|
py) python "${file}" ;;
|
||||||
|
rink) rink -f "${file}" ;;
|
||||||
|
[rR]md) Rscript -e "rmarkdown::render('${file}', quiet=TRUE)" ;;
|
||||||
|
rs) cargo build ;;
|
||||||
|
sass) sassc -a "${file}" "${base}.css" ;;
|
||||||
|
scad) openscad -o "${base}.stl" "${file}" ;;
|
||||||
|
sent) setsid -f sent "${file}" 2> "/dev/null" ;;
|
||||||
|
tex) latexmk ;;
|
||||||
|
*) sed -n '/^#!/s/^#!//p; q' "${file}" | xargs -r -I % "${file}" ;;
|
||||||
|
esac
|
||||||
@@ -1,34 +1,15 @@
|
|||||||
set -s escape-time 0
|
set -a terminal-features "tmux-256color:RGB"
|
||||||
set -g escape-time 0
|
set -g prefix C-s
|
||||||
set-option -sa terminal-features ',xterm-256color:RGB'
|
|
||||||
|
|
||||||
unbind C-b
|
|
||||||
set-option -g prefix C-s
|
|
||||||
bind-key C-s send-prefix
|
|
||||||
bind r source-file ~/.tmux.conf
|
|
||||||
|
|
||||||
bind -r k select-pane -U
|
|
||||||
bind -r j select-pane -D
|
|
||||||
bind -r h select-pane -L
|
|
||||||
bind -r l select-pane -R
|
|
||||||
bind -r ^ last-window
|
|
||||||
|
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
set -g renumber-windows on
|
set -g renumber-windows on
|
||||||
set-window-option -g mode-keys vi
|
set -g mode-keys vi
|
||||||
|
|
||||||
set -g status-position top
|
set -g status-position top
|
||||||
set -g status-justify centre
|
set -g status-justify absolute-centre
|
||||||
set -g status-style fg=colour8,bg=#000000
|
set -g status-style "bg=default"
|
||||||
set -g status-left-length 120
|
set -g window-status-current-style "fg=blue bold"
|
||||||
set -g status-left-style fg=colour8,bg=#000000
|
set -g status-right ""
|
||||||
set -g status-right-style fg=colour8,bg=#000000
|
set -g status-left "#S"
|
||||||
|
|
||||||
set -g status-left '#(echo "#{pane_current_path}" | sed "s|^/home/||")'
|
bind r source-file "~/.config/tmux/tmux.conf"
|
||||||
set -g status-right '%H:%M'
|
bind b set -g status
|
||||||
|
bind G neww -n "lazygit" lazygit
|
||||||
setw -g window-status-style fg=colour8,bg=#000000
|
|
||||||
setw -g window-status-format '#I:#W '
|
|
||||||
|
|
||||||
setw -g window-status-current-style fg=colour1,bg=#000000,bold
|
|
||||||
set -g status-right '%I:%M %p'
|
|
||||||
|
|||||||
@@ -6,11 +6,15 @@ export VISUAL=nvim
|
|||||||
export TERM="xterm-256color"
|
export TERM="xterm-256color"
|
||||||
export COLORTERM=truecolor
|
export COLORTERM=truecolor
|
||||||
|
|
||||||
|
export PATH=$HOME/.scripts:$PATH
|
||||||
|
|
||||||
alias ls='ls --color=auto'
|
alias ls='ls --color=auto'
|
||||||
alias ll='ls -lah'
|
alias ll='ls -lah'
|
||||||
|
alias v='nvim'
|
||||||
|
|
||||||
take() {
|
take() {
|
||||||
mkdir $1 && cd $1
|
mkdir $1;
|
||||||
|
cd $1
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -f "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh" ] && source "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh"
|
[ -f "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh" ] && source "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh"
|
||||||
|
|||||||
Reference in New Issue
Block a user