This is my cli configuration mostly tried to keep it keyboard driven and much focused to be working on TTY.
Seprating Cli from all other config to make sure that can easily setup this on any system Independent of GUI. Quickly able to run on TTY too.
fzf preview using the preview script in bin/
ueberzugpp
is a dependency for my configuration should work fine on xorg and wayland
My zsh config have auto-completions that gives ghost text preview can be selected using the keymap ctrl-l
Pressing tab for command completion will show fzf to complete the command args.
jk
will switch to vim mode in the shell prompt.
ctrl-r
to search history.ctrl-t
to search files in current directory.alt-c
to search directory.ctrl-space
multiple selection.ctrl-/
unselect selection.
yay -S --needed \
rustup python python-pip nodejs go \
zsh-completion-git bash-complete-alias bash-completion \
fd ripgrep shellcheck-bin shfmt advcpmv pistol-git bat exa git glow urlview git-secret trash-cli fzf xstow ttf-jetbrains-mono-nerd zoxide \
w3m zip unzip unrar vim \
zellij tmux urlview
git clone https://github.com/niksingh710/cli.git ~/.cli-dots
cd ~/.cli-dots
xstow */ -t ~ -force
Quick vim setup for TTY. if don't want to setup whole shell
curl https://raw.githubusercontent.com/niksingh710/cli/master/shell/.vimrc > ~/.vimrc
These are the some utilities that i reccomend to have.
-
fzf Fuzzy finder gives god like navigation and other powers if used correctly.
-
lunarvim Nvim with less efforts (i have my own)
-
exa Better ls
-
bat cat command with wings
-
git Git cli
-
rclone Rclone cloud drive mounter
-
zellij Oh yeah this makes split in TTY (A multiplexer) Just u need it you don't know but u do. (I felt it is buggy)
- urlview access urls available in tmux view
-
tmux Oh yeah this makes split in TTY (A multiplexer) Just u need it you don't know but u do. (no sixel but my preview with ueberzugpp works)
- tpm only plugin manager this tool have.
- minimal-tmux-status only plugin manager this tool have.
-
simplehttp Simple go utility to host folder on a network.
-
zsh Shell on steroid (bounded by ur vision)
-
starhip Prompt on Steroid
-
zoxide Lazy cd.
Plugins and all is already managed in
.zshconfig
by znap.zsh-vi-mode This plugin overrides fzf keymaps and someother zsh stuff. so sourcing a different file
zvm_after_init_commands+=('. file)
-
-
Other pkgs like
- Bash completions
- Zsh completions
-
Arch Specific
- pkgfile
- pkg conf
- yay Aur helper.
Make sure to have go, python, nodejs, rustup is installed. ensure getting rust setup after installing rustup.
also ensure that pip
npm
cargo
are available and working.
- Note
For node js I prefer to use fnm
The keymaps are purely based on vim keymaps.
Leader is a key type when pressed then it waits for the next key combo to be pressed to execute instructions.
Tool | Leader |
---|---|
Lunarvim | space |
zellij | c-a (Control-a) |
These are some basic keymap patterns can be seen around.
j
and k
keys to move up and down
h
and l
keys to move left right
More specific tool mapping will be present inside the tool config.
Make sure to press Leader, Shift+I
to install plugins
Leader key Ctrl-a
keymaps | action |
---|---|
leader,v | split vertical |
leader,s | split horizontal |
leader,r | Reload Config |
leader,m | Maximize pane |
leader,j,k,l,h | Resize pane |
leader,v | visual mode in vim keymaps |
leader,c-h,c-j,c-k,c-l | Pane switcher switches pane with nvim too |
Floating terminal |
Leader key Ctrl-a
keymaps | action |
---|---|
leader,v | split vertical |
leader,s | split horizontal |
leader,r | Rename Tab |
leader,m | Maximize pane |
leader,J,K,L,H | Resize pane |
leader,e | Open terminal in editor buffer |
leader,f | Floating terminal |
leader,h,j,k,l | Pane switcher switches pane |
jk
for switching to normal mode from insert mode.
c-s
saving buffer
leader,q
to quit vim
Use Leader,S,k
to list all keymappings.
Download the private.key from google-drive gpg --import private.key
Read xstow manual
But in short don't miss -t ~
as it forces it's target to home dir
if wanna include only single module you can do xstow <module> -t ~