您的位置:58编程 > vim 映射 Vimscript 基本映射

vim 映射 Vimscript 基本映射

2023-05-13 01:33 Vim教程

vim 映射 Vimscript 基本映射

vim 映射 Vimscript 基本映射

vim 映射

如果说Vimscript有一个特性使得你能够按照你的意愿定制Vim,那就非键盘映射莫属。 你可以通过键盘映射告诉Vim:

当我按下这个键时,我需要你放弃默认操作,按我的想法做。

我们先从normal模式的键盘映射开始。我们将在下一章节讨论insert模式和其他模式下的 键盘映射。

随意在文本中敲写几行文字,然后运行命令:

:map - x

将光标置于文本中的某处,按下-。注意Vim删除了当前光标下的字符,就好像你按了x一样。

我们本来就有个按键用于 "删除当前光标下的字符" ,所以我们将-重新映射到稍微有用的 功能。执行命令:

:map - dd

现在移动光标到任意一行,再按下-,这次Vim删除了整行的文本,因为dd的功能就是删除整行。

特殊字符

你可以使用<keyname>告诉Vim一个特殊的按键。尝试如下命令:

:map <space> viw

移动光标到一个单词上,按下空格键。Vim将高亮选中整个单词。

你也可以映射修饰键入Ctrl和Alt。执行:

:map <c-d> dd

现在在键盘上按下Ctrl+d将执行dd命令。

注释

还记得我们在第一章讨论的注释么?键盘映射就无法使用注释。尝试如下命令:

:map <space> viw " Select word

现在你再按下空格键,一些恐怖的事情就会发生。想一想为什么会这样呢?

当你按下空格键时,Vim认为你是想执行命令viw<space>"<space>Select<space>word。 很明显,这不是你的本意。

如果你仔细查看了这个映射的结果,可能你会发现一些奇怪的事。利用几分钟时间, 弄明白使用这个映射时到底发生了什么,以及 为什么 会是那样的结果。

暂时搞不明白也不要担心,我们很快就会再次谈论这个问题。

练习

映射按键-为 "删除当前行,然后将其粘贴到下一行" 。然后你就可以一次按键就将一行 文本移动到下一行。

将那个映射命令添加到你的~/.vimrc文件中,以后每次启动Vim你都可以使用那个映射了。

试试如何映射按键_,使其将当前行上移一行。

将这个映射也加到你的的~/.vimrc文件中。

想想如果你想取消一个映射或重置一个按键为默认功能时该怎么操作。

阅读全文
以上是58编程为你收集整理的vim 映射 Vimscript 基本映射全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • vim 映射 Vimscript 精确映射

    vim 映射 Vimscript 精确映射

    准备好,下面的内容会比较难以理解。目前为止,我们已经使用map、nmap、vmap以及imap创建了实用的按键映射。 他们很方便,但是有...

  • Svg矩形嵌套自动变大 SVG 矩形

    Svg矩形嵌套自动变大 SVG 矩形

    SVG rect 本节介绍 SVG 形状元素中的 ——rect 元素,该元素会在屏幕上绘制一个矩形 。SVG Shapes SVG有一些预定义的形状元素,...

  • xml 元素 XML Schema all 元素

    xml 元素 XML Schema all 元素

    XML Schema all 元素 完整 XML Schema 参考手册定义和用法元素规定子元素能够以任意顺序出现,每个子元素可出现零次或一次。元素...

  •  XQuery FLWOR + HTML

    XQuery FLWOR + HTML

    XQuery FLWOR + HTML 本节为你介绍XQuery FLWOR 表达式加 HTML 的使用。XML 实例文档 我们将在下面的例子中继续使用这个 "books....

  • xml dom XML DOM cloneNode() 方法

    xml dom XML DOM cloneNode() 方法

    XML DOM cloneNode() 方法 Element 对象定义和用法 cloneNode() 方法创建指定节点的精确拷贝。 该方法返回克隆的节点。 语法clon...

  • 查看xml文件工具 查看 XML 文件

    查看xml文件工具 查看 XML 文件

    查看 XML 文件XML 文件中包含了许多的元素,XML 格式的信息和其他标记的基本单元,以及各种各样的数据。本节教你如何对 XML 文件...

  •  XML DTD

    XML DTD

    XML 验证 DTD 为英文Document Type Definition,中文意思为“文档类型定义”。拥有正确语法的 XML 被称为"形式良好"的 XML。通过...

  •  animationend 事件

    animationend 事件

    animationend 事件 事件对象实例在 CSS 动画结束后为 div 元素添加监听事件:var x = document.getElementById(myDIV);//Chrome, ...

  •  HTTP 教程

    HTTP 教程

    HTTP 教程HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件...

  • html input disabled HTML input disabled 属性

    html input disabled HTML input disabled 属性

    HTML input disabled 属性HTML input 标签实例带有已禁用的输入字段的 HTML 表单:form action=demo-form.phpFirst name: input ...

© 2024 58编程 58biancheng.com 版权所有 联系我们
桂ICP备12005667号-32 Powered by CMS