VIM学习方法.docx

上传人:b****6 文档编号:8999157 上传时间:2023-02-02 格式:DOCX 页数:15 大小:29.74KB
下载 相关 举报
VIM学习方法.docx_第1页
第1页 / 共15页
VIM学习方法.docx_第2页
第2页 / 共15页
VIM学习方法.docx_第3页
第3页 / 共15页
VIM学习方法.docx_第4页
第4页 / 共15页
VIM学习方法.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

VIM学习方法.docx

《VIM学习方法.docx》由会员分享,可在线阅读,更多相关《VIM学习方法.docx(15页珍藏版)》请在冰豆网上搜索。

VIM学习方法.docx

VIM学习方法

vi/vim终极教程第四版

vim是一个类似于vi的文本编辑器,不过在vi的基础上增加了很多新的特性,vim普遍被推崇为类vi编辑器中最好的一个,事实上真正的劲敌来自emacs的不同变体。

1999年emacs被选为linuxworld文本编辑分类的优胜者,vim屈居第二。

但在2000年2月vim赢得了slashdotbeanie的最佳开放源代码文本编辑器大奖,又将emacs推至二线,总的来看,vim和emacs同样都是非常优秀的文本编辑器。

目录

简介

发展历史

学习方法

高效率移动

高效的输入

高效的读代码

版本信息

emacs和vim二款神一样的代码编辑器

展开

简介

发展历史

学习方法

高效率移动

高效的输入

高效的读代码

版本信息

emacs和vim二款神一样的代码编辑器

展开

简介

vim是从vi发展出来的一个文本编辑器。

代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

和emacs并列成为类unix系统用户最喜欢的编辑器。

[1]

使用vim先知道其设计理念是很重要的,有助于记忆,举一反三;

1.vim的设计理念是组合;

命令组合:

vim强大的编辑能力中很大部分是来自于其普通模式命令。

vim的设计理念是命令的组合。

例如普通模式命令dd删除当前行,dj代表删除到下一行,原理是第一个d含义是删除,j键代表移动到下一行,组合后dj删除当前行和下一行。

另外还可以指定命令重复次数,2dd(重复dd两次),和dj的效果是一样的。

d^,^代表行首,故组合后含义是删除到光标开始到行首间的内容(不包含光标);d$$代表行尾,删除到行尾的内容(包含光标);用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。

模式间的组合:

在普通模式中,有很多方法可以进入插入模式。

比较普通的方式是按a(append/追加)键或者i(insert/插入)键。

2.很多快捷键设置和正则表达式类似,可以辅助记忆;^$w等

3.vim针对程序语言代码编写者;

写代码的时候手需要时刻保持在键盘上,随机定位代码、随机删除代码、移动代码、插入代码的操作大大多于阅读、翻页操作,中间卡顿一下效率就大大降低了;但对普通用户而言,顺序写、设置字体格式、翻页读多于随机写删除操作,且每个动作之间本身就有很多的停顿,用其他ui编辑器(word,notepad++等)效率反而比vim高效,使用vim进行操作只会徒增你的疑惑:

vim为什么这么流行。

(如果你不是一个代码开发者,估计你看完这段话也无法感同身受,建议先去学一门编程语言,新手推荐学c,java入门,做到一道50行代码的课后习题,来感受下写代码的过程)

发展历史

brammoolenaar在80年代末购入他的amiga计算机时,amiga上还没有他最常用的编辑器vi。

bram从一个开源的vi复制stevie开始,开发了vim的1.0版本。

最初的目标只是完全复制vi的功能,那个时候的vim是viimitation(模拟)的简称。

1991年vim1.14版被fredfishdisk#591这个amiga用的免费软体集所收录了。

1992年1.22版本的vim被移植到了unix和ms-dos上。

从那个时候开始,vim的全名就变成viimproved(改良)了。

在这之后,vim加入了不计其数的新功能。

做为第一个里程碑的是1994年的3.0版本加入了多视窗编辑模式(分割视窗)。

从那之后,同一荧幕可以显示的vim编辑文件数可以不止一个了。

