`
lg_techie
  • 浏览: 114334 次
  • 性别: 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[参数说明]

分享到:
评论

相关推荐

    vi-vim 键盘操作图

    **vi-vim 键盘操作图详解** vim(Vi IMproved)是一款强大的文本编辑器,深受程序员和系统管理员的喜爱。它的操作方式独特,注重效率,虽然初学者可能会觉得难以掌握,但一旦熟悉了其键盘操作,你会发现vim是...

    vim 常用操作表

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

    vim命令操作大全

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

    linuxvim操作图片

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

    VIM教程 vim操作手册

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

    vim操作键盘图

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

    vi/vim操作命令键盘图

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

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

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

    vim plugin vim changes to ide update

    【vim plugin vim changes to ide update】这一主题表明我们将探讨如何使用Vim插件来提升其作为集成开发环境(IDE)的功能。...在日常工作中,不断调整和完善vimrc,使其适应个人的编程风格,是提升Vim体验的重要步骤。

    vim离线rpm适用centos操作系统

    Vim(Vi Improved)是一款强大的文本编辑器,广泛应用于Linux系统中,包括CentOS操作系统。它以其高效、可配置和可扩展性而受到系统管理员和开发者的青睐。本压缩包包含的是Vim的离线安装包,适用于那些无法或者不便...

    vim 基本操作指导示例

    vim 基本操作指导示例

    notepad++使用vim插件

    将Vim集成到Notepad++中,可以使熟悉Vim操作习惯的用户在Notepad++环境下也能享受到Vim的强大功能。 标题"notepad++使用vim插件"指出,我们要讨论的是如何在Notepad++中安装和使用Vim插件。这个过程并不复杂,主要...

    VIM使用指南_推荐

    ### VIM使用指南知识点 #### 1. 引言与目标 VIM,全称Vi IMproved,是一种功能强大且广泛使用的文本编辑器,尤其在Linux/UNIX平台中备受推崇。...持续实践与探索将使VIM成为日常工作中不可或缺的强大工具。

    Linux中vim安装包

    Vim在命令模式下工作,通过键盘指令进行操作,虽然上手可能有些难度,但一旦熟悉,其高效性和灵活性将极大地提高工作效率。 **安装Vim** 在大多数Linux发行版中,可以通过包管理器来安装Vim。以下是在几种常见的...

    vim手册中7.2

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

    vim-configure.tar.gz_vim_vim_configure

    具体操作请参照插件的官方文档。 总的来说,"vim-configure.tar.gz_vim_vim_configure" 提供了一个基础框架,帮助你快速构建一个功能丰富的 Vim 环境。通过自定义和学习这些配置,你可以提升编程效率,享受更佳的...

    Linux vim 常用操作命令

    ### Linux Vim 常用操作命令详解 #### 引言 Vim(Vi IMproved)是一种高度可配置、高效的文本编辑器,它基于vi编辑器发展而来,是Linux及类Unix系统中最常用的文本编辑工具之一。Vim因其强大的功能、灵活的定制...

    vim操作键盘一对一图像

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

Global site tag (gtag.js) - Google Analytics