mirror of
https://github.com/chenasraf/dotfiles.git
synced 2026-05-18 01:29:06 +00:00
chore: cleanups
This commit is contained in:
@@ -1,28 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!-- Any bug report not following this template will be immediately closed. Thanks -->
|
||||
|
||||
## Describe the bug
|
||||
<!-- A clear and concise description of what the bug is. -->
|
||||
|
||||
## To Reproduce
|
||||
<!-- Steps to reproduce the behavior. -->
|
||||
1. ...
|
||||
|
||||
## Desktop
|
||||
<!-- please complete the following information. -->
|
||||
- OS:
|
||||
- Terminal:
|
||||
|
||||
## Neovim Version
|
||||
<!-- Output of running `:version` from inside of neovim. -->
|
||||
|
||||
```
|
||||
```
|
||||
@@ -6,36 +6,43 @@ https://github.com/kdheepak/kickstart.nvim/assets/1813121/f3ff9a2b-c31f-44df-a4f
|
||||
|
||||
A starting point for Neovim that is:
|
||||
|
||||
* Small
|
||||
* Single-file (with examples of moving to multi-file)
|
||||
* Documented
|
||||
* Modular
|
||||
- Small
|
||||
- Single-file (with examples of moving to multi-file)
|
||||
- Documented
|
||||
- Modular
|
||||
|
||||
This repo is meant to be used by **YOU** to begin your Neovim journey; remove the things you don't use and add what you miss.
|
||||
This repo is meant to be used by **YOU** to begin your Neovim journey; remove the things you don't
|
||||
use and add what you miss.
|
||||
|
||||
Kickstart.nvim targets *only* the latest ['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest ['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim. If you are experiencing issues, please make sure you have the latest versions.
|
||||
Kickstart.nvim targets _only_ the latest
|
||||
['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest
|
||||
['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim. If you are
|
||||
experiencing issues, please make sure you have the latest versions.
|
||||
|
||||
Distribution Alternatives:
|
||||
- [LazyVim](https://www.lazyvim.org/): A delightful distribution maintained by @folke (the author of lazy.nvim, the package manager used here)
|
||||
|
||||
- [LazyVim](https://www.lazyvim.org/): A delightful distribution maintained by @folke (the author of
|
||||
lazy.nvim, the package manager used here)
|
||||
|
||||
### Installation
|
||||
|
||||
> **NOTE**
|
||||
> [Backup](#FAQ) your previous configuration (if any exists)
|
||||
> **NOTE** [Backup](#FAQ) your previous configuration (if any exists)
|
||||
|
||||
Requirements:
|
||||
* Make sure to review the readmes of the plugins if you are experiencing errors. In particular:
|
||||
* [ripgrep](https://github.com/BurntSushi/ripgrep#installation) is required for multiple [telescope](https://github.com/nvim-telescope/telescope.nvim#suggested-dependencies) pickers.
|
||||
* See [Windows Installation](#Windows-Installation) if you have trouble with `telescope-fzf-native`
|
||||
|
||||
- Make sure to review the readmes of the plugins if you are experiencing errors. In particular:
|
||||
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation) is required for multiple
|
||||
[telescope](https://github.com/nvim-telescope/telescope.nvim#suggested-dependencies) pickers.
|
||||
- See [Windows Installation](#Windows-Installation) if you have trouble with `telescope-fzf-native`
|
||||
|
||||
Neovim's configurations are located under the following paths, depending on your OS:
|
||||
|
||||
| OS | PATH |
|
||||
| :- | :--- |
|
||||
| Linux | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
|
||||
| MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
|
||||
| Windows (cmd)| `%userprofile%\AppData\Local\nvim\` |
|
||||
| Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` |
|
||||
| OS | PATH |
|
||||
| :------------------- | :---------------------------------------- |
|
||||
| Linux | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
|
||||
| MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
|
||||
| Windows (cmd) | `%userprofile%\AppData\Local\nvim\` |
|
||||
| Windows (powershell) | `$env:USERPROFILE\AppData\Local\nvim\` |
|
||||
|
||||
Clone kickstart.nvim:
|
||||
|
||||
@@ -44,18 +51,16 @@ Clone kickstart.nvim:
|
||||
git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
# on Windows (cmd)
|
||||
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
|
||||
git clone https://github.com/nvim-lua/kickstart.nvim.git %userprofile%\AppData\Local\nvim\
|
||||
```
|
||||
|
||||
```
|
||||
# on Windows (powershell)
|
||||
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
|
||||
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:USERPROFILE\AppData\Local\nvim\
|
||||
```
|
||||
|
||||
|
||||
### Post Installation
|
||||
|
||||
Start Neovim
|
||||
@@ -64,7 +69,10 @@ Start Neovim
|
||||
nvim
|
||||
```
|
||||
|
||||
The `Lazy` plugin manager will start automatically on the first run and install the configured plugins - as can be seen in the introduction video. After the installation is complete you can press `q` to close the `Lazy` UI and **you are ready to go**! Next time you run nvim `Lazy` will no longer show up.
|
||||
The `Lazy` plugin manager will start automatically on the first run and install the configured
|
||||
plugins - as can be seen in the introduction video. After the installation is complete you can press
|
||||
`q` to close the `Lazy` UI and **you are ready to go**! Next time you run nvim `Lazy` will no longer
|
||||
show up.
|
||||
|
||||
If you would prefer to hide this step and run the plugin sync from the command line, you can use:
|
||||
|
||||
@@ -74,21 +82,27 @@ nvim --headless "+Lazy! sync" +qa
|
||||
|
||||
### Recommended Steps
|
||||
|
||||
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo (so that you have your own copy that you can modify) and then installing you can install to your machine using the methods above.
|
||||
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo (so that you have
|
||||
your own copy that you can modify) and then installing you can install to your machine using the
|
||||
methods above.
|
||||
|
||||
> **NOTE**
|
||||
> Your fork's url will be something like this: `https://github.com/<your_github_username>/kickstart.nvim.git`
|
||||
> Your fork's url will be something like this:
|
||||
> `https://github.com/<your_github_username>/kickstart.nvim.git`
|
||||
|
||||
### Configuration And Extension
|
||||
|
||||
* Inside of your copy, feel free to modify any file you like! It's your copy!
|
||||
* Feel free to change any of the default options in `init.lua` to better suit your needs.
|
||||
* For adding plugins, there are 3 primary options:
|
||||
* Add new configuration in `lua/custom/plugins/*` files, which will be auto sourced using `lazy.nvim` (uncomment the line importing the `custom/plugins` directory in the `init.lua` file to enable this)
|
||||
* Modify `init.lua` with additional plugins.
|
||||
* Include the `lua/kickstart/plugins/*` files in your configuration.
|
||||
- Inside of your copy, feel free to modify any file you like! It's your copy!
|
||||
- Feel free to change any of the default options in `init.lua` to better suit your needs.
|
||||
- For adding plugins, there are 3 primary options:
|
||||
- Add new configuration in `lua/custom/plugins/*` files, which will be auto sourced using
|
||||
`lazy.nvim` (uncomment the line importing the `custom/plugins` directory in the `init.lua` file
|
||||
to enable this)
|
||||
- Modify `init.lua` with additional plugins.
|
||||
- Include the `lua/kickstart/plugins/*` files in your configuration.
|
||||
|
||||
You can also merge updates/changes from the repo back into your fork, to keep up-to-date with any changes for the default configuration.
|
||||
You can also merge updates/changes from the repo back into your fork, to keep up-to-date with any
|
||||
changes for the default configuration.
|
||||
|
||||
#### Example: Adding an autopairs plugin
|
||||
|
||||
@@ -114,8 +128,9 @@ return {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
This will automatically install [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) and enable it on startup. For more information, see documentation for [lazy.nvim](https://github.com/folke/lazy.nvim).
|
||||
This will automatically install [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs)
|
||||
and enable it on startup. For more information, see documentation for
|
||||
[lazy.nvim](https://github.com/folke/lazy.nvim).
|
||||
|
||||
#### Example: Adding a file tree plugin
|
||||
|
||||
@@ -139,51 +154,68 @@ return {
|
||||
}
|
||||
```
|
||||
|
||||
This will install the tree plugin and add the command `:Neotree` for you. You can explore the documentation at [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) for more information.
|
||||
This will install the tree plugin and add the command `:Neotree` for you. You can explore the
|
||||
documentation at [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) for more
|
||||
information.
|
||||
|
||||
### Contribution
|
||||
|
||||
Pull-requests are welcome. The goal of this repo is not to create a Neovim configuration framework, but to offer a starting template that shows, by example, available features in Neovim. Some things that will not be included:
|
||||
Pull-requests are welcome. The goal of this repo is not to create a Neovim configuration framework,
|
||||
but to offer a starting template that shows, by example, available features in Neovim. Some things
|
||||
that will not be included:
|
||||
|
||||
* Custom language server configuration (null-ls templates)
|
||||
* Theming beyond a default colorscheme necessary for LSP highlight groups
|
||||
- Custom language server configuration (null-ls templates)
|
||||
- Theming beyond a default colorscheme necessary for LSP highlight groups
|
||||
|
||||
Each PR, especially those which increase the line count, should have a description as to why the PR is necessary.
|
||||
Each PR, especially those which increase the line count, should have a description as to why the PR
|
||||
is necessary.
|
||||
|
||||
### FAQ
|
||||
|
||||
* What should I do if I already have a pre-existing neovim configuration?
|
||||
* You should back it up, then delete all files associated with it.
|
||||
* This includes your existing init.lua and the neovim files in `~/.local` which can be deleted with `rm -rf ~/.local/share/nvim/`
|
||||
* You may also want to look at the [migration guide for lazy.nvim](https://github.com/folke/lazy.nvim#-migration-guide)
|
||||
* Can I keep my existing configuration in parallel to kickstart?
|
||||
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` to maintain multiple configurations. For example you can install the kickstart configuration in `~/.config/nvim-kickstart` and create a script `~/bin/nvim-kickstart`:
|
||||
- What should I do if I already have a pre-existing neovim configuration?
|
||||
- You should back it up, then delete all files associated with it.
|
||||
- This includes your existing init.lua and the neovim files in `~/.local` which can be deleted
|
||||
with `rm -rf ~/.local/share/nvim/`
|
||||
- You may also want to look at the
|
||||
[migration guide for lazy.nvim](https://github.com/folke/lazy.nvim#-migration-guide)
|
||||
- Can I keep my existing configuration in parallel to kickstart?
|
||||
- Yes! You can use
|
||||
[NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` to maintain
|
||||
multiple configurations. For example you can install the kickstart configuration in
|
||||
`~/.config/nvim-kickstart` and create a script `~/bin/nvim-kickstart`:
|
||||
```
|
||||
#!/bin/sh
|
||||
exec env NVIM_APPNAME=nvim-kickstart nvim "$@"
|
||||
```
|
||||
When you run Neovim with `nvim-kickstart` it will use the alternative config directory and the matching local directory: `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim distribution that you would like to try out.
|
||||
* What if I want to "uninstall" this configuration:
|
||||
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
|
||||
* Are there any cool videos about this plugin?
|
||||
* Current iteration of kickstart (coming soon)
|
||||
* Here is one about the previous iteration of kickstart: [video introduction to Kickstart.nvim](https://youtu.be/stqUbv-5u2s). Note the install via init.lua no longer works as specified. Please follow the install instructions in this file instead as they're up to date.
|
||||
* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
|
||||
* The main purpose of kickstart is to serve as a teaching tool and a reference
|
||||
configuration that someone can easily `git clone` as a basis for their own.
|
||||
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
|
||||
into smaller parts. A fork of kickstart that does this while maintaining the exact
|
||||
same functionality is available here:
|
||||
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
|
||||
* Discussions on this topic can be found here:
|
||||
* [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218)
|
||||
* [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473)
|
||||
When you run Neovim with `nvim-kickstart` it will use the alternative config directory and the
|
||||
matching local directory: `~/.local/share/nvim-kickstart`. You can apply this approach to any
|
||||
Neovim distribution that you would like to try out.
|
||||
- What if I want to "uninstall" this configuration:
|
||||
- See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
|
||||
- Are there any cool videos about this plugin?
|
||||
- Current iteration of kickstart (coming soon)
|
||||
- Here is one about the previous iteration of kickstart:
|
||||
[video introduction to Kickstart.nvim](https://youtu.be/stqUbv-5u2s). Note the install via
|
||||
init.lua no longer works as specified. Please follow the install instructions in this file
|
||||
instead as they're up to date.
|
||||
- Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple
|
||||
files?
|
||||
- The main purpose of kickstart is to serve as a teaching tool and a reference configuration that
|
||||
someone can easily `git clone` as a basis for their own. As you progress in learning Neovim and
|
||||
Lua, you might consider splitting `init.lua` into smaller parts. A fork of kickstart that does
|
||||
this while maintaining the exact same functionality is available here:
|
||||
- [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
|
||||
- Discussions on this topic can be found here:
|
||||
- [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218)
|
||||
- [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473)
|
||||
|
||||
### Windows Installation
|
||||
|
||||
Installation may require installing build tools, and updating the run command for `telescope-fzf-native`
|
||||
Installation may require installing build tools, and updating the run command for
|
||||
`telescope-fzf-native`
|
||||
|
||||
See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
|
||||
See `telescope-fzf-native` documentation for
|
||||
[more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
|
||||
|
||||
This requires:
|
||||
|
||||
@@ -192,4 +224,3 @@ This requires:
|
||||
```lua
|
||||
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
|
||||
```
|
||||
|
||||
|
||||
@@ -1,43 +1,3 @@
|
||||
--[[
|
||||
|
||||
=====================================================================
|
||||
==================== READ THIS BEFORE CONTINUING ====================
|
||||
=====================================================================
|
||||
|
||||
Kickstart.nvim is *not* a distribution.
|
||||
|
||||
Kickstart.nvim is a template for your own configuration.
|
||||
The goal is that you can read every line of code, top-to-bottom, understand
|
||||
what your configuration is doing, and modify it to suit your needs.
|
||||
|
||||
Once you've done that, you should start exploring, configuring and tinkering to
|
||||
explore Neovim!
|
||||
|
||||
If you don't know anything about Lua, I recommend taking some time to read through
|
||||
a guide. One possible example:
|
||||
- https://learnxinyminutes.com/docs/lua/
|
||||
|
||||
|
||||
And then you can explore or search through `:help lua-guide`
|
||||
- https://neovim.io/doc/user/lua-guide.html
|
||||
|
||||
|
||||
Kickstart Guide:
|
||||
|
||||
I have left several `:help X` comments throughout the init.lua
|
||||
You should run that command and read that help section for more information.
|
||||
|
||||
In addition, I have some `NOTE:` items throughout the file.
|
||||
These are for you, the reader to help understand what is happening. Feel free to delete
|
||||
them once you know what you're doing, but they should serve as a guide for when you
|
||||
are first encountering a few different constructs in your nvim config.
|
||||
|
||||
I hope you enjoy your Neovim journey,
|
||||
- TJ
|
||||
|
||||
P.S. You can delete this when you're done too. It's your config now :)
|
||||
--]]
|
||||
|
||||
-- Set <space> as the leader key
|
||||
-- See `:help mapleader`
|
||||
-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used)
|
||||
@@ -161,6 +121,7 @@ require('lazy').setup({
|
||||
{
|
||||
-- Add indentation guides even on blank lines
|
||||
'lukas-reineke/indent-blankline.nvim',
|
||||
tag = 'v3.3.9',
|
||||
-- Enable `lukas-reineke/indent-blankline.nvim`
|
||||
-- See `:help ibl`
|
||||
main = 'ibl',
|
||||
@@ -200,39 +161,11 @@ require('lazy').setup({
|
||||
build = ':TSUpdate',
|
||||
},
|
||||
|
||||
-- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart
|
||||
-- These are some example plugins that I've included in the kickstart repository.
|
||||
-- Uncomment any of the lines below to enable them.
|
||||
-- require 'kickstart.plugins.autoformat',
|
||||
-- require 'kickstart.plugins.debug',
|
||||
|
||||
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
||||
-- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping
|
||||
-- up-to-date with whatever is in the kickstart repo.
|
||||
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
|
||||
--
|
||||
-- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
|
||||
-- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
|
||||
{ import = 'custom.plugins' },
|
||||
-- { import = 'custom.lib' },
|
||||
}, {})
|
||||
|
||||
|
||||
-- [[ Basic Keymaps ]]
|
||||
|
||||
-- Keymaps for better default experience
|
||||
-- See `:help vim.keymap.set()`
|
||||
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
|
||||
|
||||
-- Remap for dealing with word wrap
|
||||
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||
|
||||
-- Diagnostic keymaps
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' })
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' })
|
||||
vim.keymap.set('n', '<leader>tE', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' })
|
||||
vim.keymap.set('n', '<leader>tQ', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' })
|
||||
|
||||
-- [[ Highlight on yank ]]
|
||||
-- See `:help vim.highlight.on_yank()`
|
||||
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
|
||||
@@ -256,6 +189,5 @@ require('which-key').register {
|
||||
['<leader>w'] = { name = '[W]orkspace', _ = 'which_key_ignore' },
|
||||
}
|
||||
|
||||
|
||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
||||
-- vim: ts=2 sts=2 sw=2 et
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
vim.keymap.set("n", "<leader>lr", ":LspRestart<CR>", { desc = "[R]estart [L]SP" })
|
||||
-- [[ Configure LSP ]]
|
||||
-- This function gets run when an LSP connects to a particular buffer.
|
||||
local on_attach = function(_, bufnr)
|
||||
@@ -199,6 +200,7 @@ cmp.setup {
|
||||
{ name = 'luasnip' },
|
||||
},
|
||||
}
|
||||
|
||||
return {
|
||||
'akinsho/flutter-tools.nvim',
|
||||
lazy = false,
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
-- Keymaps for better default experience
|
||||
-- See `:help vim.keymap.set()`
|
||||
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
|
||||
|
||||
-- Remap for dealing with word wrap
|
||||
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||
|
||||
-- Diagnostic keymaps
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' })
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' })
|
||||
vim.keymap.set('n', '<leader>tE', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' })
|
||||
vim.keymap.set('n', '<leader>tQ', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' })
|
||||
|
||||
vim.keymap.set("n", "gq", "<C-w>c", { desc = "Close pane" })
|
||||
vim.keymap.set("n", "gQ", ":qa!<CR>", { desc = "Close nvim" })
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
--
|
||||
--
|
||||
-- See https://wezfurlong.org/wezterm/config/files.html
|
||||
--
|
||||
--
|
||||
-- Pull in the wezterm API
|
||||
local wezterm = require 'wezterm'
|
||||
local act = wezterm.action
|
||||
|
||||
-- This table will hold the configuration.
|
||||
local config = {}
|
||||
@@ -10,22 +16,22 @@ if wezterm.config_builder then
|
||||
config = wezterm.config_builder({})
|
||||
end
|
||||
|
||||
function unichr(ord)
|
||||
--[[ function unichr(ord)
|
||||
if ord == nil then return nil end
|
||||
if ord < 32 then return string.format('\\x%02x', ord) end
|
||||
if ord < 126 then return string.char(ord) end
|
||||
if ord < 65539 then return string.format("\\u%04x", ord) end
|
||||
if ord < 1114111 then return string.format("\\u%08x", ord) end
|
||||
end
|
||||
end ]]
|
||||
|
||||
-- This is where you actually apply your config choices
|
||||
config.font = wezterm.font_with_fallback({
|
||||
"MesloLGS NF",
|
||||
{ family = "MesloLGS Nerd Font", weight = "Medium", harfbuzz_features = { 'zero' } },
|
||||
|
||||
"FiraCode Nerd Font Mono",
|
||||
{ family = "FiraCode Nerd Font", weight = "Medium", harfbuzz_features = { 'zero' } },
|
||||
|
||||
-- <built-in>, BuiltIn
|
||||
"JetBrains Mono",
|
||||
-- "JetBrains Mono",
|
||||
|
||||
-- <built-in>, BuiltIn
|
||||
-- Assumed to have Emoji Presentation
|
||||
@@ -39,109 +45,124 @@ config.font = wezterm.font_with_fallback({
|
||||
-- config.color_scheme = 'AdventureTime'
|
||||
-- config.font = wezterm.font("Menlo")
|
||||
config.font_size = 14.0
|
||||
|
||||
config.window_background_opacity = 0.85
|
||||
config.macos_window_background_blur = 20
|
||||
config.enable_tab_bar = false
|
||||
|
||||
config.mouse_bindings = {
|
||||
-- Disable the 'Down' event of Cmd-Click to avoid weird program behaviors
|
||||
{
|
||||
event = { Down = { streak = 1, button = 'Left' } },
|
||||
mods = 'CMD',
|
||||
action = act.Nop,
|
||||
},
|
||||
-- Cmd-click will open the link under the mouse cursor
|
||||
{
|
||||
event = { Up = { streak = 1, button = 'Left' } },
|
||||
mods = 'CMD',
|
||||
action = act.OpenLinkAtMouseCursor,
|
||||
},
|
||||
}
|
||||
config.keys = {
|
||||
----------------------------------------------------------------------------------
|
||||
--- tmux
|
||||
----------------------------------------------------------------------------------
|
||||
-- move between tmux panes: Cmd+Shift+(HJKL) or Cmd+Shift+(Left Down Up Right) Arrow
|
||||
{ key = "h", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02\x1b[D" } },
|
||||
{ key = "j", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02\x1b[B" } },
|
||||
{ key = "k", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02\x1b[A" } },
|
||||
{ key = "l", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02\x1b[C" } },
|
||||
{ key = "LeftArrow", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02\x1b[D" } },
|
||||
{ key = "DownArrow", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02\x1b[B" } },
|
||||
{ key = "UpArrow", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02\x1b[A" } },
|
||||
{ key = "RightArrow", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02\x1b[C" } },
|
||||
{ key = "h", mods = "CMD|SHIFT", action = act { SendString = "\x02\x1b[D" } },
|
||||
{ key = "j", mods = "CMD|SHIFT", action = act { SendString = "\x02\x1b[B" } },
|
||||
{ key = "k", mods = "CMD|SHIFT", action = act { SendString = "\x02\x1b[A" } },
|
||||
{ key = "l", mods = "CMD|SHIFT", action = act { SendString = "\x02\x1b[C" } },
|
||||
{ key = "LeftArrow", mods = "CMD|SHIFT", action = act { SendString = "\x02\x1b[D" } },
|
||||
{ key = "DownArrow", mods = "CMD|SHIFT", action = act { SendString = "\x02\x1b[B" } },
|
||||
{ key = "UpArrow", mods = "CMD|SHIFT", action = act { SendString = "\x02\x1b[A" } },
|
||||
{ key = "RightArrow", mods = "CMD|SHIFT", action = act { SendString = "\x02\x1b[C" } },
|
||||
-- Select window 0-9
|
||||
{ key = "1", mods = "CMD", action = wezterm.action { SendString = "\x021" } },
|
||||
{ key = "2", mods = "CMD", action = wezterm.action { SendString = "\x022" } },
|
||||
{ key = "3", mods = "CMD", action = wezterm.action { SendString = "\x023" } },
|
||||
{ key = "4", mods = "CMD", action = wezterm.action { SendString = "\x024" } },
|
||||
{ key = "5", mods = "CMD", action = wezterm.action { SendString = "\x025" } },
|
||||
{ key = "6", mods = "CMD", action = wezterm.action { SendString = "\x026" } },
|
||||
{ key = "7", mods = "CMD", action = wezterm.action { SendString = "\x027" } },
|
||||
{ key = "8", mods = "CMD", action = wezterm.action { SendString = "\x028" } },
|
||||
{ key = "9", mods = "CMD", action = wezterm.action { SendString = "\x029" } },
|
||||
{ key = "0", mods = "CMD", action = wezterm.action { SendString = "\x020" } },
|
||||
{ key = "1", mods = "CMD", action = act { SendString = "\x021" } },
|
||||
{ key = "2", mods = "CMD", action = act { SendString = "\x022" } },
|
||||
{ key = "3", mods = "CMD", action = act { SendString = "\x023" } },
|
||||
{ key = "4", mods = "CMD", action = act { SendString = "\x024" } },
|
||||
{ key = "5", mods = "CMD", action = act { SendString = "\x025" } },
|
||||
{ key = "6", mods = "CMD", action = act { SendString = "\x026" } },
|
||||
{ key = "7", mods = "CMD", action = act { SendString = "\x027" } },
|
||||
{ key = "8", mods = "CMD", action = act { SendString = "\x028" } },
|
||||
{ key = "9", mods = "CMD", action = act { SendString = "\x029" } },
|
||||
{ key = "0", mods = "CMD", action = act { SendString = "\x020" } },
|
||||
-- Previous/Next tmux window: Cmd+Shift+{/}
|
||||
{ key = "[", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02p" } },
|
||||
{ key = "]", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02n" } },
|
||||
{ key = "[", mods = "CMD|SHIFT", action = act { SendString = "\x02p" } },
|
||||
{ key = "]", mods = "CMD|SHIFT", action = act { SendString = "\x02n" } },
|
||||
-- Zoom - Cmd+Z
|
||||
{ key = "z", mods = "CMD", action = wezterm.action { SendString = "\x02z" } },
|
||||
{ key = "z", mods = "CMD", action = act { SendString = "\x02z" } },
|
||||
-- Kill the current pane/last window - Cmd+W
|
||||
{ key = "w", mods = "CMD", action = wezterm.action { SendString = "\x02x" } },
|
||||
{ key = "w", mods = "CMD", action = act { SendString = "\x02x" } },
|
||||
-- Detach - Cmd+Shift+W
|
||||
{ key = "w", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02d" } },
|
||||
{ key = "w", mods = "CMD|SHIFT", action = act { SendString = "\x02d" } },
|
||||
-- Split pane horizontally - Cmd+D
|
||||
{ key = "d", mods = "CMD", action = wezterm.action { SendString = "\x02|" } },
|
||||
{ key = "d", mods = "CMD", action = act { SendString = "\x02|" } },
|
||||
-- Split pane vertically - Cmd+Shift+D
|
||||
{ key = "d", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02_" } },
|
||||
{ key = "d", mods = "CMD|SHIFT", action = act { SendString = "\x02_" } },
|
||||
-- Create new window - Cmd+T
|
||||
{ key = "t", mods = "CMD", action = wezterm.action { SendString = "\x02c" } },
|
||||
{ key = "t", mods = "CMD", action = act { SendString = "\x02c" } },
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
--- vim
|
||||
----------------------------------------------------------------------------------
|
||||
-- move between vim panes: Cmd+(HJKL) or Cmd+(Left Down Up Right) Arrow
|
||||
{ key = "h", mods = "CMD", action = wezterm.action { SendString = "\x17h" } },
|
||||
{ key = "j", mods = "CMD", action = wezterm.action { SendString = "\x17j" } },
|
||||
{ key = "k", mods = "CMD", action = wezterm.action { SendString = "\x17k" } },
|
||||
{ key = "l", mods = "CMD", action = wezterm.action { SendString = "\x17l" } },
|
||||
{ key = "LeftArrow", mods = "CMD", action = wezterm.action { SendString = "\x17h" } },
|
||||
{ key = "DownArrow", mods = "CMD", action = wezterm.action { SendString = "\x17j" } },
|
||||
{ key = "UpArrow", mods = "CMD", action = wezterm.action { SendString = "\x17k" } },
|
||||
{ key = "RightArrow", mods = "CMD", action = wezterm.action { SendString = "\x17l" } },
|
||||
{ key = "h", mods = "CMD", action = act { SendString = "\x17h" } },
|
||||
{ key = "j", mods = "CMD", action = act { SendString = "\x17j" } },
|
||||
{ key = "k", mods = "CMD", action = act { SendString = "\x17k" } },
|
||||
{ key = "l", mods = "CMD", action = act { SendString = "\x17l" } },
|
||||
{ key = "LeftArrow", mods = "CMD", action = act { SendString = "\x17h" } },
|
||||
{ key = "DownArrow", mods = "CMD", action = act { SendString = "\x17j" } },
|
||||
{ key = "UpArrow", mods = "CMD", action = act { SendString = "\x17k" } },
|
||||
{ key = "RightArrow", mods = "CMD", action = act { SendString = "\x17l" } },
|
||||
|
||||
-- Select all in nvim: Cmd+A
|
||||
{ key = "a", mods = "CMD", action = wezterm.action { SendString = "\x1bggVG" } },
|
||||
{ key = "a", mods = "CMD", action = act { SendString = "\x1bggVG" } },
|
||||
-- save in nvim: Cmd+S
|
||||
{ key = "s", mods = "CMD", action = wezterm.action { SendString = "\x1b\x1b:w\n" } },
|
||||
{ key = "s", mods = "CMD", action = act { SendString = "\x1b\x1b:w\n" } },
|
||||
-- save all in nvim: Cmd+Shift+S
|
||||
{ key = "s", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x1b\x1b:wa\n" } },
|
||||
{ key = "s", mods = "CMD|SHIFT", action = act { SendString = "\x1b\x1b:wa\n" } },
|
||||
-- save and cloe pane: Cmd+Opt+S
|
||||
{ key = "s", mods = "CMD|OPT", action = wezterm.action { SendString = "\x1b\x1bZZ" } },
|
||||
{ key = "s", mods = "CMD|OPT", action = act { SendString = "\x1b\x1bZZ" } },
|
||||
-- open file picker in neovim: Cmd+P
|
||||
{ key = "p", mods = "CMD", action = wezterm.action { SendString = "\x1b\x1b sf\n" } },
|
||||
{ key = "p", mods = "CMD", action = act { SendString = "\x1b\x1b sf\n" } },
|
||||
-- Cmd+Shift+P - Select tmux session
|
||||
{ key = "p", mods = "CMD|SHIFT", action = wezterm.action { SendString = "\x02s" } },
|
||||
{ key = "p", mods = "CMD|SHIFT", action = act { SendString = "\x02s" } },
|
||||
|
||||
-- bar bar
|
||||
{ key = ",", mods = "OPT", action = wezterm.action { SendString = '≤', } },
|
||||
{ key = ".", mods = "OPT", action = wezterm.action { SendString = '≥', } },
|
||||
{ key = ",", mods = "OPT", action = act { SendString = '≤', } },
|
||||
{ key = ".", mods = "OPT", action = act { SendString = '≥', } },
|
||||
-- Re-order to previous/next
|
||||
{ key = ",", mods = "SHIFT|OPT", action = wezterm.action { SendString = '¯', } },
|
||||
{ key = ".", mods = "SHIFT|OPT", action = wezterm.action { SendString = '˘', } },
|
||||
{ key = ",", mods = "SHIFT|OPT", action = act { SendString = '¯', } },
|
||||
{ key = ".", mods = "SHIFT|OPT", action = act { SendString = '˘', } },
|
||||
-- Goto buffer in position...
|
||||
{ key = "1", mods = "OPT", action = wezterm.action { SendString = '¡', } },
|
||||
{ key = "2", mods = "OPT", action = wezterm.action { SendString = '™', } },
|
||||
{ key = "3", mods = "OPT", action = wezterm.action { SendString = '£', } },
|
||||
{ key = "4", mods = "OPT", action = wezterm.action { SendString = '¢', } },
|
||||
{ key = "5", mods = "OPT", action = wezterm.action { SendString = '∞', } },
|
||||
{ key = "6", mods = "OPT", action = wezterm.action { SendString = '§', } },
|
||||
{ key = "7", mods = "OPT", action = wezterm.action { SendString = '¶', } },
|
||||
{ key = "8", mods = "OPT", action = wezterm.action { SendString = '•', } },
|
||||
{ key = "9", mods = "OPT", action = wezterm.action { SendString = 'ª', } },
|
||||
{ key = "0", mods = "OPT", action = wezterm.action { SendString = 'º', } },
|
||||
{ key = "1", mods = "OPT", action = act { SendString = '¡', } },
|
||||
{ key = "2", mods = "OPT", action = act { SendString = '™', } },
|
||||
{ key = "3", mods = "OPT", action = act { SendString = '£', } },
|
||||
{ key = "4", mods = "OPT", action = act { SendString = '¢', } },
|
||||
{ key = "5", mods = "OPT", action = act { SendString = '∞', } },
|
||||
{ key = "6", mods = "OPT", action = act { SendString = '§', } },
|
||||
{ key = "7", mods = "OPT", action = act { SendString = '¶', } },
|
||||
{ key = "8", mods = "OPT", action = act { SendString = '•', } },
|
||||
{ key = "9", mods = "OPT", action = act { SendString = 'ª', } },
|
||||
{ key = "0", mods = "OPT", action = act { SendString = 'º', } },
|
||||
-- Pin/unpin buffer
|
||||
{ key = "p", mods = "OPT", action = wezterm.action { SendString = 'π', } },
|
||||
{ key = "p", mods = "OPT", action = act { SendString = 'π', } },
|
||||
-- Close buffer
|
||||
{ key = "c", mods = "OPT", action = wezterm.action { SendString = 'ç', } },
|
||||
{ key = "c", mods = "OPT", action = act { SendString = 'ç', } },
|
||||
-- Close all but current
|
||||
{ key = "c", mods = "SHIFT|OPT", action = wezterm.action { SendString = 'Ç', } },
|
||||
{ key = "c", mods = "SHIFT|OPT", action = act { SendString = 'Ç', } },
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
--- term
|
||||
----------------------------------------------------------------------------------
|
||||
-- Delete entire row - Cmd+Backspace
|
||||
{ key = "Backspace", mods = "CMD", action = wezterm.action { SendString = "\x15" } },
|
||||
{ key = "Backspace", mods = "CMD", action = act { SendString = "\x15" } },
|
||||
-- Delete entire word - Opt+Backspace
|
||||
{ key = "Backspace", mods = "OPT", action = wezterm.action { SendString = "\x17" } },
|
||||
{ key = "Backspace", mods = "OPT", action = act { SendString = "\x17" } },
|
||||
}
|
||||
|
||||
-- config.bidi_enabled = true
|
||||
-- config.bidi_direction = "AutoLeftToRight"
|
||||
|
||||
-- and finally, return the configuration to wezterm
|
||||
return config
|
||||
|
||||
@@ -88,8 +88,9 @@ else
|
||||
fi
|
||||
|
||||
# home
|
||||
alias home="h_"
|
||||
alias h="home"
|
||||
alias hi="home install"
|
||||
alias hi="source \$DOTFILES/install.sh"
|
||||
alias rh="rhome"
|
||||
alias rt="home rt"
|
||||
alias hst="home status"
|
||||
@@ -99,7 +100,7 @@ alias hp="home push"
|
||||
alias hl="home pull"
|
||||
alias hlog="home git log"
|
||||
alias hiv="home install; vim ."
|
||||
alias hv="pushd \$(wd path df); v; popd"
|
||||
alias hv="vi \$(wd path df)"
|
||||
alias spider="ssh root@spider.casraf.dev"
|
||||
|
||||
# docker
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
[[ $(which echo_cyan) ]] && echo_cyan "Setting up..." || echo "Setting up..."
|
||||
source $DOTFILES/scripts/home/_common.sh
|
||||
source $DOTFILES/scripts/man.sh
|
||||
ZPLUG=0
|
||||
shift
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
-z | --zplug)
|
||||
@@ -17,8 +17,8 @@ cwd="$(pwd)"
|
||||
pushd $DOTFILES
|
||||
|
||||
echo_cyan "Setting defaults..."
|
||||
write_default "PMPrintingExpandedStateForPrint" "-bool TRUE"
|
||||
write_default "NSScrollViewRubberbanding" "-bool FALSE"
|
||||
is_mac && write_default "PMPrintingExpandedStateForPrint" "-bool TRUE"
|
||||
is_mac && write_default "NSScrollViewRubberbanding" "-bool FALSE"
|
||||
git config --global core.excludesfile ~/.config/.gitignore
|
||||
|
||||
# Manfile
|
||||
|
||||
Reference in New Issue
Block a user