1996年发布的vim4.0是第一个利用图型接口(gui)的版本。

1998年5.0版本的vim加入了highlight(语法高亮)功能。

2001年的vim6.0版本加入了代码折叠、

插件、多国语言支持、垂直分割视窗等功能。

2006年5月发布的vim7.0版更加入了拼字检查、上下文相关补完,标签页编辑等新功能。

2008年8月发布的vim7.2,该版本合并了vim7.1以来的所有修正补丁,并且加入了脚本的浮点数支持,在2010年08年15,历时两年的时间,vim又发布了vim7.3这个版本,这个版本修复了前面版本的一些bug,以及添加了一些新的特征,这个版本比前面几个版本来的要更加优秀。

主要功能

根据设定可以和原始vi完全兼容

多缓冲编辑

任意个数的分割窗口(横,竖)

具备列表和字典功能的脚本语言

可以在脚本中调用perl,ruby,python,tcl,mzscheme,c,c++

单词缩写功能

动态单词补完

多次撤销和重做

对应400种以上文本文件的语法高亮

c/c++,perl,java,ruby,python等40种以上语言的自动缩排

利用ctags的标签中跳转

崩溃后文件恢复

光标位置和打开的缓冲状态的保存复原(session功能)

可以对两个文件进行差分,同步功能的diff模式

远程文件编辑。

[1]

学习方法

vim目前已经有各主流系统的版本,尽管vim较vi已经改良了不少,但是初次使用还是会一头雾水,不知如何操作,所以学习vim要首先过2关。

第一关是理解vim的设计思路,vim设计之初就是整个文本编辑都用键盘而非鼠标来完成,键盘上几乎每个键都有固定的用法,且vim的制作者希望用户在普通模式(也就是命令模式,只可输入命令)完成大部分的编辑工作,将此模式设计为默认模式,初学者打开vim,如果直接输入单词,结果就会滴滴乱响,这是因为vim把用户输入的单词理解为命令了。

第二关是命令关,vim有过百条命令对应编辑的需要,如果能熟练使用vim这些命令,编辑速度确实比鼠标要快很多,但是想全都记住它们也是一件难事,我想记住它们最好的方法就是多多来练习,确实把vim用在日常的文本编辑中去,且遇到难题不要放弃,而是查找解决的方法,每解决一个难题,你的vim技能就上升一级。

其实,vim与其它编辑器一个很大的区别在于,它可以完成复杂的编辑与格式化功能.在这些领域还少有软件能与它分庭抗礼,但是,与所有的灵活性的代价一样,你需要用自己的双手来实现它.这在事实上造成了用户在使用vim过程中的几个自然阶段.

一开始是notepad,word,edit垄断你的大脑,这些东西根深蒂固,挥之不去vim的使用对你而言是一场噩梦,它降低而不是提高了你的工作效率.对三种工作模式的不解甚至使你认为它是一个充满bug或者至少是一个古怪的与当今友好用户界面设计严重脱节的软件.事实上,这些起初看起来古怪的特性是vim(或者是vi)的作者和它的用户们在自己漫长的文字编辑和程序设计生涯中总结出来的最快速最实在的操作,在几乎等于计算机本身历史的成长期中,历经无数严厉苛刻的计算机用户的批评与检验,无用的特性或糟糕的设计在vim用户群面前根本就没有生存的余地.vim细心而谨慎的作者们也不允许自己精心设计的软件里有这样东西.

第二个阶段你开始熟悉一些基本的操作,这些操作足以应付你日常的工作,你使用这些操作

时根本就不假思索.但这些阶段你仍然很少去碰vim那晦涩的在线帮助文档.它在你心里只是notepad,edit一个勉强合格的替代品.

第三个阶段,精益求精的你不满足于无休无止的简单操作,冗长而乏味,有没有更好的办法可以四两拔斤.于是,从unix参考手册上,从同事口中,你渐渐叩开:

