Chinaunix首页 | 论坛 | 博客
  • 博客访问: 311349
  • 博文数量: 126
  • 博客积分: 7051
  • 博客等级: 少将
  • 技术积分: 1425
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-20 13:21
文章分类

全部博文(126)

文章存档

2008年(126)

我的朋友

分类: LINUX

2008-04-24 13:22:51


★ 键映射

:maptype key command

其中,key 是要映射的键(序列),command 是所要映射的命令,maptype 包括如下几种:

map  命令,可视和命令追加模式下的键映射

vmap 可视模式下的键映射

nmap 命令模式下的键映射

omap 命令追加模式下的键映射

map! 插入和命令行模式下的键映射

imap 插入模式下的键映射

cmap 命令行模式下的键映射

说明:命令追加模式指的是命令输入中的状态,也就是在输入一个需要多个按键的命令时,已经开始输入但未完成的状态。

举个例子,

:map gg

的意思是在命令,可视和命令追加模式把 F2 键映射为命令 gg,也就是说,当在这三种模式下时,按下 F2 键,就相当于按下了键序列 gg,其作用是定位到第一行。

要想避免 vim 把你映射的 command 中的内容再次映射的话,应该使用 noremap,其格式与 map 时相同。这时候,上面的各种 maptype 分别对应如下:

noremap  命令,可视和命令追加模式下的键映射(无二次映射的)

vnoremap 可视模式下的键映射(无二次映射的)

nnoremap 命令模式下的键映射(无二次映射的)

onoremap 命令追加模式下的键映射(无二次映射的)

noremap! 插入和命令行模式下的键映射(无二次映射的)

inoremap 插入模式下的键映射(无二次映射的)

cnoremap 命令行模式下的键映射(无二次映射的)

取消一个键映射用 unmap,格式为 unmap key。其中 key 为之前定义了映射的键,unmap 可以换为如下几种之一:

unmap  取消命令,可视和命令追加模式下的键映射

vunmap 取消可视模式下的键映射

nunmap 取消命令模式下的键映射

ounmap 取消命令追加模式下的键映射

unmap! 取消插入和命令行模式下的键映射

iunmap 取消插入模式下的键映射

cunmap 取消命令行模式下的键映射

★ 把当前目录设为正在编辑的文件所在的目录

:cd %:p:h

说明:只在类 Unix 操作系统下可用。

:lcd %:p:h

说明:在所有操作系统下可用。

★ 打开文件的时候自动将当前目录设为该文件所在的目录

在 .vimrc 中加入如下行:

:au BufEnter * :cd! %:p:h

★ 转换文件格式

由于 Unix、Window 和 MacOS 的换行符的内部表示不一样,因此有时候需要转换文件格式。

将文件格式转换为 Unix 格式:

:set fileformat=unix

将文件格式转换为 Windows 格式:

:set fileformat=dos

★ 让 gvim 启动时窗口最大化(只在 Windows 下可用)

在 _vimrc 中加入如下行

autocmd GUIEnter * simalt ~x

阅读(913) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~