VIM键盘映射 (Map)~转载

VIM键盘映射 (Map)

设置键盘映射

使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来。例如使用以下命令,可以通过F5键将单词用花括号括起来:

:map <F5> i{e<Esc>a}<Esc>

其中:i{将插入字符{,然后使用Esc退回到命令状态;接着用e移到单词结尾,a}增加字符},最后退至命令状态。在执行以上命令之后,光标定位在一个单词上(例如amount),按下F5键,这时字符就会变成{amount}的形式。

不同模式下的键盘映射

使用下表中不同形式的map命令,可以针对特定的模式设置键盘映射:

Command
命令
Normal
  常规模式  
Visual
可视化模式
Operator Pending
运算符模式
Insert Only
插入模式
Command Line
命令行模式
:map y y y    
:nmap y        
:vmap   y      
:omap     y    
:map!       y y
:imap       y  
:cmap         y

键盘映射实例

使用以下命令,可以在Normal Mode和Visual/Select Mode下,利用Tab键和Shift-Tab键来缩进文本:

nmap <tab> V>
nmap <s-tab> V<
vmap <tab> >gv
vmap <s-tab> <gv

使用以下命令,指定F10键来新建标签页:

:map <F10> <Esc>:tabnew<CR>

其中:<Esc>代表Escape键;<CR>代表Enter键;而功能键则用<F10>表示。首先进入命令行模式,然后执行新建标签页的:tabnew命令,最后返回常规模式。

同理:对于组合键,可以用<C-Esc>代表Ctrl-Esc;使用<S-F1>表示Shift-F1。对于Mac用户,可以使用<D>代表Command键。

注意:Alt键可以使用<M-key>或<A-key>来表示。

关于键盘符号的详细说明,请使用:h key-notation命令查看帮助信息。

我们还可以针对函数设置键盘映射。 例如,将以下代码加入.vimrc文件,就可以利用快捷键,来打开或关闭针对搜索结果的高亮显示。

查看键盘映射

使用:map命令,可以列出所有键盘映射。其中第一列标明了映射在哪种模式下工作:

标记	模式
<space>	常规模式,可视化模式,运算符模式
n	常规模式
v	可视化模式
o	运算符模式
!	插入模式,命令行模式
i	插入模式
c	命令模式

使用:map!命令,则只列出插入和命令行模式的映射。而:imap,:vmap,:omap,:nmap命令则只是列出相应模式下的映射。

取消键盘映射

如果想要取消一个映射,可以使用以下命令:

:unmap <F10>

注意:必须为:unmap命令指定一个参数。如果未指定任何参数,那么系统将会报错,而不会取消所有的键盘映射。

针对不同模式下的键盘映射,需要使用与其相对应的unmap命令。例如:使用:iunmap命令,取消插入模式下的键盘映射;而取消常规模式下的键盘映射,则需要使用:nunmap命令。

如果想要取消所有映射,可以使用:mapclear命令。请注意,这个命令将会移除所有用户定义和系统默认的键盘映射。

参考

使用set命令

set pastetoggle=<F9>

使用imap命令

用Esc退出插入模式很麻烦,可以将另外的键映射到这个键上,如下,将Ctrl-i映射为Esc

imap <C-I> <Esc>

== the end ==

时间: 2024-08-01 05:12:20

VIM键盘映射 (Map)~转载的相关文章

解决Xshell和vim中文乱码(转载)

From:http://blog.csdn.net/lovey599/article/details/7275403 一般而言,乱码多是由于编码问题引起 的,在windows系统中,大多数情况下中文编码采用的是big5或utf-8两种,但是默认情况下确是big5,如果这样的话,请首先用locale命令查看你linux系统当前语系,执行LANG=zh_CN.big5修改语系.这里以utf8编码为例. 打开一个用utf8编码的中文文件,在vim中,执行:set encoding=utf-8 term

Linux 中的键盘映射【转】

