×

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 更多的Mappings


迄今为止我们已经说了很多mappings的内容,但现在我们要再次实践一下。mappings是 使得Vim编辑更为高效的方便快捷途径之一,有必要多加用心。

有个概念在多个例子中出现过,但是我们都没有明确解释,那就是多字符mappings的连续性。

运行如下命令:

:nnoremap jk dd

确保你出于normal模式,快速输入jk。Vim会删除当前行。

现在试试先输入j,停顿一下。如果你输入j后没有快速输入k,Vim就会判定你不想 生效那个映射,而是将j按默认操作运行(下移一行)。

这个映射会给光标移动操作带来麻烦,我们先删除它。运行下面的命令:

:nunmap jk

现在normal模式下快速输入jk会像往常一样下移一行然后又上移一行。

一个更为复杂的Mapping

你已经见过很多简单的mappings了,是时候看看一些复杂的了。运行下面的命令:

:nnoremap " viwa"hbi"lel

那是一个有趣的mappings!你自己可以先试试。进入normal模式,移动光标至一个单词, 输入"。Vim将那个单词用双引号包围!

它是如何工作的呢?我们拆分这个映射并逐个解释:

viwa"hbi"lel
  • viw: 高亮选中单词
  • : 退出visual模式,此时光标会在单词的最后一个字符上
  • a: 移动光标至当前位置之  并进入insert模式
  • ": 插入一个"
  • : 返回到normal模式
  • h: 左移一个字符
  • b: 移动光标至单词头部
  • i: 移动光标至当前位置之  并进入insert模式
  • ": 插入一个"
  • : 返回到normal模式
  • l: 右移一个字符,光标置于单词的头部
  • e: 移动光标至单词尾部
  • l: 右移一个字符,置光标位置在第一个添加的引号上

记住:因为我们使用的是nnoremap而不是nmap,所以尽管你映射了字符序列中的字符 也不会有影响。Vim会将其中的字符按默认功能执行。

希望你能看出Vim mappings的潜能及随之引发的阅读困难。

Exercises

像刚才一样创建一个mapping,用单引号而不是双引号。

试试用vnoremap添加一个mapping,使其能够用引号将你 高亮选中 的文本包裹。 你可能会需要<``和>命令,所以先执行:help `<``看看帮助文档。

将normal模式下的H映射为移动到当前行的首部。h是左移,所以你可以认为H是 “加强版”的h

将normal模式下的L映射为移动到当前行的尾部。l是右移,所以你可以认为L是 “加强版”的l

读取帮助文档:help H:help L看看你覆盖了哪些命令。考虑考虑这会不会影响你。

将这些mappings添加到你的~/.vimrc文件中,确保用你的“编辑~/.vimrc”和“重读~/.vimrc” 映射操作~


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)