美文网首页
vim键盘映射

vim键盘映射

作者: jobscui | 来源:发表于2017-01-18 14:28 被阅读0次

Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手。
vim里最基本的map用法也就是
:map c a
这里把c映射成了a,在map生效的情况下,按下c就等同于按下了a
当然,常用的Ctrl,Shift,Alt自然也是支持的。
令Ctrl+a对应到a
:map <C-a> a
令Alt+a对应到a
:map <A-a> a
令Ctrl+Alt+a对应到a
:map <C-A-a> a
到此,我们已经可以做很多事情了。
但是map命令远不只这一种,在不同的模式下,同一组按键可以被映射到不同的组合上。
Vim的模式众多,但是一般被提及的也就是这么几种:
Normal Mode
也就是最一般的普通模式,默认进入vim之后,处于这种模式。
Visual Mode
一般译作可视模式,在这种模式下选定一些字符、行、多列。
在普通模式下,可以按v进入。
Insert Mode
插入模式,其实就是指处在编辑输入的状态。普通模式下,可以按i进入。
Select Mode
在gvim下常用的模式,可以叫作选择模式吧。用鼠标拖选区域的时候,就进入了选择模式。
和可视模式不同的是,在这个模式下,选择完了高亮区域后,敲任何按键就直接输入并替换选择的文本了。
和windows下的编辑器选定编辑的效果一致。普通模式下,可以按gh进入。
Command-Line/Ex Mode
就叫命令行模式和Ex模式吧。两者略有不同,普通模式下按冒号(:)进入Command-Line模式,可以输入各种命令,
使用vim的各种强大功能。普通模式下按Q进入Ex模式,其实就是多行的Command-Line模式。
对于Map,有几个基本的概念
命令的组合
同Vim下的其他命令一样,命令的名字往往由好几段组成。前缀作为命令本身的修饰符,微调命令的效果。
对于map而言,可能有这么几种前缀
nore
表示非递归,见下面的介绍
n
表示在普通模式下生效
v
表示在可视模式下生效
i
表示在插入模式下生效
c
表示在命令行模式下生效
Recursive Mapping
递归的映射。其实很好理解,也就是如果键a被映射成了b,c又被映射成了a,如果映射是递归的,那么c就被映射成了b。
:map a b :map c a
对于c效果等同于
:map c b
默认的map就是递归的。如果遇到[nore]这种前缀,比如:noremap,就表示这种map是非递归的。
unmap
unmap后面跟着一个按键组合,表示删除这个映射。
:unmap c
那么在map生效模式下,c不再被映射到a上。
同样,unmap可以加各种前缀,表示影响到的模式。
mapclear
mapclear直接清除相关模式下的所有映射。
同样,mapclear可以加各种前缀,表示影响到的模式。
这里列出常用的一些map命令,默认map命令影响到普通模式和可视模式。
:map :noremap :unmap :mapclear
:nmap :nnoremap :nunmap :nmapclear
:vmap :vnoremap :vunmap :vmapclear
:imap :inoremap :iunmap :imapclear
:cmap :cnoremap :cunmap :cmapclear
可以试试这些命令
命令行模式下建一个mapping
nmap b a
现在普通模式下,按b,可以进入插入模式,随便输入一些字符
命令行模式下建一个mapping
vmap b d
现在普通模式下,按V,进入了可视模式,并且选定了一整行,按下b,可以删除整行
命令行模式下建一个mapping
imap b a
现在试着给正在编辑的这个文件输入一个字符”b”吧 :p
命令行模式下建一个mapping
cmap b c
命令行模式下, 按下b,会出来一个a
ok,到此vim的按键已经被你弄得乱七八糟了,试着用umap和mapclear清除这些mapping吧。(转载自manon)

相关文章

  • vim键盘映射

    Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手。vim里最基本的map用法也就是:ma...

  • 映射基础

    Vim 里唯一能够让它服从你的意愿的功能就是按键映射。 键盘映射可以让你告诉 Vim:“当我在按这个键的时候,我要...

  • 357. Vim的一些性质

    IDEA的VIMRC Pycharm和IDEA中,可以使用IDEAVIM插件,把vim常用的键位映射到键盘,能让人...

  • Vim 快速入门

    Vim 是编辑器之神,今天将学到的基本命令整理一下,方便使用。一.学习使用Vim之前要了解几个原则:1>键盘映射基...

  • 键盘映射

    esc键功能 inoremap jk inoremap 让esc失效

  • VIM 常用操作汇总

    从 vi 发展出来的文本编辑器 vim 键盘图vim 键盘图.png vi/vim 共分为三种模式,3.1 命令模...

  • mobaxterm用alt键作为meta键的方法

    根据skywind3000大大的文章Vim 中正确使用 Alt映射,我的vim配置也将alt键作了映射,避免了很多...

  • openSUSE 键盘映射

    目的:经常用vim,避免碰到Cap键。而且Ctrl键使用频繁。 用到的软件: xmodmap 编写 .xmodma...

  • windows键盘映射

    最近把MacBook接到了以前台式的显示器上了。然后把以前落灰的机械键盘也拿了粗来。。。想要进一步体验一下码代码的...

  • Qt键盘-Android键盘映射

    场景 在做远程控制的时候,需要在本地先捕获当前键盘事件,再将按的键发送给远端,在被控制端模拟对应的键盘事件来做出反...

网友评论

      本文标题:vim键盘映射

      本文链接:https://www.haomeiwen.com/subject/watbbttx.html