Vim可视模式与命令行模式

可视模式

可视模式即允许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-5行

当然如果打印至末尾,可以通过 ':2,$p'完成,打印全文可以通过 ':%p' 完成。
也可以选择文本进行打印,用到上文所讲的可视模式,选中文本后进入命令行模式。例如:
'Vjj'选中三行文本,按下 ':' 后

自动出现 '<,'>

此时按下 'p' 回车即可

打印选中行
多行进行同一操作

在多行之后统一追加“;”,需要使用到normal命令。
①通过 'A;' 在第一行追加“;”

第一行正常操作

②通过可是模式选中文本

输入命令
执行效果

'normal' 命令对所有选中的行进行同一操作,'.'重复的是对第一行的操作。

重复上次的Ex命令

'.' 命令用于重复之前的普通命令,而 '@:' 可以重复之前的Ex命令。

通过 ':' 输入的命令都是vim命令,当需要在vim中执行shell命令时,最简单的方式就是在命令前加 '!' 。例如:

执行ls命令
效果

上述方式只能执行一条shell指令,当希望执行多条时,需要通过 ':shell' 来启动一个交互的shell会话。例如:

进入shell
进行shell操作

通过 'exit' 退出shell界面。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容