`
mylxiaoyi
  • 浏览: 320607 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vi编辑器的学习使用(二十四)

阅读更多
在这一次的学习中我们会介绍一些更多的关于缩写和键盘映射的问题.
我们在编辑的过程中可以用:abbreviate命令来设置一个缩写,那么我们如何来移除一个缩写呢?我们可以用命令:unabbreviate来移除一个缩写.例如我们用下面的命令来设置一个缩写:
:abbreviate @a fresh
如果我们要移除这个缩写我们可以用下面的命令:
:unabbreviate fresh
如果我们要清除所有的缩写,我们可以用下面的命令:
:abclear
我们用上面的命令定义的缩写可以正常的工作在插入模式和命令行模式两种状态下.如果我们是在文本中输入@a,他就会扩展为fresh,而如果我们在:命令行中输入@a,他也可以扩展成为fresh.如果我们要定义一个只工作在插模式下的缩写,我们可以用这样的命令:
:iabbreviate @a fresh
这也就是说如果我们在命令行输入@a,那么他仅是@a,而不会扩展为fresh.如果要取消一个插入模式的缩定义,我们可以用下面的命令:
:iunabbreviate @a
同样的我们可以用下面的命令来清除所有的插入模式的缩写定义:
:iabclear
相类似的,如果我们要定义一个只在命令行模式下工作的缩写,我们可以用命令:cabbreviate来完成,而取消这个定义的命令为:cunabbreviate,如果要清除所有的缩写列表,我们可以用下面的命令:
:cabclear
如果我们要列出所有的缩定,我们可以用下面的命令:
:abbreviate
在这个命令的执行结果第一列显示出缩写的类型,标记如下:
c    命令行模式
i    插入模式
!    两种模式均可
CTRL-C命令可以使得Vim离开插模式.这个命令与<Esc>命令的不同之处就在于在回到正常状态的过程中并不会检查一个缩写.
map命令可以使得我们将一定的模式与键盘对应起来.例如如果我们要使用F5来复制来选中的文本到寄存器v中,我们可以用下面的命令来定义:
:map <F5>"vy
这样的定义的F5在正常以及可视模式下都可以使用.但是也许我们真正希望的是只在可视模式下来使用这个命令,这时我们可以用下面的命令来进行定义:
:vmap <F5>"vy
这里的v是告诉Vim这样定义的命令是只在可视模式下使用.
如下面的列表:
Command    Normal    Visual    Operator Pending    Insert    Command Line
命令    正常    可视    运算符延伸        插入    命令行
:map    y    y    y    
:nmap    y    
:vmap        y
:omap            y
:map!                        y    y
:imap                        y
:cmap                            y
现在假如我们要定义<F7>以使得命令d<F7>可以删除C程序的文本块.与此相类似的,y<F7>可以将程序块复制到未命名寄存器中.所以我们要做就是要傅F7来选择当前的文本块.我们可以使用下面的命令:
:omap <F7>a{
这个命令会使得<F7>在operator-pending模式下选择文本块.有了这样的映射,当我们输入d<F7>命令中的d时,我们就进入了operator-pending模式.然后执行命令<F7>就可以地命令a{了,这样我就可以选择文本块了.因为我们执行了d命令,所以这个文本块被删除了.
其他的一些映射命令如下:
:map lhs rhs
这个是将lsh映射到rhs,所以当我们按下lhs时我们实际上执行的是rhs
如下面的映射命令:
:map ^A dd
:map ^B ^A
执行了这样的命令以后,当我们输入CTRL-A时Vim会删除一行.而CTRL-B也会是同样的作用.当我们使用控制字符时,我们必须用CTRL-V来引用他.换句话说如果我们要达到:map ^A dd的目的,我们就可以用下面的命令来完成:
:map CTRL-VCTRL-A dd
(似乎这个命令这样的做是不成的)
如果我们要重新映射,我们可以使用命令:noremap,例如:
:noremap lhs rhs
如果我们要取消一个映射,可以使用:unmap命令,如:
:unmap lhs
如果我们取消所有的映射,我们可以使用命令:
:mapclear
但是我们在使用这个命令时要注意,因为这个命令也会移除所有我们自定的默认映射.
如果我们要列出所有的映射,我们可以用下面的命令:
:map
第一列的标记指明了这样的映射可以在哪一种模式下工作:
字符    模式
<space>    正常,可视,运算符(operator-pending)
n    正常
v    可视
o    operator-pending
!    插入和命令模式
i    插入模式
c    命令模式
第二列指出各种lhs的任何映射.第三列是rhs的映射值.如果rhs是以*开头的,那么这个rhs是不可以重新映射的.
:map命令可以列出所有的映射,而:map!只列出插入和命令行模式的映射.而:imap,:vmap,:omap,:nmap命令只是列出指定模式的映射.在默认的情况下,Vim允许循环映射,要关掉这个特征,可以执行下面的命令:
:set noremap
如果我们执行下面的命令:
:abbreviate @a ad
:imap ad adder
这样当我们输入@a时,字符ad会被插入,然而ad又映射到插入模式的字符串adder,所以字符串adder会被插入到文本中.如果我们使用用命令:noreabbrev就可以避免这样的问题.

分享到:
评论

相关推荐

    vi编辑器学习笔记vi编辑器学习笔记

    vi学习笔记,是我在学习中总结的一些常用的命令

    Linux vi编辑器

    全面介绍VI,有实例做练习,快速学习Linux经典的VI编辑器

    VI编辑器的使用方法.txt

    VI编辑器的使用方法.txt 一步一步教你学习linux下的VI编辑器的用法 ,让你轻松走进linux。

    vi编辑器的使用(一)笔记

    vi编辑器的使用(一)笔记

    学习vi和vim编辑器

     将近三十年的时间里,vi一直是unix与linux采用的标准编辑器,从1986年开始,《学习vi和vim编辑器(第7版)》一直是第一线的vi导引手册。但三十年来,unix已不再是三十年前的样子,这本书也不能一成不变。第7版的...

    vi及vim编辑器使用进阶

    vi编辑器是所有Unix及Linux系统下标准的编辑器,美国加州大学伯克利分校的Bill Joy所创立[1] ,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何...

    学习vi和vim编辑器_第7版_中文+英文_PDF

    《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就本书的经典地位。读者将学到: ·...

    学习使用vi编辑器

    教你如何使用Linux的VI编辑器。

    unix vi 编辑器完全使用手册

    本文是针对初学Unix Vi编辑器的网友的,而文后所付的详尽的命令表也可作为已经熟练使用vi的网友的参考之用, 因此你最好下载本文或打印本文然后对照实践学习。 编辑器是使用计算机的重要工具之一,在各种操作系统...

    vi编辑器的使用

    学习linux的朋友,看看我的VI的编辑器的使用文档定会有所收获!

    学习VI和VIM编辑器第7版中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    Linux的VI编辑器学习副本

    文本编辑器有很多,比如图形模式的gedit、kwrite...vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。

    vi编辑器命令

    linux系统vi编辑器的使用及所有命令。学习linux必须掌握vi编辑器的使用。

    vi编辑器的学习使用

    vi编辑器是Unix的世界中一个相当强大的可视化编辑器,有人曾这样的说过在世界上有三种人:一种是使用Vi的,另一种是使用是Emacs的,剩下的是第三种人。

    学习vi编辑器(第六版)

    Learning.the.VI.Editor.6th 英文版 涵盖的主题有:  ◆ 编辑基础  ◆ 快速移动  ◆ 基本编辑命令的扩展  ◆ ex的更强大功能 ... ◆ nvi、elvis、vim和vile编辑器  ◆ vi和 ex命令总结  ◆ vi和Internet

    学习vi和vim编辑器_第7版_中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    学习vi和vim编辑器 第7版

    学习vi和vim编辑器 第7版 学习Vi 和 Vim的绝好教材。值得推荐……

    学习vi和vim编辑器.pdf_vim实用_vi_vim_

    vi和vim编辑器的使用和进阶说明,非常实用

    学习vi和Vim编辑器_CN.pdf

    学习vi和Vim编辑器_CN.pdf pdf 中文 完美版

Global site tag (gtag.js) - Google Analytics