vim实用手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
« 博客园首页
胖爷的 im实用手册 - 基础篇(打开、关闭、移动、搜索)
作者 jinshoucai来源 博客园发布时间 2011-11-08 15:15 阅读 59 次原文链接[收藏]
在linux中,常用的编辑器,大概有2个半,vi或者vim,emacs,还有个简单的nano。有人说程序猿分为三种,一种是使用vim的,还有一种使用emacs的,剩下的都是第三种。用现在一个时髦的比方,普通程序猿用emacs或者类似的vs,文艺程序猿用vim,二逼程序猿用其他。由此可见 VIM的强大程度,这是一款非常适合程序员使用的,熟练了以后会上瘾的编辑器。vim设计了多种模式,常见的模式包括命令模式,编辑模式,命令行模式等,这个也是和其他编辑器一个很不相同的地方,用习惯了ms的各种文本编辑器,可能会比较不习惯,但是如果将模式熟悉了就可以发现在不同的模式之间切换是很平常的事情,而且带来的好处是更少的按键和更快的输入。
VIM是VI的优秀后裔,虽然VI的后裔中不仅仅包括VIM,但是VIM是实现对VI的兼容性最好的编辑器,其他的后裔还包括STEVIE, ELvis, NVi, Vile等。除了实现对VI的兼容性外,VIM还扩展了很多的功能,包括语法高亮,代码折叠,脚本扩展等等。
vim我也是初学乍练,开始也是因为在linux中,写shell用这个比较方便,同时也没有更多的选择,只是被迫的使用,可一来二去,当度过了记忆那些头疼的键盘指令后,才开始渐入佳境。与windows种那些常用的文本编辑器如 vs,word,notepad比较,vim入门显然是比较难的,可如果用习惯了以后,也许就会迷恋上这种不使用鼠标甚至小键盘的设计。废话少说,言归正传,把使用心得记录下来,供今后参考。
一、三种模式
vim的工作模式
1.命令模式(Command mode) ESC进入命令模式。
2.编辑模式(Insert mode) ESC可退出此模式。
3.命令行模式(Command line mode) 输入":"进入此模式。
深入理解这三种模式,是vim的根本。
二、启动、保存与退出
打开vim编辑文档,常用的无非是 vim filename的方式。
至于还有写蛋疼的譬如定位到第几行之类的参数,一般用不着,
进入vim可以用xxxG,或者 xxx来定位,不记也罢。
还有两种用的到的打开方式,一种是同时打开多个文件,
如
vim file1 file2 file3
vin file*
vim会依次打开3个文件,使用命令行 :bp :bn在文件之间切换。这种方式,我认为一个是不同文件之间复制内容时比较有用,
还有一个就是可以在shell命令行种,使用vim xxxx*一类的通配符,同时打开一类文件进行编辑。
命令执行的操作记忆方法
------------------------------------------------------
:bn 下一个文件
:bp 上一个文件
还有一个分隔窗口的打开方式,当打开file1时,使用命令行
:sp file2,便可以使用分隔窗口,打开file2,这个在比较文件,
或者几个文件之间复制内容时,是非常有用的。
命令执行的操作记忆方法
------------------------------------------------------
:sp file 新建分隔窗口,打开file
Ctrl+w+方向键切换到前/下/上/后一个窗格
Ctrl+w+h/j/k/l 同上
Ctrl+ww 依次向后切换到下一个窗格中
常用的退出和保存命令无非就是w,q,!进行组合
比较有意思的是:e,有时我会查看正在更新的日志文件,
当日志文件有更新时,可以简单的使用这个命令,
将最新的文件读入到vim中。
命令执行的操作记忆方法
------------------------------------------------------
:q 退出 quit
:w 存盘 write
:e 打开新文件
:r 读取文件到VI read
:! 强行
------------------------------------------------------
常用的组合如下
:wq 保存并退出
:w 只保存
:q! 退出不保存
:q
下面是一些类似茴香豆的写法的命令,仅供记忆与参考。
-----------------------------------------------------------启动编辑器
命令功能
vi +100 foo
打开文件foo并把光标定位在100行
vi +/pat foo
打开文件foo并把光标定位在pat第一次出现的行
vi +foo 打开文件foo,把光标定位在文件尾
vi foo1 foo2 ...
打开文件foo1,用n切换到foo2等
vi -r foo
把交换文件里的内容恢复到缓冲区里
vi -R foo
一只读模式打开foo文件
保存与退出
命令功能
:w 保存文件并继续编辑
:w bar
同微软Windows操作系统中的 另存为……
:w! bar
同上,但是覆盖现存的文件bar
:n1,n2w foo
把n1到n2之间的行保存到文件foo
:n1,n2w>>foo 把n1到n2之间的行添加到foo文件尾
:.w foo
把当前行保存到文件foo
:$w foo
把最后一行保存到文件foo
:x 保存并退出编辑器
:wq 同上
:q 如果文件的内容没有变化则退出编辑器
:q! 放弃修改并退出编辑器
:set nu 显示行号 number
:set nonu 隐藏行号 no number
----------------------------------------------------------
三、移动
关于移动,我觉得可能是vim最有意思的地方,因为vim设计的精髓,就是不使用
鼠标与小键盘也可以完成所有工作。
移动,多是在命令模式下完成,如果进入到编辑模式,则只有使用方向键了。
下面是我常用的一些命令与快捷键
页面之间移动,常用的无非就是下面四个组合。
快捷键功能记忆方式
--------------------------------------------------------------
Ctrl + f 翻到下一页(向前翻页) front
Ctrl + b 翻到上一页(向后翻页) back
Ctrl + u 向前翻半页
Ctrl + d 向后翻半页
--------------------------------------------------------------
vim行之间移动是比较有意思的,vim使用h,j,k,l代替方向键在行之间、字之间移动,且使用注入w,b之类的按照词移动的方式,则明显比vs快捷的多。
快捷键功能记忆方式