技巧27 认识Vim的命令行模式
按下:键,Vim会切换到命令行模式。
按<ESC>键从命令行模式切换回普通模式。
操作缓冲区文本的Ex命令
|
命令 |
用途 |
|
:[range]delete [x] |
删除指定范围内的行[到寄存器x中] |
|
:[range]yank [x] |
复制指定范围的行[到寄存器x中] |
|
:[line]put [x] |
在指定行后粘贴寄存器x中的内容 |
|
:[range]copy {address} |
把指定范围内的行拷贝到{address}指定的行之下 |
|
:[range]move {address} |
把指定范围内的行移动到{address}指定的行之下 |
|
:[range]join |
连接指定范围内的行 |
|
:[range]normal {commands} |
对指定范围内的每一行执行普通模式命令{commands} |
|
:[range]substitute/{pattern}/{string}/[flags] |
把指定范围内出现{pattern}的地方替换为{string} |
|
:[range]global/{pattern}/[cmd] |
对指定范围内匹配{pattern}的所有行执行Ex命令{cmd} |
技巧28 在一行或多个连续行上执行命令
- 用行号作为地址

-
用地址指定一个范围
通常一个范围的格式
:{start},{end}
其中,{start}和{end}都是地址

- 用高亮选区指定范围

符号’<代表高亮选区首行的位置标记,’>代表高亮选区最后一行
- 用模式指定范围

显示<html>开标签所在行开始,到对应闭标签所在行结束。符合范围的一般形式
:{start},{end}
其中{start}地址是模式/<html>/,{end}地址是/<\/html>/
- 用偏移对地址进行修正

偏移的一般形式:
:{address}+n

- 总结
|
符号 |
地址 |
|
1 |
文件的第一行 |
|
$ |
文件的最后一行 |
|
O |
虚拟行,位于文件第一行上方 |
|
. |
光标所在行 |
|
‘m |
包含位置标记m的行 |
|
‘< |
高亮选区的起始行 |
|
‘> |
高亮选区的结束行 |
|
% |
整个文件(:1,$的简写形式) |
技巧29 使用‘:t’和‘:m’命令复制和移动行
- 用‘:t’命令复制行
Copy命令格式:
:[range]copy {address}
:copy命令可以简写成:co,也可以用命令:t

|
命令 |
用途 |
|
:6t. |
把第6行复制到当前行下方 |
|
:t6 |
把当前行复制到第6行下方 |
|
:t. |
为当前行创建一个副本(类似于普通模式下的yyp) |
|
:t$ |
把当前行复制到文件结尾 |
|
:’<,’>t0 |
把高亮选中的行复制到文件开头 |

- 用‘:m’命令移动行
Move命令格式:
:[range]move {address}
:move命令可以简写成:m



9419

被折叠的 条评论
为什么被折叠?



