# ===== CodeLab: Vim 编辑器入门 =====
# 来源: https://aoerliang.dpdns.org/articles/tool-vim
# 以下代码片段按文章出现顺序拼接, 共 5 段

# ----- 片段 1 (bash) -----
vim config.yml   # 打开文件

# 进入后:
#   i        -> 进入插入模式,开始编辑
#   Esc      -> 回到普通模式
#   :wq      -> 保存并退出
#   :q!      -> 不保存强制退出

# ----- 片段 2 (bash) -----
w    # 跳到下一个单词开头
b    # 回到上一个单词开头
0    # 行首
$    # 行尾
gg   # 文件第一行
G    # 文件最后一行
:42  # 跳到第 42 行

# ----- 片段 3 (bash) -----
/keyword   # 向下搜索 keyword,按 n 继续找下一个
?keyword   # 向上搜索

# 全局替换:把文件中所有 old 换成 new
:%s/old/new/g

# 替换前询问确认
:%s/old/new/gc

# ----- 片段 4 (bash) -----
v        # 字符选择
V        # 整行选择
Ctrl+v   # 块状选择(可同时对多行做相同修改)

# 选中后:
#   d 删除选中内容   y 复制   > 向右缩进   < 向左缩进

# ----- 片段 5 (bash) -----
" ~/.vimrc
set number          " 显示行号
set tabstop=4       " Tab 占 4 个空格
set expandtab       " Tab 自动转成空格
set autoindent      " 自动缩进
syntax on           " 语法高亮
