可视模式
可视模式即允许vim选中一块文本区域并在其上进行操作,需要几个基本命令协同配合。
激活可视模式
通过 'v' 命令激活可视模式,'v'和 'V' 都能激活,区别是 'V' 激活面向行的可视模式,'v' 激活面向字符的可视模式。 'Ctrl + v' 也能进入可视模式,是一种面向列的可视模式。
如图:
面向字符 'v' 命令和方向键配合使用高亮文本
面向行 'V' 命令
面向列 'Ctrl + v' 命令
退出可视模式只需要敲击Esc即可完成。
简单操作
制表
列分割
通过 'Ctrl + v' + 'jjj' 来高亮三列
通过 'x' 剪切所选中的列, 'gv' 重新选中刚才所选的列, 'r|' 插入分隔符。
增加表头
'yyp' 命令复制当前行到下一行
最后使用 'Vr-' 命令将整行替换为 '-'
命令行模式
当按下 ':' 时,vim便进入了命令行模式。输入命令按回车键即可执行,退出需要按 Esc 键。通过命令行模式执行的命令称为Ex命令,其余为普通命令。
常见的命令有:delete,yank,put,substitutie,global等,将在之后的文章中进行详解。
在一行或多行上执行命令
打印一行或多行,具体的行只需要在命令模式下输入行号或行的范围。第n行以 ':n' 表示。第m行到第n行通过 ':m,n' 表示。当然也可以通过 '$' 表示到末尾或者 '%' 表示全部文本。
例如:
原文本,打印第三行
输入 ':3' ,光标跳转到第三行
输入 ':p' 打印第三行
可以将两个命令合并为 ':3p' ,效果相同。多行打印的情景:
通过 ':2,5p' 打印2-5行
当然如果打印至末尾,可以通过 ':2,$p'完成,打印全文可以通过 ':%p' 完成。
也可以选择文本进行打印,用到上文所讲的可视模式,选中文本后进入命令行模式。例如:
'Vjj'选中三行文本,按下 ':' 后
此时按下 'p' 回车即可
多行进行同一操作
在多行之后统一追加“;”,需要使用到normal命令。
①通过 'A;' 在第一行追加“;”
②通过可是模式选中文本
'normal' 命令对所有选中的行进行同一操作,'.'重复的是对第一行的操作。
重复上次的Ex命令
'.' 命令用于重复之前的普通命令,而 '@:' 可以重复之前的Ex命令。
通过 ':' 输入的命令都是vim命令,当需要在vim中执行shell命令时,最简单的方式就是在命令前加 '!' 。例如:
上述方式只能执行一条shell指令,当希望执行多条时,需要通过 ':shell' 来启动一个交互的shell会话。例如:
通过 'exit' 退出shell界面。