《专业编辑器VIM》PPT课件.ppt

上传人:sh****n 文档编号:8634043 上传时间:2020-03-30 格式:PPT 页数:46 大小:2.83MB
返回 下载 相关 举报
《专业编辑器VIM》PPT课件.ppt_第1页
第1页 / 共46页
《专业编辑器VIM》PPT课件.ppt_第2页
第2页 / 共46页
《专业编辑器VIM》PPT课件.ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
專業編輯器VI vim gvim 學習 鄭人元2011 6 15Update 2014 08 12 如果你已经在使用vim Gvim 跳转到32页 子曰 工欲善其事 必先利其器 Vim是从vi发展出来的一个文本编辑器 代码补完 编译及错误跳转等方便编程的功能特别丰富 在程序员中被广泛使用 和Emacs并列成为Unix类系统用户最喜欢的编辑器 Vim的第一个版本由布莱姆 米勒在1991年发布 最初的简称是ViIMitation 随着功能的不断增加 正式名称改成了ViIMproved 现在是在开放源代码方式下发行的自由软件 Vim总会有很多你想不到的功能 它们总在等你的发现和使用 它的强大总在意料之外 布莱姆 米勒 布莱姆 米勒BramMoolenaar 1961年 生于荷兰南荷兰省利瑟 著名程式设计师 在自由软件界素有盛名 他是vim A A P的作者 也是编程语言Zimbu的开发者 右图是2007年12月摄 VIM的定理 格言 定理1 vi是完美的 证明 VI是罗马数字中的6 可以被6整除的自然数是1 2 3 1 2 3 6 因此6是一个完美数 因此 vi是完美的 ArthurTateishi定理2 vim比完美更美好 证明 VIM是罗马数字中是代表 1000 6 994 2 496 2 496可以被1 2 4 8 16 31 62 124 248整除 而且1 2 4 8 16 31 62 124 248 496 因此496是一个完美数 因此 vim是2倍完美 2 也就是VIM比完美更美好 NathanT Oelger一则格言 对我来说 vi就是禅 使用vi 就是参禅 每一个命令都是心印 来自内心深处 非有经验不能明白 每一次使用 都会发现真理 SatishReddy 开始进入vim图示 开始进入gvim图示 安装在 indows上的gvim 上面的文件夹vim74是主要程序与文件的存放处上面的文件 vimrc是 indows系统上的设置文件 安装在 indows上的gvim 左边是文件夹vim74的内容Autoload是自动装载的运行库Colors是语法高亮的颜色风格 Doc是帮助文件Keymap是快捷键文件Lang是界面语言文件Macros是宏文件Syntax是语法关键字文件Tutor是教程文件根目录上的文件有主程序与主要设置文件 如filetype vim vi vim gvim 的模式 正常模式 我认为是命令模式 在正常模式中 用户可以执行非常多的编辑器命令 比如移动光标 删除 修改文本等等 这也是Vim启动后的默认模式 这正好和许多新用户期待的操作方式相反 大多数编辑器默认模式为插入模式 Vim强大的编辑能力中很大部分是来自于其正常模式命令 正常模式命令往往需要一个操作符结尾 大多数命令能够灵活组合使用 比那些没有模式的编辑器更加高效的进行文本编辑 对重复操作一般只要加个数字就可以执行多次了 number command object 或者command number object vi vim gvim 的模式 选择模式这个模式和无模式编辑器的行为比较相似 Windows标准文本控件的方式 这个模式中 可以用鼠标或者光标键高亮选择文本 不过输入任何字符的话 Vim会用这个字符替换选择的高亮文本块 并且自动进入插入模式 选择模式的进入一般是用鼠标选择高亮块自动进入的 可视模式这个模式与正常模式比较相似 但是移动命令会扩大高亮的文本区域 高亮区域可以是字符 行或者是一块文本 当执行一个非移动命令时 命令会被执行到这块高亮的区域上 Vim的 文本对象 也能和移动命令一样用在这个模式中 可视模式的进入一般是用可视命令进入的 选择模式与可视模式 可视模式 选择模式 vi vim gvim 的模式 插入模式从正常模式进入插入模式有最常见的四种方式 append insert 1 按 i 键 在光标所在位置前进入插入模式 2 按 I 键 在光标所在行首进入插入模式 3 按 a 键 在光标所在位置后进入插入模式 4 按 A 键 在光标所在行尾进入插入模式 进入插入模式之后 编辑器最下面行会显示插入的状态同时光标会闪烁 这时的编辑器与一般常见的编辑器没有太大差别 插入模式在这个模式中 大多数按键都会向文本缓冲中插入文本 大多数新用户希望文本编辑器编辑过程中一直保持这个模式 在插入模式中 可以按ESC键回到正常模式 vi vim gvim 的模式 命令行模式就是通过输入 进入的模式 Ex模式这和命令行模式比较相似 在使用 visual 命令离开Ex模式前 可以一次执行多条命令 这个模式实际上就是最早的单行编辑器 现在的人可能听都没听过 就是对整个文件的编辑与显示只在一行内进行 实际上很不方便 但执行速度却是最快的 这个模式对大多数人来说是没有什么价值的 只是为了兼容于VI的功能 本人早年使用过单行编辑器 太痛苦 不知自己在干什么 vi vim gvim 的模式 其它模式主要是一些衍生模式操作符等待模式插入正常模式插入可视模式插入选择模式替换模式 按 R 就能进入改写的模式 Insert EVIM模式这几种模式可以当不存在 反正你用熟了VIM之后 不会感觉到有它们的存在 开始进入vi vim gvim 从命令行运行vim 或者vi 或者gvim 在类UNIX系统或Windows系统中的命令行模式下输入vim回车 也可以带参数运行 VIM的参数非常丰富 想了解更多可以输入vim help输入 vim c h asm 之类的命令可以在一个编辑器内打开多个文件 通过GUI直接用gvim打开文件这种方式在类UNIX的X环境与Windows环境都支持 习惯别的编辑器的人更喜欢这种方式 可以在同一编辑器内同时打开多个不同文件 由别的IDE环境调用gvim或vim IDE设置一下 如果你已经习惯用vim了 非常有必要 系统注册某类文件全部由gvim打开 保存内容 退出vi vim gvim 进入命令行模式1 按 ESC 键退到正常模式 2 输入 在这个模式下可以输入所有的vim的命令行命令 保存命令保存命令是 w 退出命令退出命令是 q 使用 w 回车 是保存当前文件 如果你打开了很多文件都没保存可以 wa wq 回车 是保存当前文件 并退出vim 如果你不想保存就退出可以 q 移动光标 正常模式 命令模式 要移动光标 请依照说明分别按下h j k l键 k提示 h的键位于左边 每次按下就会向左移动 l的键位于右边 每次按下就会向右移动 jj键看起来很象一支尖端方向朝下的箭头 v1 请随意在屏幕内移动光标 直至您觉得舒服为止 2 按下下行键 j 直到出现光标重复下行 现在您应该已经学会如何移动到你想到的地方吧 提示 如果您不敢确定您所按下的字母 请按下键回到正常 Normal 模式 然后再次从键盘输入您想要的命令 提示 光标键应当也能正常工作的 但是使用hjkl键 在习惯之后您就能够快速地在屏幕内四处移动光标了 快速移动光标1 正常模式 词移动命令 w 向后移动几个word并在word尾直接按键盘 w 若干次 还可以先按数字再按 w 如 38w 就是向后移动38个word还有一个 W 与 w 相比 大点 命令 b 向前移动几个word并在word头直接按键盘 b 若干次 还可以先按数字再按 b 如 38b 就是向前移动38个word还有一个 B 与 b 相比 word大点 粘贴文本命令 正常模式 粘贴文本操作 p 命令 put 会把你前面删除或拷贝的内容贴出 如果你删除的是一整行 p 命令把该行插入到光标下方 如果你删除的是一行的一部分 例如一个单词 p 命令会把它插入到光标的后面 P 命令象 p 一样也是插入字符 但插入点在光标前面 当你前面删除或拷贝的是一行 P 会把它插入到光标所在行的前一行 而当你前面删除或拷贝的是非整行 P 会把它插入到光标前面 p 和 P 命令接受计数前缀 被插入的文本就会被插入指定的次数 所以 3p 会把删除内容的三个拷贝插入到文本中 选项配置 配置文件参考 VIMRUNTIME vimrc example vim和帮助文件 在windows系统中大家要建立配置文件 在你的VIM安装目录下如 C Vim 建立一文件 vimrc 如果是类UNIX系统则在你的 Home目录下建立一个 vimrc 文件 setnocompatible 设成非与VI兼容的模式 setnu 显示行数 setcin 打开自动C程序缩进 setai 开启新行自动缩进 setmousehide 输入字符时隐藏鼠标指针 setguifont Terminal h17 设GUI字体 source VIMRUNTIME vimrc example vimsource VIMRUNTIME mswin vimsource VIMRUNTIME colors ron vimbehavemswin 设置文件类型 设置文件类型的文件filetype vim下面文件的高亮部分是我加入的 vb文件类型的自动加载 分割窗口命令 分割窗口操作 split 命令 sp 这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中 等同于CTRL WsCTRL Ww命令可以用于在窗口间跳转 close 命令 clo 用于关闭窗口 等同于CTRL Wc only 命令 这个命令关闭除当前窗口外的所有窗口 如果要关闭的窗口中有一个没有存盘 Vim会显示一个错误信息 并且那个窗口不会被关闭 等同于CTRL Wo要扩大窗口高度 CTRL W 要缩小窗口高度 CTRL W 要扩大窗口宽度 CTRL W 要缩小窗口宽度 CTRL W 分割窗口命令 分割窗口操作如果你已经在一个VIM中打开了多个文件 你可以用 sba 命令 这个命令把屏幕分解成多个窗口并打开各个不同的文件 copen 命令可以打开编译窗口 如果你的当前目录下有makefile文件 你可以运行 make 命令来编译你的项目 在这个编译错误窗口里你还能跳转到错误的相应文件行 如果我用CTRL V打开了两个文件 并且我想比较下这两个文件的不同 可以在左边窗口输入 diffthis 然后CTRL Ww跳到右边窗口输入 diffthis 折叠命令 什么是折叠 折叠用于把缓冲区内某一范围内的文本行显示为屏幕上的一行 就像一张纸 要它缩短些 可以把它折叠起来 折叠的好处是 通过把多行的一节折叠成带有折叠提示的一行 会使你更好地了解对文本的宏观结构 把光标置于某一段落内 并键入 zfap 你会看到这一段变成了一行 zf 是个操作符 而 ap 是一个文本对象 你可以将 zf 操作符跟任何一个移动命令联用 为所经之处的文本创建一个折叠 zf 也能在可视模式下使用 zo 打开该折叠命令 要若要再阅读那些文本 可以键入这个命令以打开该折叠 你还可以再用 zc 命令关闭折叠 所有的折叠命令都以 z 开头 展开你的想像力 这个字母看起来就像一张折叠起来的纸的侧面 折叠命令 折叠功能而 z 后面可用的字母 由于采用了帮助记忆方法选择 很容易记得住 zfF oldcreation 创建折叠 zoO penafold 打开折叠 zcC loseafold 关闭折叠 假定你已经创建了若干折叠 而现在需要阅览全部文本 你可以移到每个折叠处 并键入 zo 若要做得更快 可以用这个命令 zr 相反的操作是 zm 这将折叠更多 M ore 如果你有一个嵌套了好几层深的折叠 你可以用这个命令把它们全部打开 zR 这将减少折叠直至一个也不剩 而用下面这个命令你可以关闭所有的折叠 zM 这将增加折叠 直至所有的折叠都关闭了 用 zn 命令快速禁止折叠功能 然后 zN 恢复原来的折叠 zi 切换于两者之间 还有按语法折叠功有等 录制宏命令 录制宏功能 正常模式 Vi 没有记录功能 q 0 9a zA Z 命令 在寄存器 0 9a zA Z 里记录键入的字符 大写名字的寄存器表示附加键入的内容 q 命令不能在执行寄存器时使用 同样 在映射里也不能 q 命令停止记录 注意实现细节 停止记录的 q 不会被保存在寄存器里 除非它是映射的结果 0 9a z 执行寄存器 0 9a z 的内容 count 次 注意不能用寄存器 当前文件名 和 轮换文件名 则会提示你输入一个表达式 这个表达式的结果会被执行 重复上次的命令行 例子 qa 输入 i 做n步操作 完成后按ESC 再按 q 输入 a 就执行了刚才录的a宏 就是 输入 i 做的n步操作 如果你想执行29次a宏 只要输入 29 a 自增自减命令 自增自减宏功能 正常模式 比如我们要把所有的年份数据全部加上一年 或减去三年 1 19 0 9 0 9 20 0 9 0 9 回车2 这时你只要按CTRL A就能在当前年份上自动加一 3 如果你按3CTRL X就能在当前年份上自动减三 说明 在类UNIX系统中上述命令是可行的 但在Windows系统上你按CTRL A却是选择全部文字的功能 这时你要去VIM的官方网站去下一个脚本文件 speeddating vim 到你的VIM安装路径上就可以了 对于上面的情况 我们对下一数据的操作只要按下 n 就会跳下下一个年份 再按 就会执行上一次执行的操作 http www vim org 竖块编辑命令 竖块编辑功能 正常模式 在类UNIX系统中按CTRL V命令进入竖块的可视化模式 在Windows系统上你要按CTRL Q命令进入竖块的可视化模式 这是你可以用 h j k l w e 等等功能移动光标 拖动竖块的大小 你可以对选择的竖块范围内的数据进行 x 剪切 剪切之后 p 粘贴 可以用 r 命令把选中的内容全部改写 可以用 命令把选中的内容全部大写改小写 小写改大写 自己的书签 位置标记功能 正常模式 命令 m a zA Z 把位置标记 a zA Z 设在当前光标位置 不移动光标 这不是动作命令 m 或 m 设置前次上下文标记 以后可以用 或者 跳转到这个位置 不移动光标 这不是动作命令 m 或 m 设置 或者 标记 可以用在执行多个命令的操作符的定义中 不移动光标 这不是动作命令 range ma rk a zA Z 把位置标记 a zA Z 设在 range 的最后一行 第0列 缺省的 range 是当前行 range k a zA Z 和 mark相同 但空格可以省略 你要跳到你上面自己做的书签 用 a z 就会跳转到当前缓冲区的位置标记 到当前句子的开始处 到当前句子的结尾处 到当前段落的开始处 到当前段落的结尾处 在整个工程中跳转 标签文件功能 SourceInsight3 5用过否 标签文件是外部程序创建的 比如 ctags 对每个函数 它会包含一个标签 有些版本的 ctags 会为每个 define 宏 类型等价定义 typedef 枚举 enum 等也创建标签 能产生标签文件的程序有 ctags exuberantctags etags JTags ptags py ptags gnatxref等等 你要下载一个最近的ctags程序放到VIM的安装目录下 在命令行模式运行 ctags R 这样会生成一个在当前路径上的tags文件 在你编辑程序时如果有个常量定义记不清楚了 想看一下 或者函数定义想看一下 就非常方便了 CTRL 命令直接跳转到你光标所在的字符串的定义处 或者你调用的函数的原型中 不在同一文件中也是快速跳转 跳回你刚才的位置只要用 CTRL T 在整个目录中搜索 目录中搜索功能 很多IDE都有这功能 vim grep pattern g j file 在文件 file 里搜索模式 pattern 并用匹配结果设置错误列表 如果没有 g 标志位 每行只加一次 如果有 g 每个匹配都被加入 pattern 是Vim的搜索模式 除了用 之外 任何非ID字符 见 isident 都可以用来包围该模式 只要在 pattern 里不出现就行了 适用 ignorecase 要否决该设置 在模式里用 c 来忽略大小写或 C 来匹配大小写 不使用 smartcase 如果命令前面带数字 它定义要寻找的最大匹配数目 这样 1vimgreppatternfile 只会找到第一个 这可以用于只想检查是否有匹配而在找到后能快速退出的场合 如果没有 j 标志位 Vim跳到第一个匹配上 如果有 j 只更新quickfix列表 如果有 放弃当前缓冲区的任何修改 大约每过一秒 显示正在搜索的文件名 让你了解当前的进展情况 例如 vimgrep anerror c h vimgrep hinclude vimgrep myfunc c这时你可以打到信息窗口 copen 命令打开 cp 找前一个 cn 找后一个 目录探索命令 目录探索命令 N Explore dir 探索当前文件所在的目录 N Hexplore dir 水平分割并探索 Rexplore 返回到浏览器 N Sexplore dir 分割并探索当前文件所在的目录 Texplore dir 建立新标签页并探索 N Vexplore dir 垂直分割并探索用于 Explore 模式 另见 netrw starstar Nexplore 转到下一个匹配的文件 Pexplore 转到前一个匹配的文件 使用垂直分割 Rexplore 此命令和其它的有所不同 当用在netrw浏览器窗口的文件上按等方式编辑文件时 Rexplore会重新显示上次的netrw浏览器窗口 它是的命令行版本 后者只有在gvim和有相应支持的终端才存在 VIM的高级应用 使用Scripts 使用网络上别人编写好的脚本 选择自己有用的脚本 安装与配置使用的脚本 解决不同脚本之间的冲突 自己编写Scripts 编程 对自己特殊的需求 编写脚本 提高效率 不同操作系统上的VIM的使用 不同操作系统的功能键 与配置不同 网站上有可爱的人编写的Scripts 增加功能 左边的网页中 点左边List表中的Scripts 我们看到的Script之类的最大的下载量的两个脚本是taglist vim和TheNERDtree下面的页就介绍其中的NERDTree命令集 www vim org上有可爱的人编写的Scripts 脚本分类colorSchemeftplugingameindentsyntaxutilitypatch 安装上页的脚本的方式 大多数只要COPY相关的文件到路径 VIM VIM74 有的要COPY到 VIM VIMfiles 如 cvim的脚本控件 如Ctags的控件 COPY文件ctags exe到 VIM VIM74 就可以使用ctags工具 见43Page 几个脚本的安装使用 taglist taglisthttp www vim org scripts script php script id 273taglist 46 zipctags exehttp www vim org scripts script php script id 2288ctags exe taglist安装与说明 taglist安装细节1 下载taglist zip文件并将文件解压缩到 HOME Vim或 HOME vimfiles或 vim vimfiles目录 在这一步之后 你应该有以下两个文件 目录结构应该被保存 plugin taglist vim 主要taglist插件文件doc taglist txt 文件 帮助 文件参考 add plugin add global plugin 和 runtimepath Vim帮助更多有关安装页 2 切换到 HOME vim doc或 HOME vimfiles doc或 VIM vimfiles doc目录下 启动Vim并运行 helptags 命令即可处理标签列表帮助文件 如果没有这一步 你不能跳转到标签列表帮助主题 3 如果扩展的ctags exe工具不存在你的PATH中 请设置Tlist Ctags Cmd变量指向扩展的ctags exe实用工具的位置 不要目录 在 vimrc文件中 4 如果你正在运行的Vim终端 控制台版本和终端不支持改变窗口宽度 请设置 Tlist Inc Winwidth 变量为0 在 vimrc文件中 5 重新启动Vim 6 现在你可以使用 TlistToggle 命令打开 关闭的标签列表窗口 你可以使用 helptaglist 命令来获得更多信息有关使用标签列表插件 运行之后的taglist 几个脚本的安装使用 NERDtool TheNERDtreehttp www vim org scripts script php script id 1658nerdtree zipV4 2 0TheNERDCommenterhttp www vim org scripts script php script id 1218nerdcommenter zipV2 3 0 几个脚本的安装使用 csv CSV AFiletypepluginforcsvfiles http www vim org scripts script php script id 2830SrcExpl 5 3 zipV5 3Trinityhttp www vim org scripts script php script id 2347Trinity 2 1 zipV2 1 CSV 几个脚本的安装使用 SrcExpl http www vim org scripts script php script id 273有 灵活的 左边的窗口列出的路径上的文件 用键盘的回车键也可以打开 用鼠标也能打开 右上的窗口是主文件的编辑窗口 与普通vim的窗口一样 右下的窗口是编译窗口 如果用自己的MakeFile编译 能方便查看出错信息 也可以用vim查找不同文件之间的字符串 如同左图 用cn命令可以自动跳转到下一个 出错 位置 Thanks MyEmail lz12345zry Email2 lz12345zry 欢迎您的批评指正 转发 也欢迎新功能的交流
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!