helpxxx的大门.开始探索里面充满魔力的咒语.从杂耍般的带有表演性质的技巧开始,这些技巧令人眩目但少有实用性.不过这却是你拥有魔力的第一步.接下来,你开始认识到这些咒语背后的真经,开始偷偷修改一些奇怪的符号,于是,奇迹产生了,魔力不但仍然有效,而且真实地作用于你现实中的文字编辑生活.你在第二阶段由于熟练操作而尘封已久的大脑突然开始运作.但这个过程并非是达到某个临界状态后的一路坦途,不断的挫折,新的挑战,看似missionimpossible的任务.永远伴随着任何一个人的任何一个学习过程.这是你使用vim的最后一个阶段,也是最漫长最有挑战性同时也充满无数奇趣的阶段.这个阶段里你开始定制一些希奇古怪的颜色.开始以敲入i18n来输入internationalization,开始让vim替你纠正经常把the误敲成teh的毛病,开始让vim与系统里各种精悍而强大的兄弟工具进行合作,开始写越来越长的script,每一次的文本编辑体验都妙趣横生高潮迭起.你的头脑因为要用vim完成高效的编辑而高度紧张.你开始在vim邮件列表里提一些确实是问题的问题.也开始发现你在vim里做了以前在shell里做的几乎一切事.事实上你已经成了一个无可救药的vim骨灰级玩家.重复,

高效率移动

1、在插入模式之外

基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面vim就像一个“哑巴”编辑器一样。

很多新手都会一直呆在插入模式里面,因为这样易于使用。

但vim的强大之处在于他的命令模式!

你会发现,在你越来越了解vim之后,你就会花越来越少的时间使用插入模式了。

2、使用h、j、k、l

使用vim高效率编辑的第一步,就是放弃使用箭头键。

使用vim,你就不用频繁的在箭头键和字母键之间移来移去了,这会节省你很多时间。

当你在命令模式时,你可以用h、j、k、l来分别实现左、下、上、右箭头的功能。

一开始可能需要适应一下,但一旦习惯这种方式,你就会发现这样操作的高效之处了。

在你编辑你的电子邮件或者其他有段落的文本时,你可能会发现使用方向键和你预期的效果不一样,有时候可能会一次跳过了很多行。

这是因为你的段落在vim看来是一个大的长长的行。

这时你可以在按h、j、k或者l之前键入一个g,这样vim就会按屏幕上面的行如你所愿的移动了。

3、在当前行里面有效的移动光标

很多编辑器只提供了简单的命令来控制光标的移动(比如左、上、右、下、到行首/尾等)。

vim则提供了很多强大的命令来满足你控制光标的欲望。

当光标从一点移动到另外一点,在这两点之间的文本(包括这两个点)称作被“跨过”,这里的命令也被称作是motion。

(简单说明一下,后面会用到这个重要的概念)

4、常用到的一些命令(motion)

fx:

移动光标到当前行的下一个x处。

很明显,x可以是任意一个字母,而且你可以使用;来重复你的上一个f命令。

tx:

和上面的命令类似,但是是移动到x的左边一个位置。

(这真的很有用)

fx:

和fx类似,不过是往回找。

使用,来重复上一个f命令。

tx:

和tx类似,不过是往回移动到x的右边一个位置。

b:

光标往前移动一个词。

w:

光标往后移动一个词。

0:

移动光标到当前行首。

(是数字0)

^:

移动光标到当前行的第一个字母位置。

$:

移动光标到行尾。

):

移动光标到下一个句子。

