




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VIM 编辑器VIM 和 Emacs 是 Linux 上最知名和最受程序员喜爱的两种编辑器。VI追求的是快捷启动程序迅速,编辑文本高效,功能专注,而Emacs追求的是功能的丰富强大以及集成带来的方便,在Emacs里头可以发邮件,上新闻组,听mp3,浏览网页,玩游戏,几乎可以login-emacs-logout了,VI和Emacs都是程序员的编辑器,相比而言,Emacs更是提供了一种程序员的生活氛围。VIM引入了很多模式,主要的有如下几种: Normal mode即通常所谓的命令模式,在此模式使用a、i、A、I、o、O等进入Insert mode Insert mode即通常所谓的编辑模式,在此
2、模式使用ESC进入Normal mode或者Ctrl-c临时进入Normal mode Command-line mode命令行模式,在Normal mode下按冒号进入,按ESC取消执行命令或者回车执行命令,然后回到Normal mode。 Visual mode即选择模式(注意跟用鼠标选择不同),用v,V,C-v或C-q进入 Select mode鼠标选择 Replace mode在Normal mode下按R进入,按ESC返回Normal mode,相当于Windows下命令行中按Insert键进入的覆盖模式1. 基本操作1) 移动光标(Normal mode)可以用下面的键来移动光标H
3、 (左), j (下), k (上), l (右)2) 删除(Normal mode)当你想删除一个字符时,把光标移动到它上面,然后按下x键,它就会消失。dd命令会删除当前所在的一行内容。dw 删除当前光标所在字符d$ 删除从当前光标所在位置到当前行结尾的所有内容d 删除从当前光标所在位置到行首的所有内容3) 合并行(Normal mode)使用J命令可以合并当前行和下一行4) 撤消和重做(Normal mode)按下u会撤消上一步的操作,U(大字)是一个特殊的撤消键,它会撤消在在最后编辑的行上所作的所有操作。如果撤消的次数过多,按下 Ctrl+r 会重做上次撤消的操作5) 复制和粘贴 (No
4、rmal mode)yy 复制游标所在行整行。或大写一个 Y。2yy 或 y2y 复制两行y 复制至行首,或 y0。不含光标所在处字符。y$ 复制至行尾。含光标所在处字符。yw 复制一个 word。y2w 复制两个字。yG 复制至档尾。y1G 复制至档首。p 小写 p 代表贴至光标后(下)。P 大写 P 代表贴至光标前(上)。ayy 将本行文字复制到 a 缓冲区a 可为 26 个英文字母中的一个,如果是小写的话,原先的内容会被清掉,如果是大写的话是 append 的作用,会把内容附加到原先内容之后。ap 将 a 缓冲区的内容贴上。6) 退出 (Normal mode)ZZ 会退出VIM并且对所
5、有编辑的文件保存起同样作用的命令 (Command-line mode):wq 或者 :x7) 插入文本 (Normal mode 转入 Insert mode)i会在光标所在字符前插入内容。I在当前行首插入内容。a会让你在当标所在的位置之后继续输入内容。A 在当前行尾插入内容。o命令会在光标所在行下面加入一行,并将光标移动的此行的开始以供输入如果想在光标所在行的上面加入一行,请使用命令O(大写)8) 替换 (Normal mode)r 替换当前字符。 R 替换当前字符及其后的字符,直至按 ESC 键。 s 从当前光标位置处开始,以输入的文本代替指定数目的字符。 S 删除指定数目的行,并以所输
6、入的文本代替。9) 重复命令 (Normal mode)当要做多次同样的操作时,可以用计数来加快这一过程。 number command object 或者 command number object 其意是 number - 代表的是命令执行的次数 command - 代表要做的事情,比如 d 代表删除 object - 代表要操作的对象,比如 w 代表单字/单词,$ 代表到行末等等。举个例子如下9k会让你向上移动9行。通过在命令前加一个数字n,就可以执行这一命令n次。10) 文件操作vim FileName 打开文件 FileName,并将光标置于第一行首。 vim +n FileName
7、 打开文件 FileName,并将光标置于第 n 行首。 vim + FileName 打开文件 FileName,并将光标置于最后一行。 vim + /pattern File 打开文件 File,并将光标置于其中第一个于 pattern 匹配的字符串处。 vim r FileName 在上次正用 vi 编辑 FileName 发生系统崩溃后,恢复FileName。 vim File1 Filen 打开多个文件,依次对之进行编辑。11) 十六进制查看模式 (Command-line mode):%!xxd 按十六进制查看当前文件 :%!xxd -r 从十六进制返回正常模式12) 屏幕 (No
8、rmal mode)H 光标移至屏幕顶行。 M 光标移至屏幕中间行。 L 光标移至屏幕最后行。 Ctrl+u 向文件首翻半屏。 Ctrl+d 向文件尾翻半屏。 Ctrl+f 向文件尾翻一屏。 Ctrl+b 向文件首翻一屏。13) 大小写转换 (Normal mode)guu 行小写 gUU 行大写 g 行翻转guw 字小写gUw 字大写gw 字翻转14) 文件状态 (Normal mode)输入 CTRL-g 显示当前编辑文件中当前光标所在行位置以及文件状态信息。15) 搜索(Normal mode)输入 / 以及尾随的字符串可以用以在当前文件中查找该字符串。要查找同上一次的字符串,只需要按
9、n 键。要向相反方向查找同上一次的字符串,请输入 Shift-n 即可。如果您想逆向查找字符串,请使用? 代替 / 进行“.*%/?$”这些字符在VIM中有特殊意义,如果搜索内容中包括这些符号,需要在符号前面加“”。16) 配对括号的查找(Normal mode)按 % 可以查找配对的括号 )、。17) 查找函数的man说明(Normal mode)光标置于函数上,输入K18) 变量定位 (Normal mode)gd 转到光标下局部变量的定义处 Gd 转到光标下全局变量的定义处19) 自动补齐 (Insert mode)CTRL-X CTRL-F 文件名 CTRL-X CTRL-L 整行有c
10、tags设置时:Ctrl-p 自动补齐上下文已有的相近项Ctrl-n 自动补齐 tags 中的相近函数20) 标签跳转 (Normal mode)CTRL+ 跳转到光标当前位置的标签处 (例如:一个函数的定义)。 CTRL+T 跳转到执行 CTRL- 命令前的地方。 :tselect 从一连串匹配的标签中选出一个。/ 跳转到注释开始的位置。 / 跳转到注释结束的位置。# 返回到未闭合的 #if, #ifdef, or #else 处。 # 前进到未闭合的 #else 或 #endif 处。 ( 返回到未闭合的 ( 处。 ) 前进到未闭合的 处。 跳转到最近对应的 处。 跳转到最近对应的 处。2
11、. Visual mode 下操作进入Visual mode使用 v,V,ctrl -v v: 是以字节模式选择V: 是以行的方式选择Ctrl-v: 以列的方式选择在列选方式下:I 在块的每一行首加上string A 在块的每一行尾加上string C 修改选中的列块(即删除并输入新内容 ) c 修改选中的列块(即删除并输入新内容 ) 右移Tab宽度 左移Tab宽度3. 规则表达式(regular expression)及其应用1) 表达式l 基本匹配 行的起始$ 行的结尾. 除换行字符外的任一单一字符* 指前所绑住的字符或字符集合,出现 0 次或 0 次以上+ 和 * 作用相同,但不包括出现
12、 0 次= 指前所绑住的字符恰好出现 0 或 1 次 匹配括号内任意一个字符 匹配除了括号内字符的字符n, m 指前所绑住的字符或字符集合最少出现 n 次,最多出现 m 次() 记忆 pattern,可由 1, 2.9 来叫出 匹配字尾。这就是前所提及的限定用法,被 括住的| 搜索的或操作l 中介字符(metacharacter, or character classes)d: 匹配一个数字 0-9D: 匹配一个非数字字符x: 匹配一个十六进制数 0-9A-Fa-fX: 匹配一个非十六进制字符o: 匹配一个八进制字符 0-7O: 匹配一个非八进制字符 w: 匹配一个word字符 0-9A-Za
13、-zW: 匹配一个非word字符 a: 匹配一个字母字符 A-Za-zA: 匹配一个非字母字符l: 匹配一个小写字母字符 a-zL: 匹配一个非小写字母字符u: 匹配一个大写字母字符 A-ZU: 匹配一个非大写字母字符c: 忽略搜索内容大小写C: 大小写敏感2) 全域性指令:rangeg/pattern/cmdcmd 是 ed 可用的指令,预设是 p(print)。这里主要是说明 d(delete) 的功能。因为是要说明如何消除空白行。需注意的是,d 是行删除指令,凡含 pattern 的整行都会被删掉,而且 range 不指定的话,预设是全篇文章,因为 g 就是代表 globe。例::g/$
14、/d 删除全文的空白行3) 替换:ranges/pattern/string/c,e,g,I,nrange 指的是范围,1,7 指从第一行至第七行,1,$ 指从第一行 至最后一行,也就是整篇文章,也可以 % 代表。pattern 就是要被替换掉的字符串,可以用 regexp 来表示。string 将 pattern 由 string 所取代。c 每次替换前会询问。e 不显示 error。g 不询问,整行替换。n 不做替换操作。(可以做统计用)I 忽略大小写Note:代表置换时合于 patern 的字符或字符串例:将档案 3 至 7 行的数据向右移 2 个空白:3,7s/.+/ &/4. 设置书
15、签你可以在编辑的内容的某处设置书签(marks),然后到其它地方去编辑,在呼叫这个书签的时候就会回到设置点位置。mx x 代表 26 个小写英文字母,这样光标所在处就会被标记一个书签x 就可以回到书签设置的位置x 回到书签设置行的行首:marks 得知目前所有书签的列表。小写字母 只作用于单一档案内。大写字母 可作用于编辑中之各档案间。5. 宏的使用Vim 有一种记录宏的机制。 键入”qa” 开始把一段宏记录入寄存器变量 a 中。下面按平常的操作键入你的擦作,这些操作会北Vim 记录到它命名为 a 的宏中去,当再次按下 q” 键,就结束了宏 a 的记录。当你要重复执行你刚才记录的那些操作时只要
16、用 “a” 命令。6. 窗口操作Ctrl-w n 即 :new。开一空的新窗口。Ctrl-w s 即 :sp(lit),会开一新窗口,且原文件分属两个窗口。Ctrl-w f 开一新窗口,并编辑光标所在处之 word 为档名的档案。Ctrl-w q 即 :q 结束分割出来的窗口。Ctrl-w o 即 :only! 使光标所在之窗口,成为目前唯一显示的窗口 其它窗口会隐藏起来。Ctrl-w j 移至下窗口。Ctrl-w k 移至上窗口。7. 编程辅助功能1) 插件VIM内置的插件l ctags,cscope现在的IDE都提供了类、函数的索引功能,可以方便的找到某个类或者函数的在哪里定义的,VIM这方面可以利用ctags、cscope做到,Exuberant ctags支持的语言种类非常多,UltraEdit的tags功能也是利用的ctags。cscope只支持C,它能实现Source Insight的一些功能,比如查找某个函数调用了哪些函数,某个函数被哪些函数调用。VIM对这两个工具集成的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗教育信息化的法律风险分析
- 教育科技与学生大脑的发展趋势
- 全案设计公司介绍
- 超声波式流量计技术解析与应用
- 心脏病护理诊断和措施
- 福建漳州教师招聘笔试真题2024
- 临泉县社区工作者招聘笔试真题2024
- 2024年四川泸州航发能源投资有限公司招聘笔试真题
- 营养配餐与健康
- 取内固定的护理
- 消防水池 (有限空间)作业安全告知牌及警示标志
- 大众文化导论完整版课件最全电子教案
- (完整版)形式发票模版(国际件通用)
- 原创领袖的风采-易发久
- DB33∕642-2019 热电联产能效、能耗限额及计算方法
- 考试录用公务员笔试监考工作培训
- GM∕T 0036-2014 采用非接触卡的门禁系统密码应用指南
- 钱江杯优质工程检查表
- 内蒙古高中毕业生学籍表毕业生登记表学年评语表成绩单身体健康检查表完整版高中档案文件
- NMRV减速机说明
- 小升初火车过桥问题
评论
0/150
提交评论