声明: 此项目与那些声称要取代vscode等GUI工具的配置不同, 而是力图填补这些大型开发工具在终端环境下的空白

项目地址: https://github.com/ch3n9w/dev, 后续README更新不会同步到这篇博客, 但是大体上秉承的思想不会改变: 极简、可用以及最少化心智负担

Development Toolkit 📡

A comprehensive and user-friendly development toolkit to boost up your productivity 🚀.

Try

docker run -it --rm --name dev ch4xer/dev:latest /bin/zsh

Install

git clone https://github.com/ch3n9w/dev
cd dev
# install dependency software and install configuration
./scripts/install-software.sh

Alternatively (if you dont want to install all of them), you can copy the configuration directory you like to XDG_CONFIG_HOME (commonly ~/.config), for example:

nvim -> ~/.config/nvim
kitty -> ~/.config/kitty
tmux -> ~/.config/tmux
lf -> ~/.config/lf
zsh/zsh -> ~/.config/zsh
zsh/zshrc -> ~/.zshrc
starship/starship.toml -> ~/.config/starship.toml

Noteable Info

  • Kitty
    • use Ctrl and Shift as modifier key for all shortcuts
    • use JetbrainMono Nerd Font and LXGW WenKai as font
  • Tmux
    • use Alt and Ctrl as modifier key for all shortcuts
    • set Alt-a as prefix key instead of Ctrl-b
    • use tmux-continuum and resurrect to restore sessions.
  • Zsh
    • you can add software settings in zsh/zsh/software
    • disable vim mode.
  • Neovim
    • Only use <=30 plugins to make Neovim tiny and good enough for editing

Keymap

SoftwareKeyEffect
kittyC-tnew tab
kittyC-CRnew window
kittyC-wdelete window
kittyC-h/j/k/lfocus other window
kittyC-S-h/j/k/lmove window
kittyC-PgUp/PgDngoto other tab
kittyC-S-PgUp/PgDnmove tab
kittyC-=/-adjust font size
kittyf1search content
kittyf11toggle zoom
zshC-rexecute lf filemanager
zshC-eopen filemanager-gui
zshC-Backspacedelete word backward
lfghgo to home (~)
lfgdgo to ~/Documents
lfgngo to ~/Downloads
lfH/Lgo to previous/next visited directory
lfamkdir
lfttouch
lfrrename file or directory
lfoopen with custom software
lf.show hidden file
lf;execute shell command
lfycopy
lfdcut
lfppaste
lfDmove to trash
lfDeleterm
lfffuzzy search using fzf
tmuxM-aprefix key
tmuxM-h/j/k/lgo to other pane
tmuxM-qkill pane
tmuxM-C-j/kswap with other panes
tmuxM-xsplit window horizontally
tmuxM-C-xsplit window vertically
tmuxM-ftoggle zoom
tmuxM-tcreate new window
tmuxM-C-trename window
tmuxM-PgUp/PgDngo to previous/next window
tmuxM-C-PgUp/PgDnswap with previous/next window
tmuxM-schoose session
tmuxM-C-srename session
tmuxM-ncreate new session
neovimqquit window/neovim
neovimQrecord macro
neovimH/Lgo to the begin/end of line
neovimTabmove to other window
neovim;enter commandline mode
neovimg=format document
neovim2-LeftMouse/CRtoggle fold
neovimswfuzzy search word
neovimsffuzzy search filename
neovimzfuzzy search opened buffers
neovimga(lsp) code action
neovimge(lsp) show diagnostics in line
neovimgh(lsp) get document
neovimgn(lsp) rename symbol
neovimgd(lsp) go to definition
neovimgr(lsp) find reference
neovimC-/comment line
neovimfflash jump
neovimTab/S-Tabcode completions
neovimtFile Tree