Paul Stemmet
d55773757b
This commit adds wrapper objects around vim.keymap functionality. Bind represents a single key bind, which can be register/2'ed with Neovim. By default, Bind enables noremap and silent (:h map-arguments) by default, as this is almost always what a user wants. BindGroup(s) are DAG collections of child BindGroup(s) inner nodes and Bind leaf nodes. Options are passed down the tree, though they may be overridden by child objects. Together they allow callers to create composable, lazy key bind groupings, that can be instantiated together, while deferring the implementation and activation of such groups. Generally speaking, the big idea is to provide several well known group 'aliases', for example, bind.Global, bind.User or bind.Lsp, and let users override key binds in these groups, while the actual functionality is provider (Bind.action) is opaque to them. |
||
---|---|---|
.vim | ||
.vscode | ||
etc | ||
fonts | ||
nvim/lua/psoxizsh | ||
oh-my-zsh@7dcabbe682 | ||
tmux | ||
vim/autoload | ||
zsh-custom | ||
.gitignore | ||
.gitmodules | ||
README.md | ||
fresh-system | ||
init.lua | ||
starship.toml | ||
vimrc | ||
zshrc |
README.md
pSoxIzsh
About this
Over the years I have collect various bits from various locations. I often share what I have done with work colleagues and finally made this repository so people can pull the latest.
This is optimized by default for dark terminals, and contains configurations for use with
- zsh >= v5.8
- neovim >= v0.6
- tmux >= 3.2
All of these have standard setting but can be customized by using optional include files. Please read the following configs
vimrc
zshrc
tmux/tmux.conf
and look at the include files to check for overrides.
Looks
For the best appearance I have tested the latest versions of
- Konsole
- Microsoft Terminal
- WezTerm
- Kitty (the Linux version, not the on based of putty)
- Alacritty (Windows and Linux)
I have previously used this on iTerm2 on MacOS but not recently.
I also use the Iosevka Term Curly font on both Linux and Windows with ligatures enabled where possible.
Updates
If you already have an installation cd to the ~/.psoxizsh
or /etc/psoxizsh
as root directory and make sure you have not make any changes. If you have stash
them and then run the following commands.
(
git pull --recurse-submodules=yes
git submodule foreach git fetch --all --prune
git submodule foreach git checkout master
git submodule foreach git pull
git pull --recurse-submodules=yes
)
src
Install
User
git clone --recurse-submodules --recursive https://github.com/psox/psoxizsh.git ~/.psoxizsh
# This should work on Linux. It is not tested on MacOS or Windows
~/.psoxizsh/fresh-system
Root - System Wide
# Make sure you are root
git clone --recurse-submodules --recursive https://github.com/psox/psoxizsh.git /etc/psoxizsh
# This should work on Linux. It is not tested on MacOS or Windows
# for each user that wants to use this as the user run this command
/etc/psoxizsh/fresh-system
Configure NeoVim
Make sure you have neovim (tested on v0.6.1) installed and after starting zsh check that the following variable are set by typing
You will need to install neovim
, nodejs
and npm
to get the full use of vim
Just start neovim (nvim
) and wait for it to finish. After that quit and it
should be ready to use.
echo $VIMINIT
echo $MYVIMRC
echo $VIMHOME
Enjoy