本文转载自:http://hessian.cn/p/144.html [转]Linux 中的键盘映射 原文地址:http://www.linuxidc.com/Linux/2011-04/35197.htm 对于英语来说,键盘上的字母键直接和英语字母表中的字母对应,但是对于非英语的语种来说,情况就不太一样了.例如,德语中的“ß”字母就没有直接的键和它对应,为此,Linux 提供“键盘映射”或“键盘翻译”,利用键盘映射可将某些键转换为特殊键. 前面提到,X Window 直接处理了键盘的输入输出端

Linux应用:Vim按键映射

1. 通用映射设置方式 ":map 映射键组合 执行的操作组合":     设置按键映射 ":noremap 映射键组合 映射键中的字符": 取消某个字符的嵌套映射 ":unmap 映射键组合": 取消按键映射 ":mapclear": 取消所有映射 ":map": 查看所有映射 *注: 映射键组合可以是一个字符,也可以时锁个字符的组合        执行的操作可以是一系列操作的组合 2. 按键映射模式 m

Android键盘映射

对于按键事件,Android调用mDevices[i]->layoutMap->map进行映射.映射实际是由  KeyLayoutMap::map完成的,KeyLayoutMap类里读取配置文件qwerty.kl,由配置 文件 qwerty.kl 决定键值的映射关系.你可以通过修 改./development/emulator/keymaps/qwerty.kl来改变键值的映射关系. 具体可以参照Android\frameworks\base\libs\ui\KeyCharacterMap.c

辛星深入分析vim的自动补全功能以及vim的映射

以前对于vim的自动补全功能,都是需要的时候从网上下载点配置项,然后拷贝到自己的vimrc上去,自己也不知道是什么意思,结果发现搜索到的很多自动补全的方式都很另类,有的喜欢在补全大括号的时候自动换行,还有的喜欢在补全大括号的时候自动缩进一下,那么,我们花几分钟时间了解一下,自己写出来这些配置,何乐而不为呢? ********************************按键映射****************************** 1.首先分清一个概念,那就是nnoremap和inore

元组Tuple、数组Array、映射Map

一.元组Tuple 元组Tuple是不同类型的值的聚集,元组的值将单个的值包含在圆括号中来构成,元组可以包含一个不同类型的元素 如 val riple = (100, "Scala" , "Spark")1.元组中可以包含不同类型的元素,如上,把鼠标放在riple上,IDE会自动推断出元组riple里面的3个元素类型分别是Int.String.String2.元组实例化后,和数组Array不同,数组Array的索引从0开始,而元组Tuple的索引从1开始.3.调用元

编程算法 - 二叉搜索树(binary search tree) 集合(set)和映射(map) 代码(C)

二叉搜索树(binary search tree) 集合(set)和映射(map) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 二叉搜索树(binary search tree)作为常用而高效的数据结构, 标准库中包含实现, 在标准库的集合(set)和映射(map), 均使用. 具体操作代码如下. 代码: /* * main.cpp * * Created on: 2014.7.20 * Author: spike */ /*eclipse

apple mac 下使用机械键盘的办法,键盘映射工具软件,apple mac Mechanical keyboard

想在苹果电脑 mac 系统下使用 机械键盘,大部分机械键盘不是为mac设计的,所以需要用软件做一下键盘映射. 推荐使用这个:https://pqrs.org/osx/karabiner/ . apple mac 下使用机械键盘的办法,键盘映射工具软件,apple mac Mechanical keyboard

Linux学习必备vi/vim键盘图

绝对是一个精品,强烈不能独享,vi/vim键盘图.vi最先用于Unix系统,它是一个文本编辑器,几乎所有类Unix的机器都提供,学习Linux就必需要学习vi/vim,熟悉这个键盘图,能够帮助你学习vi/vim.如果要学习vi/vim建议找一下这方面的资料,论坛应该很多的.