Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101469154
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-28 11:05:39

原文:Vim的常用键位映射

这两天花又不少时间学习Vim,网上相关的文章大多数能看懂的我都看了,easwyVim系列文章看了学多遍了,手册更是查了无数遍(有中文的,翻译的人真伟大!),越来越觉得这个编辑器真是强大,深陷其中不能自拔,要记的东西太多了,趁印象深刻,先下记下来,不时复习下。

Vim 的键位映射真是无所不能,一直以为插入模式中不够普通模式的快捷键多,普通模式中,按“o”能在光标下插入一行行,按“dd”删除一整行……,而在插入模 式中没有这些快捷键,很多快捷命令一直都是按“Esc”返回普通模式使用后再切换来,很麻烦,能看过键位映射后,研究一阵,大呼过瘾!于是把一系列自定义 键位映射写到“_vimrc”中,现在Vim用起来真他妈的爽!!!

1.
“Alt组合键不映射到菜单上
set winaltkeys=no”
在 键位映射中,Ctrl加字母是不分大小写的,Alt就分,这样能映射的键位选择就更多了。不过发现Alt+W等会跳到菜单上,即使设置了映射后还是那样, 十分不爽,反正菜单又不常用,于是决定把它关掉了,后来又发现有这个选项能使Alt组合键不映射到菜单上,Vim想得真周到,后来又发现Alt+大写(就 是同时按下Shift键)xp会切换输入法,又一不爽,于是在系统控制面板那里将它关掉。

2.
“编译程序
map :w:make %
imap
在VC 里按一个键就能编译和运行,很方便,本来在Vim写好代码,然后用“:!”命令运行编译程序,后来用得多了,决定麻烦,于是设置了键位映射,先保存,然后 执行make。当然在ftpplugin里设置好mkaeprg。java.vim我就直接在Runtime files里的ftpplugin文件夹复制到vimfiles里就行了,c.vim就这么一句“set makeprg=gcc\ -o\ %:r.exe”

3.
“运行程序
“java.vim里的
map :w:make %
imap
map :!java %:r
“c.vim里的
map :w:make %
imap
map :!%:r.exe
因为java运行命令是“java 类名不包括后缀”,就用“%:r”去掉后缀名;而C则去掉后缀名后加上“.exe”

4.
“跳到下一个错误
map :cnext
imap i
“跳到前一个错误
map :cprevious
imap i
“显示所有错误
map :clist
imap
不用在切换到普通模式里输入查看错误命令了,真方便

5.
“全文查找替换
map :%s/
imap
在windows下一直习惯用“Ctil+H”打开查找对话框,这下好了,那几个固定字母不用重复打了

6.
“取消查找高亮
map :nohlsearch
imap i
查找过后总是查找内容高亮,这个映射能令它快速消失。

7.
“删除当前行并重写
imap ddO
写代码时有时想整行删掉后重写,按住“del”或者用鼠标选择都是不够有效率,这样做最快捷。

8.
“删除到行尾
imap wd$i
插入模式有删除光标前到行首,但是没有删除到行尾,有时也学要用,映射一下。

9.
“删除光标处的单词
imap ebdei
“插入上次删除的单词
imap w
有时想把单词换成另一个,像删除整行一样,移动好光标,然后按住“del”或者鼠标选择都是不够效率,这个映射一下子就把单词删掉。就把刚用删除的单词插入回来

10.
“删除光标处双引号之间的字符串
imap di”i
如果光标在“”"”之间,这个映射就马上删掉双引号自己的内容并把光标用到双引号之间,方便重写。

11.
“开关tag窗口
map :TlistToggle
imap i
快速开关Taglist窗口。

12.
“在光标下插入新行
imap o
就像普通模式下按“o”一样,这样不用把光标移动到行尾按回车了,按“Ctirl+o”,然后“o”也行,不过要多按一次键。

13.
“复制当前行
imap Ya
“粘贴到当前行
imap pi
马上把光标所在行整行复制,粘贴,这个功能也经常用。

14.
“为选择行添加注释
smap :s/^/\/\//ge
“删除选择行的注释
smap :s/\/\///ge
有 时测试需要,要整段注释,先用鼠标选择好要注释的代码,这是时候在选择模式下,然后切换到可视模式,在可是模式下运行替换命令,作用范围就是选择段,查找 行首然后替换成“//”就行了,唯一不爽的是查找后全文行首高亮,于是又要取消高亮,屏幕就会“闪”一下。删除反过来就是。

15.
“映射光标控制
imap
imap
imap
imap
现在右手移动到光标键都嫌麻烦了

16.
“插入当前行第一个单词到下一行,用b寄存器
imap ^”byeob
编写Java时经常输入多行private,public时很有用,按一下就自动把当前行第一个字符查入到下一行。

17.
“插入光标出上一行单词,用i寄存器
imap keb”iyejAi
与上边那个类似,不过那光标上的单词复制下来,不太完善。

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