`
lg_techie
  • 浏览: 112822 次
  • 性别: Icon_minigender_1
  • 来自: cq
最近访客 更多访客>>
社区版块
存档分类
最新评论

Vim日常操作 [转贴]

阅读更多

motions, scrolling -- 光标定位,滚屏与翻页

motions -- 光标定位

光标定位(motions) -- 精选命令 命令 功能
$ 当前行的末尾
0 当前行的开头
gg 文件头
G 文件尾
10gg
10G
跳到第10行
`` 这是两个 back quote,在键盘上是ESC下边那个键。
回到光标跳转前的位置
H 跳到屏幕上的第一行
M 跳到屏幕的中间行
L 跳到屏幕上的最后一行
gk 屏幕所见的上一行
gj 屏幕所见的下一行

 

在Vim的命令模式下,有很多移动光标的命令,带给我们很大的便利。最常用的莫过于0$ ,把光标定位在行头和行尾。

常用的还有G 把光标定位在文件尾,gg 回到文件头。在这两个命令前面加一个数字就可以去到那一行,例如10gg 会带你去到第10行。

`` 的作用是回到光标跳转前的位置。例如,假设光标现在在第10行,按 G 去到文件尾,再按 `` 就可以回到第10行。

如果你发觉有时候kj 不是很好用(按一下就跨越屏幕上的几行),可以试一下用gkgj

 

scrolling -- 滚屏与翻页

滚屏与翻页 (scrolling) -- 精选命令 命令 功能
zt
z回车
把光标所在行移到 屏幕顶端
z. 把光标所在行移到 屏幕中间
zb 把光标所在行移到 屏幕底部
CTRL-E 向下滚屏一行(往下阅读文档)
CTRL-Y 向上滚屏一行(往上阅读文档)
CTRL-F 往前翻一页
CTRL-B 往后翻一页

光标定位命令给文档编辑操作带来方便,而滚屏和翻页命令则让我们在阅读文档时感到舒适。

强烈推荐 以下几个按键映射:

:map <Space> <C-F>
:map <S-Space> <C-B>
:map <CR> <C-E>
:map <UP> <C-Y>
:map <DOWN> <C-E>

特别是第一个映射:map <Space> <C-F> ,设置后就可以用空格键翻页了,很是方便。另外几个映射的作用是:用Shift-Space向上翻页,按回车键向下滚屏一行、按上下箭头进行向上向下滚屏。

 

 

yank, put, delete, registers -- 复制、粘贴、剪切

复制、粘贴、剪切 (yanking, registers) -- 精选命令 命令 功能
dd 删除当前行
yy 复制当前行
d$ 删除从光标位置到行尾的内容
yt< 复制从光标位置到下一个“<”前的内容
(另外,ct< 修改从光标至“<”前的内容,在编辑HTML、XML文件时很方便)
"x复制 把复制内容放进寄存器x
(x可以是26个英文字母之一,区分大小写)
"xp 粘贴寄存器x的内容
"+ 特殊寄存器,读写系统剪贴板
:reg 查看各个寄存器的内容

复制、粘贴、剪切,是编辑文档时常用的招数。在Vim里所有删除的内容都会进入Vim的寄存器(registers),所以可以把删除操作看成是剪切操作。

x , dd , yy 是很常用的命令,在这里就不多说了。复制或剪切多行内容可以在 dd 或 yy 前面加数字,例如可以用5yy 复制5行。

不过我更喜欢借助可视模式 (Visual mode)来进行复制剪切操作。先按vV 进入可视模式,然后移动光标选中要复制或剪切的内容,最后按d 剪切或者按y 复制。

在复制前可以先指定一个寄存器,方法是在双引号后跟一个字母,例如"a 指定了寄存器a,"B 指定了寄存器B。所以,"ayy 把当前行放进了寄存器a,以后就可以用"ap 来粘贴寄存器a里的内容了。如果不确定寄存器里放了什么内容,可以使用:reg 来查看。

Vim提供了一个很有用的特殊寄存器"+ ,它的内容就是系统剪贴板的内容。比如,在 firefox 里用 Ctrl-C 复制的内容就会出现在 "+ 里,可以在Vim里用"+p 粘贴出来。也可以在Vim里把复制或剪切的内容放进 "+ 里,然后在其它GUI程序里用 Ctrl-V 进行粘贴。

search, substitute - 查找、替换 (未完成

查找、替换(search, substitute) -- 精选命令 命令 功能
* 查找光标所在的单词
(这里的单词是指以空白字符或标点符号分隔开的字符串)
:set ignorecase 不区分大小写
:set ignorecase smartcase 自动区分大小写。输入全是小写时不区分大小写,输入中只要有大写字母就区分大小写。
:set hlsearch 打开 高亮显示匹配字串
:nohlsearch 暂时关闭高亮,下次查找时自动高亮
:set nohlsearch 关闭 高亮显示匹配字串

人们常喜欢举出用Vim查找、替换的例子来说明Vim的强大,可见该功能的有多重要。查找、替换的核心内容其实就是正则表达式 (regular expression),它的功能非常强大,但是不容易掌握。幸好我们不用把正则表达式完全学会才能使用它,只要学点简单的皮毛,就受用无穷了。

在Vim自带的帮助文档(:help 03.9)里说道:

The Vim editor uses regular expressions to specify what to search for. Regular expressions are an extremely powerful and compact way to specify a search pattern. Unfortunately, this power comes at a price, because regular expressions are a bit tricky to specify.

目前我只收集了少量技巧,以后在使用Vim的过程中还要不断学习,不断增加。

建议初学者先学习:help 03.8:help 03.9 ,再学习:help usr_27

下面说一些实例。

/http://\f* 可以匹配一个普通的网址(不含 ? & 等符号的网址),所以:s%http://\f*%<a href="&">&</a> 可以把http://kikistar.com 替换成<a href="http://kikistar.com">http://kikistar.com</a>

如果网址中含有 ? & 等符号,例如http://www.newsmth.net/bbscon.php?bid=731&id=16603 ,把正则表达式稍微修改一下就行了: :s%http://\(?\|&\|\f\)*%<a href="&">&</a>

buffers -- 多文件操作

多文件操作(buffers) -- 精选命令 命令 功能
:buffers
:ls
显示buffer列表
:bn 转到下一个buffer
:bp 转到上一个buffer
:b 3 转到编号为 3 的buffer
:b index.html 转到名为index.html的buffer
:sav 另存为……
:set hidden 切换buffer时不给出保存当前buffer的提示
CTRL-G 查看当前buffer状态信息,如文件名、总行数、修改后未保存等。

在Vim里可以同时编辑多个文件,每个文件占用一个 buffer。

:buffers:ls 的作用是一样的,可以得到一个像下面那样的列表:

:ls
  1      "doc2xhtml.xsl"                line 1
  2 #    "document.css"                 line 1
  3 %a   "vimtips.xml"                  line 32

在各个buffer之间跳转有很多方法,可以用 :b 1 转到编号是 1 的buffer,也可以用 :b document.css 转到名为document.css的buffer。输入这个命令时,buffer名字可以用TAB键自动保全,很方便。此外还有两个我比较爱用的命令:

:bn		转到下一个buffer
:bp		转到上一个buffer

在buffer间跳转时,如果当前buffer内容编辑后未保存,Vim会要求你先保存。如果不保存,必须在命令后加 ! 强行跳转。

有一个命令可以使得在buffer间的跳转更方便,就是

 :set hidden 

这样设置后,在buffer之间跳转就不用先保存,也不用加 ! 了。但是,用了这个设置后使用:q! 时要加倍小心。我的建议是,用了:set hidden就不要用:q!,习惯了用:q!就不要用:set hidden了,数据永远比一时方便更重要。

 

 

参考资料:

补充:http://www.ibm.com/developerworks/cn/aix/library/au-speakingunix_vim/ 【操作更详细】

         http://hi.baidu.com/smilewwh/blog/item/2fd27baf445106fffaed5057.html[参数说明]

分享到:
评论

相关推荐

    vim 常用操作表

    vim 常用操作 简单明了,一看就懂 自己整理的,分享给大家

    vi-vim 键盘操作图

    vi-vim 键盘操作图,转载 可以为有效的

    vim命令操作大全

    本图片包含大量的常用vim使用命令和操作,而且对所使用的命令进行了分类,方便查阅

    linuxvim操作图片

    linuxvim操作图片linuxvim操作图片linuxvim操作图片linuxvim操作图片

    vim基本操作

    vim编辑器操作

    VIM教程 vim操作手册

    VIM教程.pdf 详细的教你怎么使用vim工具,这是一个强大的编辑工具,值得学习

    vi&vim常用操作学习

    Ubuntu学习笔记\vi&vim vi&vim常用操作学习笔记 希望对字符向往者有帮助

    vim操作键盘图

    vim各个操作按键在键盘上的分布图,包括保存,退出,打开文件,全局替换等等命令,方便记忆!

    vi/vim操作命令键盘图

    vi/vim操作命令对应的键盘位置图,很方便好用哦

    Vim用户手册中文版7.3.pdf.zip_vim 7

    进行示例性的操作,在学习 Vim 众多精致的技巧时,不要贪图一下子全都 掌握,最好是看一条技巧后,马上在编辑器上进行操作,这样在以后实际的 编辑操作时你的手指就会建立一种自然的反应而不是由头脑来搜索该使用 哪...

    vim 基本操作指导示例

    vim 基本操作指导示例

    VIM 编辑器操作指南.doc

    Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选...

    vim手册中7.2

    读者可以通过本章来了解本手册是如何解释 Vim 命令的。 手册的两个部分 Vim 的手册分成两个部分: 1. 用户手册 面向任务的使用说明书,由简入繁,能象书一样从头读到尾。 2. 参考手册 详细描述 Vim 的每一个命令的...

    vim 中文版 操作手册

    vim 中文版 操作手册 里面详细介绍了vim的常用快捷键

    vim操作大全

    本章提供足够的信息使你用够使用 Vim 来做基本的编辑。花些时间去练习这些命令,这是后面的知识的基础。里边的东西通俗易懂,还有小例子跟进,绝对是vim学习和使用的有力工具

    vim操作键盘一对一图像

    vim软件操作的简介,以键盘的形式呈现出来,看起来直观简洁

    vim操作,打印出来可以直接参考

    文档里是vim操作的全部详细的图片,对于经常使用linux的人来说简直是方便至极

    VIM快捷键 VIM插件

    VIM快捷键 VIM快捷键 VIM插件 VIM快捷键 VIM插件

    vim快捷操作组合及说明

    linux vim快捷操作

Global site tag (gtag.js) - Google Analytics