Vim已经有各主流系统的版本,尽管vim较vi已经改良了不少,但是初次使用还是会一头雾水,不知如何 *** 作,所以学习vim要首先过2关。第一关是理解vim的设计思路,vim设计之初就是整个文本编辑都用键盘而非鼠标来完成,键盘上几乎每个键都有固定的用法,且vim的制作者希望用户在普通模式(也就是命令模式,只可输入命令)完成大部分的编辑工作,将此模式设计为默认模式,初学者打开vim,如果直接输入单词,结果就会滴滴乱响,这是因为vim把用户输入的单词理解为命令了。第二关是命令关,vim有过百条命令对应编辑的需要,如果能熟练使用vim这些命令,编辑速度确实比鼠标要快很多,但是想全都记住它们也是一件难事,我想记住它们最好的方法就是多多来练习,确实把vim用在日常的文本编辑中去,且遇到难题不要放弃,而是查找解决的方法,每解决一个难题,你的vim技能就上升一级。
其实,Vim与其它编辑器一个很大的区别在于,它可以完成复杂的编辑与格式化功能在这些领域还少有软件能与它分庭抗礼,但是,与所有的灵活性的代价一样,你需要用自己的双手来实现它这在事实上造成了用户在使用Vim过程中的几个自然阶段。
一开始,Notepad,VisualStudio,MicrosoftWord等垄断你的大脑,这些东西根深蒂固,挥之不去。Vim的使用对你而言是一场噩梦,它降低而不是提高了你的工作效率对三种工作模式的不解甚至使你认为它是一个充满BUG或者至少是一个古怪的与当今友好用户界面设计严重脱节的软件。事实上,这些起初看起来古怪的特性是Vim(或者是vi)的作者和它的用户们在自己漫长的文字编辑和程序设计生涯中总结出来的最快速最实在的 *** 作,在几乎等于计算机本身历史的成长期中,历经无数严厉苛刻的计算机用户的批评与检验,无用的特性或糟糕的设计在Vim用户群面前根本就没有生存的余地Vim细心而谨慎的作者们也不允许自己精心设计的软件里有这样东西。
第二个阶段,你开始熟悉一些基本的 *** 作,这些 *** 作足以应付你日常的工作,你使用这些 *** 作时根本就不假思索但这些阶段你仍然很少去碰Vim那晦涩的在线帮助文档它在你心里只是Notepad、VisualStudio的勉强合格的替代品。
第三个阶段,精益求精的你不满足于无休无止的简单 *** 作,冗长而乏味,有没有更好的办法可以四两拔斤于是,从UNIX参考手册上,从同事口中,你渐渐叩开:helpxxx的大门开始探索里面充满魔力的咒语从杂耍般的带有表演性质的技巧开始,这些技巧令人眩目但少有实用性不过这却是你拥有魔力的第一步接下来,你开始认识到这些咒语背后的真经,开始偷偷修改一些奇怪的符号,于是,奇迹产生了,魔力不但仍然有效,而且真实地作用于你现实中的文字编辑生活你在第二阶段由于熟练 *** 作而尘封已久的大脑突然开始运作但这个过程并非是达到某个临界状态后的一路坦途,不断的挫折,新的挑战,看似MissionImpossible的任务永远伴随着任何一个人的任何一个学习过程这是你使用Vim的最后一个阶段,也是最漫长最有挑战性同时也充满无数奇趣的阶段这个阶段里你开始定制一些希奇古怪的颜色开始以敲入i18n来输入,开始让Vim替你纠正经常把the误敲成teh的毛病,开始让Vim与系统里各种精悍而强大的兄弟工具进行合作,开始写越来越长的script,每一次的文本编辑体验都妙趣横生高潮迭起你的头脑因为要用Vim完成高效的编辑而高度紧张你开始在Vim邮件列表里提一些确实是问题的问题也开始发现你在Vim里做了以前在SHELL里做的几乎一切事事实上你已经成了一个无可救药的Vim骨灰级玩家。
vim中执行shell命令,有以下几种形式1):!command不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容例如:!ls
-l
特别的可以运行:!bash来启动一个bash
shell并执行命令,不需要退出vim
2):r
!command将shell命令command的结果插入到当前行的下一行例如:r
!date,读取系统时间并插入到当前行的下一行。3):起始行号,结束行号
!command将起始行号和结束行号指定的范围中的内容输入到shell命令command处理,并将处理结果替换起始行号和结束行号指定的范围中的内容例如:62,72
!sort,将62行到72行的内容进行排序可以只指定起始行,例如:62
!tr
[a-z]
[a-z],将62行的小写字母转为大写字母当前光标所在行,除可以指定行号外,也可以用表示,例如:
!tr
[a-z]
[a-z],将当前行的小写转为大写4):起始行号,结束行号
w
!command将起始行号和结束行号所指定的范围的内容作为命令command的输入。不会改变当前编辑的文件的内容例如:62,72
w
!sort,将62行到72行的内容进行排序,但排序的结果并不会直接输出到当前编辑的文件中,而是显示在vim敲命令的区域特殊的可以下面这么用:62
w
!bash,将会把第62行的内容作为bash命令来执行并显示结果,而且不会改变当前编辑的文件的内容同样的:
w
!bash,将当前行的内容作为bash命令来执行例如52行内容为ls
-l那么输入:52
w
!bash就跟执行!ls
-l是一样的效果,如果你用的shell是bash
shell
如果输入的是:52
!bash,那么会把第52行的内容也就是ls
-l作为命令执行,同时命令的输出结果会替换第52行的内容,注意其中的区别。
Vi是文本编辑,你可以存放文件而不退出编辑
因为不退出Vi,Vi要占用这个窗
你可以另开一个窗,进同样的文件夹,用gcc(或cc)编译
Vi存放文件命令好象是w,退出命令是q,你可以查一下不打q就不退出
这个是程序的原因的有可能
你也可以使用fg看看会不会显示你所编辑的文件
如果还提示的话,,你可以在其目录下找找有没有与所编辑的文件同名的文件以 开头的
如果找到的话 删除即可,,,
还有一种可能就是你使用了多个远程终端连接同一台设备 也会有这样的提示的
Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。Vim的第一个版本由布莱姆·米勒在1991年发布。简称是ViMitation,随着功能的不断增加,正式名称改成了ViIMproved。
vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时VIM与很多快捷键设置和正则表达式类似,可以辅助记忆。并且vim针对程序员做了优化。
Vim有许多有用的功能,可以与现代文本编辑器竞争,如Sublime Text,Atom,UltraEdit或jEdit。它们包括支持正则表达式的搜索,轻松重复命令的能力,直接记录和执行宏,自动完成,文件合并,鼠标集成,拼写检查,语法突出显示,分支撤消/重做历史,支持流行网络协议和文件存档格式等。
在 vim 里执行外部程序是用 ! 加命令名,最简单的比如:
:!ls或者用 ctrl-z 把 vim 推到后台再执行 shell 命令。
如果想用 vim 执行 vim 的脚本,可以用:
:source a_vim_script以上就是关于VIM的学习方法_vim使用教程全部的内容,包括:VIM的学习方法_vim使用教程、shell vim 命令什么意思、如何不退出Vi完成程序的编译等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)