vim命令行模式命令

xiaoxiao2021-02-28  88

命令行模式

命令列表,一般格式:[range] action [register/range]

命令功能:[range]delete/yank [x]删除/拷贝指定范围的行到寄存器x:[line]pub [x]在指定行后粘贴寄存器x的内容:[range]copy/t/co [line]拷贝指定范围的行到行line后:[range]move/m [line]移动指定范围的行到line后:[range]join连接指定范围的行:[range]normal {cmd}对指定范围的行执行normal命令,在执行命令之前vim会把光标移到行首:[range]substitute对指定范围的匹配的行执行替换命令:[range]global对指定范围的匹配的行执行ex命令

地址及范围符号

符号功能0,1,$, .0行,1行,最后1行,当前行‘m ‘< ‘> %包含位置标记m的行, 高亮度起始行,高亮度结束行,整个文件

命令行与插入模式通用的命令

ctrl-w ctrl-u ctrl-v ctrl-k ctrl-r{register}等参考插入模式的功能

其他命令

命令功能ctrl-o跳转到上次的地方<ctrl-r><ctrl-w>将光标所在的单词插入到命令行<ctrl-r><ctrl-a>将光标所在的字符串插入到命令行q/打开查找命令历史的命令行窗口q:打开ex命令历史的命令行窗口ctrl-f从命令行模式切换到命令行窗口!{cmd}运行外部命令tab 、ctrl+n、 right方向键正向遍历补全列表@:重复上次的ex命令@@运行过一次@:后,用此命令重复上次的ex命令ctrl-d可以先输入部分ex命令,然后通过此命令输入列出补全列表

定义补全行为

set wildmode=longest,list 帮助:h wildmode

在vi和shell间切换

命令功能:!{cmd}在shell中执行cmd:shell启动一个shell,exit后回到victrl-z挂起vim所属进程jobs查看当前的作业列表fg唤醒挂起的作业, man bash 看job control了解更多

把缓冲区当作标准输入输出

命令功能:read !{cmd}在shell中执行cmd,并把标准输出插入到光标下行:[range]write !{cmd}在shell中执行cmd,并把[range]的内容作为其标准输入:[range]!{filter}使用外部程序对指定范围的行进行过滤
转载请注明原文地址: https://www.6miu.com/read-42280.html

最新回复(0)