tmux 使用入门

SSH 进服务器干活,断开连接任务就中断了,用 tmux 可以解决这个问题。顺便整理一下常用操作。 安装 # Arch Linux sudo pacman -S tmux # Debian/Ubuntu sudo apt install tmux 核心概念 Session(会话) └── Window(窗口) └── Pane(窗格) Session:一个独立的工作空间,断开 SSH 后依然在后台运行 Window:Session 里的标签页 Pane:Window 里的分割区域 前缀键 tmux 所有快捷键都要先按前缀键,默认是 Ctrl + b。后面用 <prefix> 表示。 Session 操作 # 新建 session tmux tmux new -s work # 指定名称 # 查看所有 session tmux ls # 接入 session(断开后重连) tmux attach tmux attach -t work # 接入指定 session # 在 tmux 内分离(不关闭,后台运行) <prefix> d # 重命名 session <prefix> $ # 关闭 session tmux kill-session -t work Window 操作 <prefix> c 新建窗口 <prefix> w 列出所有窗口 <prefix> n 下一个窗口 <prefix> p 上一个窗口 <prefix> 0-9 跳转到指定编号的窗口 <prefix> , 重命名当前窗口 <prefix> & 关闭当前窗口 Pane 操作 <prefix> % 垂直分割(左右) <prefix> " 水平分割(上下) <prefix> 方向键 切换 pane <prefix> z 最大化/恢复当前 pane <prefix> x 关闭当前 pane <prefix> { 把当前 pane 向左移动 <prefix> } 把当前 pane 向右移动 调整 pane 大小:按住 <prefix> 不放,再按方向键。 ...

April 28, 2026 · 2 min · waawo

Neovim 配置折腾记录

用了好几年 Vim,去年开始切到 Neovim,体验好了不少。把配置思路记下来,省得下次重装又要从头找。 为什么换 Neovim 原生 Lua 配置,比 Vimscript 好写好读 内置 LSP 支持,不需要装 coc.nvim 之类的大插件 异步渲染,不卡 社区活跃,插件生态比 Vim 好很多 配置目录结构 Neovim 的配置放在 ~/.config/nvim/,我用的结构: ~/.config/nvim/ ├── init.lua # 入口文件 └── lua/ ├── core/ │ ├── options.lua # 基础选项 │ ├── keymaps.lua # 快捷键 │ └── autocmds.lua # 自动命令 └── plugins/ ├── init.lua # 插件列表(lazy.nvim) ├── lsp.lua # LSP 配置 ├── treesitter.lua # 语法高亮 └── ... 包管理器:lazy.nvim 目前最好用的 Neovim 插件管理器,支持懒加载,启动速度快。 init.lua 里引导安装: local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup("plugins") 基础选项 -- lua/core/options.lua local opt = vim.opt opt.number = true -- 显示行号 opt.relativenumber = true -- 相对行号 opt.tabstop = 4 opt.shiftwidth = 4 opt.expandtab = true opt.smartindent = true opt.wrap = false -- 不折行 opt.cursorline = true -- 高亮当前行 opt.termguicolors = true -- 真彩色 opt.signcolumn = "yes" -- 始终显示符号列,避免跳动 opt.scrolloff = 8 -- 光标距顶/底保持 8 行 opt.clipboard = "unnamedplus" -- 与系统剪贴板共享 常用插件 插件 用途 nvim-treesitter 语法高亮和代码结构解析 nvim-lspconfig LSP 配置框架 nvim-cmp 自动补全 telescope.nvim 模糊搜索文件/内容 neo-tree.nvim 文件树 gitsigns.nvim Git 行内标记 lualine.nvim 状态栏 tokyonight.nvim 配色方案 LSP 配置 先装语言服务器,以 Python 为例: ...

December 20, 2025 · 2 min · waawo

Git 日常工作流整理

Git 命令很多,但日常真正用到的就那么几十个,整理一下。 基础配置 刚装好先配置用户信息: git config --global user.name "waawo" git config --global user.email "your@email.com" # 默认分支名改为 main git config --global init.defaultBranch main # 中文文件名不转义 git config --global core.quotepath false 日常操作 # 查看状态 git status git status -s # 简短格式 # 暂存 git add . # 暂存所有 git add src/ # 暂存指定目录 git add -p # 交互式选择要暂存的内容(很好用) # 提交 git commit -m "feat: add user login" git commit --amend # 修改最后一次提交 # 查看历史 git log --oneline git log --oneline --graph # 图形化分支视图 git log -p filename # 查看某个文件的改动历史 分支操作 # 新建并切换 git switch -c feature/login # 切换已有分支 git switch main # 删除分支 git branch -d feature/login # 已合并才能删 git branch -D feature/login # 强制删除 # 查看所有分支 git branch -a 远程操作 # 拉取 git pull # fetch + merge git pull --rebase # fetch + rebase(历史更干净) # 推送 git push origin main git push -u origin feature/login # 首次推送并设置上游 # 查看远程 git remote -v 撤销和回滚 这块最容易混淆,记清楚: ...

November 25, 2025 · 2 min · waawo