×

vi 命令手册

vi/vim 命令大全

vim 命令手册

Vim 关于Vim 安装Vim 用法Vim 配置vim 配置.vimrc方案vim 配置.vimrc方案1vim 配置.vimrc方案2Vim 文件合并Vim 技巧和建议Vim 插件Vim 参阅

Vimscript 编程参考

Vimscript 前言Vimscript 鸣谢Vimscript 预备知识Vimscript 打印信息Vimscript 设置选项Vimscript 基本映射Vimscript 模式映射Vimscript 精确映射Vimscript LeadersVimscript 编辑你的Vimrc文件Vimscript AbbreviationsVimscript 更多的MappingsVimscript 锻炼你的手指本地缓冲区的设置和映射Vimscript 自动命令Vimscript 本地缓冲区缩写Vimscript 自动命令组Operator-Pending 映射Operator-Pending 更多映射Vimscript 状态条Vimscript 负责任的编码Vimscript 变量Vimscript 变量作用域Vimscript 条件语句Vimscript 比较Vimscript 函数Vimscript 函数参数Vimscript 数字Vimscript 字符串Vimscript 字符串函数Vimscript Execute命令Vimscript Normal命令Vimscript 执行normal!Vimscript 基本的正则表达式Grep 运算符Operator 第1部分Grep 运算符Operator 第2部分Grep 运算符Operator 第3部分Vimscript 列表Vimscript 循环Vimscript 字典Vimscript 切换Vimscript 函数式编程Vimscript 路径Vimscript 创建一个完整的插件Vimscript 基本插件配置方式用Pathogen配置插件Vimscript 检测文件类型Vimscript 基本语法高亮Vimscript 高级语法高亮Vimscript 基本折叠Vimscript 高级折叠Vimscript 段移动原理Vimscript Potion段移动Vimscript 外部命令Vimscript 自动加载Vimscript 文档Vimscript 发布Vimscript 还剩下什么?

Vimscript 执行normal!


既然已经学了executenormal!,我们就可以深入探讨一个Vimscript惯用法。 执行下面的命令:

:execute "normal! gg/foodd"

这将移动到文件的开头,查找foo的首次出现的地方,并删掉那一行。

之前我们尝试过用normal!来执行一个搜索命令却无法输入必须的回车来开始进行搜索。 结合executenormal!将解决这个问题。

execute允许你创建命令,因而你能够使用Vim普通的转义字符串来生成你需要的"打不出"的字符。 尝试下面的命令:

:execute "normal! mqA;`q"

这个命令做了什么?让我们掰开来讲:

  • :execute "normal! ...":执行命令序列,一如它们是在normal模式下输入的,忽略所有映射, 并替换转义字符串。
  • mq:保存当前位置到标记"q"。
  • A:移动到当前行的末尾并在最后一个字符后进入insert模式。
  • ;:我们现在位于insert模式,所以仅仅是写入了一个";"。
  • :这是一个表示Esc键的转义字符串序列,把我们带离insert模式。
  • `q:回到标记"q"所在的位置。

看上去有点绕,不过它真的很有用:它在当前行的末尾补上一个分号并保持光标不动。 在写Javascript,C或其他以分号作为语句分隔符的语言时,一旦忘记加上分号,这样的映射将助你一臂之力。

练习

重读:help expr-quote(你之前应该看过)来提醒你怎么用execute通过转义字符串传递特殊字符给normal!

在翻开下一章之前,放下本书休息一下。吃一个三明治或喝一杯咖啡(译注:或者茶!), 喂一下你的宠物——如果你有的话。


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)