(:

移动光标到上一个句子。

5、在整个文件里面有效移动光标

vim有很多命令,可以用来到达文件里面你想到达的地方。

下面是一些在文件里面移动的命令:

<ctrl-f>:

向下移动一屏。

<ctrl-d>:

向下移动半屏。

<ctrl-b>:

向上移动一屏。

<ctrl-u>:

向上移动半屏。

[2]

g:

到文件尾

numg:

移动光标到指定的行(num)。

(比如10g就是到第10行)

gg:

到文件首

h:

移动光标到屏幕上面

m:

移动光标到屏幕中间

l:

移动光标到屏幕下面

*:

读取光标处的字符串,并且移动光标到它再次出现的地方。

#:

和上面的类似,但是是往反方向寻找。

/text:

从当前光标处开始搜索字符串text,并且到达text出现的地方。

必须使用回车来开始这个搜索命令。

如果想重复上次的搜索的话,按n移动到下个text处,n移动到上一个text处。

text:

和上面类似,但是是反方向。

m{a-z}:

在当前光标的位置标记一个书签,名字为a-z的单个字母。

书签名只能是小写字母。

你看不见书签的存在,但它确实已经在那里了。

`a:

到书签a处。

注意这个不是单引号,它一般位于大部分键盘的1的左边。

`.:

到你上次编辑文件的地方。

这个命令很有用,而且你不用自己去标记它。

%:

在成对的括号等符号间移动,比如成对的[],{},()之间。

将光标放到任意符号上,然后通过%来移动到和这个符号匹配的符号上,%还可以正确的识别括号的嵌套层数,总是移动到真正匹配的位置上。

因此这个命令在编辑程序代码的时候非常有用,可以让你方便的在一段代码的头尾间移动。

高效的输入

1、使用关键词自动完成

vim有一个非常漂亮的关键词自动完成系统。

这表示,你可以输入一个长词的一部分,然后按一下某个键,然后vim就替你完成了这个长词的输入了。

举个例子:

你有一个变量名为iamalongandawkwardvarname在你写的代码的某个地方。

也许你不想每回都自己一个一个字母的去输入它。

使用关键词自动完成功能,你只需要输入开始几个字母(比如iamal),然后按<c-n>(按住ctrl,再按n)或者<c-p>。

如果vim没有给出你想要的词,继续按,直到你满意为止,vim会一直循环它找到的匹配的字符串。

2、聪明的进入插入模式

很多新手进入插入模式都只是用i。

这样当然可以进入插入模式,但通常不是那么合适,因篇二:

学习vim的一点心得

学习vim的一点心得.txt始终相信,这世间,相爱的原因有很多,但分开的理由只有一个--爱的还不够。

人生有四个存折:

健康情感事业和金钱。

如果健康消失了,其他的存折都会过期。

现在的工作是在unix平台,平时是用ue的ftp功能来写代码的,有时候文件大了,传输就很慢,而且经常不是很稳定。

下定决心要学学vim(现在应该没有人用原始的vi了吧),在经过二周的使用后,发现vim实在是非常不错的一个editor,

现在我在windows上也装了一个vim,使用起来颇为顺手,基本上已经替代了ue。

下面介绍一些我在使用vim的过程中得到的一些心得:

1.在使用vim之前一定要进行一些设置,否则你使用起来肯定会很不爽,下面是我的配置

1==============================================

2generalsettings

3==============================================

4

5setnocp

6setru

7使用cindent

8setcin

9setcino=:

0g0t0(sus

10

11setsm

12setai

13缩近

14setsw=4

15setts=4

16不展开tab为空格,反之setet

17setnoet

18

19setlbr

20sethls

21setbackspace=indent,eol,start

22setwhichwrap=b,s,<,>,[,]

23setfo+=mb

24setselectmode=

25setmousemodel=popup

26setkeymodel=

27setselection=inclusive

28setmatchpairs+=<:

>

29

30==============================================

31cursormovement

32==============================================

33nnoremap<down>gj

34nnoremap<up>gk

35vnoremap<down>gj

36vnoremap<up>gk

37inoremap<down><c-o>gj

38inoremap<up><c-o>gk

39

40nnoremap<end>g$

41nnoremap<home>g0

42vnoremap<end>g$

43vnoremap<home>g0

44inoremap<end><c-o>g$

45inoremap<home><c-o>g0

46

47nmap<c-f4>:

confirmbd<cr>

48vmap<c-f4><esc>:

confirmbd<enter>

49omap<c-f4><esc>:

confirmbd<enter>

50map!

<c-f4><esc>:

confirmbd<enter>

51

52打开语法高亮

53syntaxon

54使用语法进行折叠

55setfoldmethod=syntax

56

57if(has(gui_running))

58setnowrap

59setguioptions+=b

60coloinkpot

61else

62setwrap

63coloron

64endif

65

66设置swap文件的目录

67setdir=d:

\vim\tmp

68设置备份文件的目录

69setbackupdir=d:

\vim\bak

70

71设置leader的快捷键,原来的“\”太远了,而且位置还不固定

72letmapleader=,

这里是一些基本设置

如果有什么不太清楚的,可以在vim里normal模式下

:

h关键字

查看帮助

2.vim教程

推荐先看看vim自带的tutor(这可是位好老师)

用vimtutor启动vim

或者在vim里面用:

htutor来启动

中文教程我推荐李果正的《大家来学vim》

这里还有vim的键位示意图,可以打出来随时查看哦

3.vim的插件

有几个插件强烈推荐

(1)a.vim在同名的cpp和h文件之间切换

3.重新启动vim,并执行命令

:

help[你的gvim的安装目录]\vimfiles\doc来产生帮助文档.

基本上完成这些步骤,这个cvim插件就可以用了,不过这里要说明的是解压完后,你会看到两个压缩文件

crefvim.vim

为vim定制的c参考手册,这样对于语法或者函数不清楚的地方可以方便的查找了安装:

篇三:

vim使用方法

不要试图一次记下很多

每次掌握最需要的两三个技巧

然后多多熟悉嗯这样总有一天突然发现你是vim达人了-----------------------------------------------

写在前面:

vim是一款相当出色的编辑器(或者已经超越了编辑器的范畴),现在觉得使用鼠标是件很麻烦的事。

不由自主的会在word中按esc,也会在ue中按:

q,好奇怪

下面主要介绍了vi最常用,也最有用的tips,比如”fx”命令找到当前行中下一个字母x,比如”`.”返回上次编辑的地方,比如”ma”插入一个标签a,并使用”`a”来返回到该标签,还有”shift+c”删除到行末并直接进入插入模式….

——————————我是分割线———————-

vim模式与命令

通常模式(n)在其它任何一个模式下,用esc或者ctrl+c键可以退到通常模式

插入模式(i)在这个模式下,vim像一个常见的编辑器.在通常模式下,用i或者a可以进行本模式,当然,还有一些其它命令也可以

可视模式(v)在这个模式下,可以使用hjkl进行选择.然后进行copy,paste或者其它操作.在通常模式下,用v命令进入可视模式块操作模式(v)这是块操作模式.在通常模式下,用ctrl+v进入本模式修改模式(r)这是改写的模式.很多软件法用insert键来完成这个切换.

在vim中,从通常模式用r即可进入改写模式

扩展命令模式(ex)这是命令执行模式在通常模式下用:

切换到此模式

hint:

使用时一般处于通常模式或者插入模式,需要copy/paste时会用到可视模式。

一般来说,vim新人偏爱插入模式,并通过键盘右下角的方向键移动光标,但是,插入模式的vim功能与windows记事本相当,通常模式下才可以发挥vim的高效编辑等功能。

vim基本编辑技巧

消除行尾空白字符:

%s/s+$//g

tab键转为4个空格:

%s/t//g(/g前有4个空格)

h、j、k、lvim用来代替方向键,习惯以后编辑更加高效

在当前行高效移动光标

fx:

移动光标到当前行的下一个x处。

很明显,x可以是任意一个字母,而且你可以使用;来重复你的上一个f命令。

tx:

和上面的命令类似,但是是移动到x的左边一个位置。

(这真的很有用)

fx:

和fx类似,不过是往回找。

w:

光标往前移动一个词。

b:

光标往后移动一个词。

0:

移动光标到当前行首。

^:

移动光标到当前行的第一个字母位置。

$:

移动光标到行尾。

在整个文件里面高效移动光标

向下移动一屏。

向上移动一屏。

%:

跳到匹配的左/右括号上

gg:

到文件头

g:

到文件尾

zz:

移动当前行到屏幕中央

zt:

移动当前行到屏幕顶部

zb:

移动当前行到屏幕底部

*:

读取光标处的字符串,并且移动光标到它再次出现的地方。

#:

和上面的类似,但是是往反方向寻找

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1