现代化终端工具
终端是程序员最核心的工作环境之一。掌握高效的终端工具可以大幅提升日常开发效率。fzf、ripgrep、tmux和lazygit是每个开发者都应该掌握的终端利器。
fzf:模糊搜索神器
fzf(fuzzy finder)是一个通用的模糊搜索工具,可以搜索文件、命令历史、进程等任何文本流。
安装与配置
# macOS
brew install fzf
# 安装快捷键绑定
$(brew --prefix)/opt/fzf/install
核心用法
文件搜索:
vim $(fzf) # 在当前目录模糊搜索文件并打开
export FZF_DEFAULT_COMMAND='rg --files' # 结合ripgrep提升搜索速度
命令历史搜索:
按Ctrl+R激活fzf搜索命令历史,比默认的reverse-i-search强大得多。
目录跳转:
cd $(find . -type d | fzf) # 模糊搜索并跳转到目录
进阶技巧
- 使用
Alt+C快速切换到选择的目录 - 使用
**+Tab在任意命令中触发文件补全 - 配置预览窗口:
--preview 'bat --style=numbers --color=always {}'
ripgrep:极速代码搜索
ripgrep(rg)是用Rust编写的代码搜索工具,比grep快数个数量级。
使用示例
rg "function" --type py # 只在Python文件中搜索
rg -C 3 "TODO" src/ # 搜索并显示前后3行上下文
rg -l "class" --sort path # 只列出文件名并按路径排序
rg "pattern" --glob '!*.min.js' # 排除文件
与编辑器集成
ripgrep可以作为VS Code、Neovim等编辑器的搜索后端,提供极速搜索体验。
tmux:终端复用器
tmux允许在一个终端窗口中管理多个会话,是远程开发必不可少的工具。
常用快捷键
Ctrl+B %:垂直分屏Ctrl+B ":水平分屏Ctrl+B d:脱离会话(程序继续运行)Ctrl+B [:进入滚动模式(用方向键翻页)Ctrl+B s:选择会话
配置建议
# 使用Ctrl+A作为前缀(更易按)
set -g prefix C-a
# 开启鼠标支持
set -g mouse on
# 增加滚动缓冲区
set -g history-limit 50000
lazygit:Git终端UI
lazygit提供了直观的终端Git界面,让Git操作更加高效。
核心功能
- 交互式Rebase:可视化选择、重排和压缩提交
- Staging区域:逐行暂存文件
- 分支管理:可视化分支树
- 冲突解决:友好的冲突解决界面
常用操作
1:查看文件状态2:查看提交历史3:查看分支图4:查看Stash- 方向键导航,空格键选中
这些终端工具的组合使用能将日常操作效率提升数倍,值得花时间学习和配置。
