一、为什么是 2018 年这一份
2018 年这个时间点,Linux 编辑器与 Shell 生态进入"新派系萌芽"期:
- vi/vim 8.x 仍是终端编辑器的事实标准
- zsh + ohmyzsh 在 macOS 成为默认 shell 后反向推动 Linux 用户迁移
- tmux 2.x 替代 screen 成为终端复用的主流选择(tmux 2.2 2015-2016,2.5 2017)
- Neovim 在 0.2 之后开始获得关注,2018-2019 是 0.3 时代
- SpaceVim 1.0 是 2018-01 发布的(一个早期 Neovim 发行版尝试)
- 图形界面 + Wine 让 Linux 桌面也能跑部分 Windows 应用
这一篇覆盖 vi/vim 速查、终端快捷键、ohmyzsh 主题与插件、tmux 入门、NvChad/LunarVim Neovim 发行版、图形界面安装、history 痕迹清理——日常"在终端里干活"的全套工具。
阅读建议:先 vi/vim 速查 → 终端快捷键 → tmux → ohmyzsh → Neovim 发行版,按学习曲线由浅入深。
二、vi/vim 速查
vi 是 1976 年 Bill Joy 在 BSD 写的,1991 年 Bram Moolenaar 写 vim。至今仍是 Linux 终端编辑器的"必须会"。
2.1 模式
vi/vim 有三种模式:
- Normal 模式(默认)—— 光标移动、删除、复制
- Insert 模式(
i 进入)—— 文本输入 - Visual 模式(
v 进入)—— 选中
按 Esc 回到 Normal 模式。
2.2 光标移动(Normal 模式)
| 键 | 移动 |
|---|
h / j / k / l | 左 / 下 / 上 / 右 |
0 | 移到行首 |
^ | 移到行首第一个非空字符 |
$ | 移到行尾 |
b | 移到单词开头(按标点分界) |
e | 移到单词末尾 |
w | 移到下一个单词 |
B / E / W | 同上,按空格分界 |
+ / - | 下一行 / 上一行开头 |
G | 文件末尾 |
gg | 文件开头 |
<n>G 或 <n>gg | 跳到第 n 行 |
f<char> | 移到本行下一个指定字符 |
F<char> | 移到本行上一个指定字符 |
t<char> / T<char> | 移到字符前/后 |
; / , | 重复上一次 f/F/t/T 查找(右/左) |
H / M / L | 屏幕顶部 / 中间 / 底部 |
zz / zt / zb | 当前行滚到屏幕中 / 顶 / 底 |
2.3 段落 / 句子 / 代码块
| 键 | 移动 |
|---|
{ / } | 段落的开始 / 结尾 |
( / ) | 句子的开始 / 结尾 |
[( / ]) | 上一组 ( ) 块 |
[{ / ]} | 上一组 { } 块 |
[[ / ]] | 上一函数 { / } |
[# / ]# | 上一个 #if / #endif |
2.4 编辑 / 选中
| 命令 | 含义 |
|---|
dd | 删除当前行 |
ggvG | 全选(gg 到首行,v 进 Visual,G 到末行) |
ggyG | 全部复制 |
dG | 全部删除(首行到末行) |
y | 复制 |
d | 删除 |
"+y | 复制到系统剪贴板(vim) |
p | 粘贴 |
u | 撤销 |
Ctrl+r | 重做 |
> / < | 缩进 / 回退一级 |
/pattern | 查找(n 下一个,N 上一个) |
2.5 跳转 / 书签
| 命令 | 含义 |
|---|
'' | 跳到上次修改位置 |
` | 同上(反引号) |
m<a> | 在当前行设书签 a |
`<a> | 跳到书签 a |
Ctrl+o / Ctrl+i | 跳转历史前后 |
实战技巧:要删大量内容时,在两端 ma、mb 设书签,然后 d'a 一键删除。
三、终端快捷键(bash 默认 emacs 模式)
3.1 模式切换
1
2
| set -o vi # 切换到 vi 模式
set -o emacs # 切回 emacs 模式
|
3.2 编辑命令
| 键 | 功能 |
|---|
Ctrl + a | 移到命令行首 |
Ctrl + e | 移到命令行尾 |
Ctrl + f / Ctrl + b | 按字符前移 / 后移 |
Alt + f / Alt + b | 按单词前移 / 后移 |
Ctrl + x | 在命令行首和光标之间跳转 |
Ctrl + u | 从光标处删除到命令行首 |
Ctrl + k | 从光标处删除到命令行尾 |
Ctrl + w | 从光标处删除到字首 |
Alt + d | 从光标处删除到字尾 |
Ctrl + d | 删除光标处字符(空行时关闭 terminal) |
Ctrl + h | 删除光标前字符 |
Ctrl + y | 粘贴至光标后 |
Alt + c | 从光标处首字母大写 |
Alt + u / Alt + l | 从光标处全部大写 / 小写 |
Ctrl + t | 交换光标处和之前的字符 |
Alt + t | 交换光标处和之前的单词 |
Alt + Backspace | 与 Ctrl + w 类似 |
3.3 历史命令
| 键 | 功能 |
|---|
Ctrl + r | 逆向搜索命令历史 |
Alt + n | 向前搜索(非增量) |
Alt + p | 向后搜索(非增量) |
!?string? | 执行最近含 string 的命令 |
Ctrl + g | 退出历史搜索 |
Ctrl + p / Ctrl + n | 上一条 / 下一条历史 |
Alt + . | 上一条命令的最后一个参数 |
3.4 控制命令
| 键 | 功能 |
|---|
Ctrl + l | 清屏 |
Ctrl + o | 执行当前命令并选择上一条 |
Ctrl + s | 阻止屏幕输出 |
Ctrl + q | 允许屏幕输出 |
Ctrl + c | 终止命令 |
Ctrl + z | 挂起命令(用 fg 恢复) |
3.5 Bang(!)命令
| 命令 | 功能 |
|---|
!! | 执行上一条命令 |
!blah | 执行最近以 blah 开头的命令 |
!blah:p | 仅打印不执行 |
!$ | 上一条命令的最后一个参数 |
!^ | 上一条命令的第一个参数 |
!* | 上一条命令的所有参数 |
^blah | 删除上一条命令中的 blah |
^blah^foo | 替换上一条命令中的 blah 为 foo |
3.6 终端窗口快捷键
| 键 | 功能 |
|---|
Ctrl + Alt + T | 打开新的终端窗口 |
Shift + Ctrl + N | 打开新的终端窗口 |
Shift + Ctrl + Q | 关闭终端窗口 |
Shift + Ctrl + T | 打开新标签页 |
Shift + Ctrl + W | 关闭标签页 |
Ctrl + PgUp / PgDn | 左移/右移标签页 |
Alt + <数字> | 切换至对应标签页 |
F11 | 全屏切换 |
四、ohmyzsh 主题与插件
4.1 安装
1
2
3
4
5
6
7
8
9
10
11
| # 安装 zsh
apt install zsh
chsh -s /bin/zsh
# 重新登录
# 安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# 查可用的 shell
cat /etc/shells
echo $SHELL
|
4.2 主题推荐
1
2
| ll ~/.oh-my-zsh/themes
# 推荐:bira(清爽)、ys(花哨)、dst
|
1
2
3
4
5
| vim ~/.zshrc
# ZSH_THEME="robbyrussell" 改为
ZSH_THEME="bira"
source ~/.zshrc
|
4.3 必备插件
1
2
3
4
5
6
7
| # 自动提示历史记录
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 语法高亮
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
|
1
2
3
4
5
6
7
8
| vim ~/.zshrc
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
)
source ~/.zshrc
|
4.4 root 也想用 ohmyzsh
1
2
3
4
5
6
7
| su
cp ~/.zshrc /root
cp -r ~/.oh-my-zsh /root
cd /root
source .zshrc
# 权限问题
chmod -R 755 ~/.oh-my-zsh
|
五、NvChad:Neovim 发行版
NvChad 是 2021-04 发布的 Neovim 发行版,基于 Neovim 0.5+,提供"开箱即用"的配置、LSP、TreeSitter、自动补全等现代编辑器特性。
5.1 安装
1
2
| # 前置:Neovim 0.7+(2022-02 发布的 0.7 才是 0.5+ 真正稳定)
git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1 && nvim
|
关于时间点:NvChad 严格说在 2018 年还没发布(2021 才出来)。但写 2018 这篇是为了完整介绍 Neovim 发行版生态——历史地看,“Neovim 化"的趋势从 2018-2019 的 Neovim 0.3 时代就开始了。
5.2 卸载
1
2
3
4
| # linux/macos
rm -rf ~/.config/nvim
rm -rf ~/.local/share/nvim
rm -rf ~/.cache/nvim
|
六、LunarVim:另一个 Neovim 发行版
LunarVim 是 2020-12 起步、2021-12 发布 1.0 的 Neovim 发行版,比 NvChad 配置更"傻瓜化”。
6.1 前置
1
2
3
4
5
6
| # Neovim 0.7 以上
python3 python -V
git
# 能连 GitHub(proxychains + v2ray 通用方案)
curl --socks5 127.0.0.1:1080 https://www.google.com/
|
6.2 安装 Neovim 0.7.2
1
2
3
4
5
| wget https://github.com/neovim/neovim/releases/download/v0.7.2/nvim-linux64.tar.gz
tar -xvf nvim-linux64.tar.gz
mv nvim-linux64 /usr/local/
cd /bin
ln -s /usr/local/nvim-linux64/bin/nvim nvim
|
6.3 安装 LunarVim
1
2
3
4
5
6
7
8
9
| bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)
# 添加到 PATH
vim ~/.zshrc
export PATH=$PATH:/root/.local/bin
source ~/.zshrc
# 启动
lvim
|
6.4 卸载
1
2
3
4
5
6
7
8
9
10
11
12
| bash ~/.local/share/lunarvim/lvim/utils/installer/uninstall.sh
# 或
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/uninstall.sh)
# 完全清理
find / -name "lvim"
rm -rf /root/.config/lvim
rm -rf /root/.local/share/lunarvim/lvim
rm -rf /root/.local/share/lunarvim/lvim/lua/lvim
rm -rf /root/.local/share/lunarvim/lvim/tests/lvim
rm -rf /root/.local/bin/lvim
rm -rf /root/.cache/lvim
|
6.5 配置
1
2
3
4
5
| # 配置文件
~/.config/lvim/config.lua
# 启动
/root/.local/bin/lvim
|
6.6 更新
1
2
3
4
5
6
7
8
9
| # 在 LunarVim 内
:LvimUpdate
# 命令行
lvim +LvimUpdate +q
# 更新插件
:LvimUpdate
:PackerUpdate
|
七、tmux 入门
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # 安装
yum install -y tmux
# 新建会话
tmux new -s session_name
# 退出(不关会话)
# ctrl + b 然后按 d
# 进入已有会话
tmux attach -t session_name
# 列出所有会话
tmux ls
# ctrl + b 然后按 s 交互式切换
# 关闭会话
tmux kill-session -t session_name
# 关闭所有会话
tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill
|
八、清理历史命令与文件时间
1
2
3
4
5
6
| # 清理 bash 历史命令
history -c
history -w
# 当前会话用过的命令
history -r
|
8.1 清理登录日志
| 日志文件 | 查看命令 | 日志内容 |
|---|
/var/log/wtmp | last | 登录成功日志 |
/var/log/btmp | lastb | 登录失败日志 |
/var/log/lastlog | lastlog | 各用户最近登录 |
/var/log/secure | cat | 各类需要输入口令的登录 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # 全部清空(动静大)
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/btmp
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/secure
# 局部清理(删指定 IP)
sed -i '/222.137.129.138/d' /var/log/wtmp
sed -i '/222.137.129.138/d' /var/log/btmp
sed -i '/222.137.129.138/d' /var/log/lastlog
sed -i '/222.137.129.138/d' /var/log/secure
sed -i '/222.137.129.138/d' /var/log/auth.log
# 全局替换 IP
sed -i 's/原IP/新IP/g' /var/log/secure
|
8.2 修改文件时间
1
2
| # 把文件 1 的时间复制给文件 2
touch -r 1.php 2.php
|
8.3 清理 ohmyzsh
1
2
3
4
5
6
7
8
9
10
11
| # 换回 bash
chsh -s /bin/bash
# 清理文件
rm -rf /root/.oh-my-zsh
# 彻底擦除(用 wipe)
apt install wipe
wipe -rfi /root/.oh-my-zsh
wipe -rfi /root/.zsh_history
wipe -rfi /root/.zshrc
|
九、安装图形界面
1
2
3
4
5
6
7
8
9
10
11
| sudo apt update
sudo apt upgrade
sudo apt -y install task-gnome-desktop
sudo apt install tasksel
sudo tasksel install desktop gnome-desktop
sudo systemctl set-default graphical.target
sudo reboot
|
十、前置知识 / 下一步
- 想看 NvChad / LunarVim 进阶配置(自定义 LSP、自动补全)→ 翻独立文章
- 想看 zsh 高级用法(prompt 自定义、completion 调优)→ 翻独立文章
- 想看 tmux 进阶(脚本化、tmuxinator)→ 翻独立文章
- 想看 vi/vim 进阶(宏、寄存器、:command)→ 翻独立文章
- 想看 Wine 在 Linux 跑 Windows 应用 → 翻本系列《Deepin 与 Kali 发行版实战》
十一、参考资源
2024 视角:Neovim 已经"主流化"
2018 那篇是 Neovim 0.3 时代的"前瞻性"介绍。6 年过去,Neovim 已经从"小众新派"变成主流选择。
一、Neovim 1.x 全面成熟
- Neovim 0.9(2023-05)开始支持 Lua 配置的完整稳定 API。
- Neovim 0.10(2024-03 发布):进一步稳定
vim.lsp / vim.treesitter / vim.diagnostic。 - Neovim 1.0(2024-07 计划 / 实际 2024 年中)正式成为"1.x 时代"——这是 Neovim 的"iPhone 4 时刻"。
1
2
3
4
5
6
7
8
| # 2024 装 Neovim
apt install neovim # Ubuntu 24.04 默认 0.10+
brew install neovim # macOS
# 用 nightly 拿最新特性
apt install software-properties-common
add-apt-repository ppa:neovim-ppa/unstable
apt update && apt install neovim
|
二、NvChad / LunarVim 的"接班人"
- NvChad v2.4+(2023-2024)已经支持 lazy.nvim + mason.nvim + conform.nvim 的"现代三件套"——开箱即用。
- LazyVim(2023 推出,作者 folke 同时是 lazy.nvim 维护者)成为 2024 Neovim 发行版的新王——比 NvChad 启动更快、配置更现代、社区最活跃。
- AstroNvim v4+(2024 主流):另一派"全家桶"配置,对 VS Code 用户迁移最友好。
- Kickstart.nvim(2024):官方"极简起点"配置,适合想自己学的用户。
1
2
3
4
| # 2024 推荐:LazyVim
git clone https://github.com/LazyVim/starter ~/.config/nvim
nvim
# 自动安装所有插件
|
三、Neovim 内置 LSP(已无需 LanguageClient-neovim)
2018 那篇提到"Neovim 0.5+ 才真正稳定 LSP",2024 这个能力已经"内置 + 完善":
1
2
3
4
5
6
7
8
9
10
| -- ~/.config/nvim/lua/lsp.lua (LazyVim 风格)
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('lsp-attach', { clear = true }),
callback = function(event)
local opts = { buffer = event.buf }
vim.keymap.set('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>', opts)
vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>', opts)
vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>', opts)
end,
})
|
四、Helix editor 2024 已成"另一种主流"
- Helix(2021 推出,Rust 写的"模态编辑器")2024 已是 1.0+ 稳定版。
- 模态模式 + 多选 + 内置 LSP/TreeSitter + 不需要配置——VS Code 用户 5 分钟就能上手。
- 和 Neovim 互补:Neovim = 高度可定制、Helix = 开箱即用。
1
2
3
| # 装
apt install helix # Ubuntu 24.04+ 已收
cargo install helix-term # 从源码(最新版)
|
五、tmux 3.x 的"现代化"
2018 那篇用的是 tmux 2.x。2024 用 tmux 3.x:
- status-line 字符串插值(
#{...} 语法):可以显示 CPU 占用、电池、git status。 - popup 弹窗(
display-popup):可以弹出一个浮动的命令窗口。 - mouse 模式默认开启(配置后)。
1
2
3
4
5
6
7
| # ~/.tmux.conf (2024 现代版)
set -g mouse on
set -g default-terminal "tmux-256color"
set -g status-interval 5
set -g status-left-length 32
set -g status-left "#{?client_prefix,#[fg=red],#[fg=green]}#S #[fg=white]| "
set -g status-right "#[fg=yellow]%H:%M "
|
六、oh-my-zsh 的"接班人":Starship + Zim
2024 大量新用户从 oh-my-zsh 迁到 Starship(Rust 写的 prompt)+ Zim(更轻量的 zsh 配置框架):
- Starship:跨 shell(bash/zsh/fish/PowerShell)一致 prompt,速度比 oh-my-zsh 快 10 倍。
1
2
3
4
| # 装 Starship
curl -sS https://starship.rs/install.sh | sh
# ~/.zshrc 加
eval "$(starship init zsh)"
|
- Zim(比 oh-my-zsh 启动快 3 倍,模块化更好):
1
| curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
|
七、图形界面在 2024 的"轻量级"新选择
2018 那篇提到用 Wine 跑 Windows 应用。2024 的"轻量级"选择:
- Wayland 已成为默认(Ubuntu 24.04 / Fedora 40 / RHEL 9 默认 Wayland session)。
- GNOME 46(2024-03)改用 GTK 4 + libadwaita,UI 更现代。
- KDE Plasma 6(2024-02)从 Qt 5 升 Qt 6,性能更好。
- 国产:
- UKUI(银河麒麟)
- DDE(Deepin 23 用 Qt 6 重写,2024 已 4K HiDPI 友好)
- CutefishOS(小众但美观)