macOS和Linux上的tmux + vim + zsh的环境配置,保持简单易扩展。
bash -c "$(curl -fsSL https://raw.githubusercontent.com/yingca1/dotfiles/master/install.sh)"<C-a>和<C-b>都是前缀键- tmux 使用
tmux-256color,并启用焦点与剪贴板能力 - 复制模式使用 tmux 原生剪贴板集成
prefix v进行垂直分割prefix s进行水平分割- pane 编号从
1开始
如果您有三个或更多窗格:
prefix +打开主水平布局prefix =打开主垂直布局
您可以通过降低或增加tmux.conf中的other-pane-height和other-pane-width选项来调整较小窗格的大小。
在 macOS 上,安装脚本会通过 Homebrew Cask 安装 kitty,并写入:
~/.config/kitty/kitty.conf~/.config/kitty/current-theme.conf
默认配置针对 tmux + vim + zsh:
- 使用
JetBrainsMonoNL Nerd Font Mono,字号 15pt - 使用
xterm-kitty,并启用 kitty shell integration Option作为Alt,方便 shell 与 vim 的 meta 快捷键Cmd+C/Cmd+V使用 macOS 剪贴板Cmd+T、Cmd+Enter、Cmd+\提供轻量的 kitty tab/window/split 控制,主分屏仍交给 tmux- Catppuccin Mocha 主题放在
current-theme.conf,换主题时不用改快捷键
以下假设您的领导键设置为\。
\d打开NERDTree,一个用于导航和操作文件的侧边栏缓冲区\t打开ctrlp.vim,一个项目文件过滤器,可轻松打开特定文件\b限制ctrlp.vim打开缓冲区\a使用银色搜索器(类似于ack,但更快)启动项目搜索,使用ag.vimds/cs删除/更改周围字符(例如,"Hey!"+ds"=Hey!,"Hey!"+cs"'='Hey!')使用vim-surroundgcc切换当前行注释gc切换可视选择注释行vii/vai在光标缩进处选择_in_或_around_Vp/vp用默认寄存器替换可视选择 without 复制选定文本(适用于任何可视选择)\[space]删除尾随空格<C-]>使用ctags跳转到定义\l开始将行对齐到字符串,通常用作\l=以对齐分配<C-hjkl>在窗口之间移动,缩写为<C-w> hjkl
- 使用Plug管理插件,请在打开vim后使用命令:PlugInstall安装插件
- 插件安装取决于访问GitHub上的存储库,请确保连接到github.com
- 需要将本地id_isa.pub添加到GitHub个人设置中的SSH密钥中
- 对于更多插件,请访问https://vimawesome.com/
| 插件 | 备注 |
|---|---|
| christoomey/vim-tmux-navigator | 与tmux分屏无缝集成 |
| preservim/nerdtree | 文件导航侧边栏 |
| junegunn/fzf.vim | 命令行模糊搜索工具,ripgrep,bat,fd-find,silversearcher-ag,fzf |
| ctrlpvim/ctrlp.vim | 在项目中检索项目文件 |
| justinmk/vim-sneak | 定位前后两个字符 |
| easymotion/vim-easymotion | 通过锚点快速导航文件内部 |
| tpope/vim-surround | 更改、删除周围字符或标记 |
| tpope/vim-dispatch | 用于异步使用的工具。视频演示 |
| tpope/vim-unimpaired | 支持许多配对操作,如交换行 |
| tpope/vim-repeat | 增强本地' . '重复功能,支持多个插件 |
| airblade/vim-gitgutter | 在文件左侧显示git状态 |
| tpope/vim-fugitive | 常见的git命令 |
| bling/vim-airline | 漂亮的底部状态栏 |
| nathanaelkane/vim-indent-guides | 可视化行缩进 |
| godlygeek/tabular | 对齐文本,例如表格。屏幕录制演示 |
| vim-scripts/Align | 对齐代码,例如声明变量时 |
| tpope/vim-commentary | 注释和取消注释 |
| mattn/emmet-vim | 快速编写xml的工具 |
| 插件 | 备注 |
|---|---|
| majutsushi/tagbar | 为轻松浏览生成文件内容轮廓 |
| rking/ag.vim | 项目内的全文搜索 |
| garbas/vim-snipmate | 管理代码片段 |
| tomtom/tlib_vim | SnipMate的依赖项 |
| MarcWeber/vim-addon-mw-utils | SnipMate的依赖项 |
| pangloss/vim-javascript | js的缩进和语法支持 |
| scrooloose/syntastic | 语法检查工具 |
| psf/black | 格式化python代码 |