高效率编辑器 VIM-操作篇

转载 2015年11月21日 13:52:05

插入操作

“i” — 从光标所在位置前开始

“I” –光标移到当前行的行首,然后在其前插入文本

“a”– 光标当前所在位置之后追加新文本

“A” –命令将把光标挪到所在行的行尾

“o” — 在当前行的下面插入新行

“O” — 在当前行的上面插入新行

移动操作

按字移动光标

在vim中,”字”有两种含义:

a. 广义的字,它可以是两个空格之间的任何内容。如:{int k;它只有2个字,一个是{int ,另一个是k;

b. 狭义的字,英文单词、标点符号和非字母字符(如$、%、^、&、*、(、)、-、+、{、}、[、]、~、|、\、<、>、/等)均被当成是一个字。上面那一行中就包括{、int、k、;这4个字。


vim中使用大写命令一般就是指将字作为广义来对待,使用小写命令就是作为狭义对待。

1. w和W命令:将光标右移至下一个字的字首,它们的区别是:w命令,把光标移到下一个字(狭义)的字首,W命令,将把光标移到下一个字(广义)的字首。

2. e和E命令(end of word):如果光标起始位置处于字内(即非字尾处),则该命令将把光标移到本字字尾;如果光标起始位置处于字尾,则该命令将把光标移动到下一个字的字尾。

3. b和B命令(backward):如果光标处于所在字内(即非字首),则该命令将把光标移至本字字首;如果光标处于所在字字首,则该命令将把光标移到上一个字的字首.


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

很多编辑器只提供了简单的命令来控制光标的移动(比如左、上、右、下、到行首/尾等)。VIM 则提供了很多强大的命令来满足你控制光标的欲望。当光标从一点移动到另外一点,在这两点之间的文本(包括这两个点)称作被“跨过”,这里的命令也被称作是 motion。(简单说明一下,后面会用到这个重要的概念)

这里是常用到的一些命令(motion):

fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。

tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)

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

w:光标往后移动一个词。

b:光标往前移动一个词。

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

$:移动光标到行尾。

):移动光标到下一个句子。

( :移动光标到上一个句子。


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

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

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


高效的输入

使用多重剪贴板

很多编辑器都只提供了一个剪贴板。VIM 有很多。剪贴板在 VIM 里面被称为寄存器(Registers)。你可以列出当前定义的所有寄存器名和它们的内容,命令为“:reg”。最好使用小写字母来作为寄存器的名称,因为大写的有些被 VIM 占用了。

使用寄存器的命令为双引号 “。

比如:我们要拷贝当前行到寄存器 k。你应该按 “kyy。(你也可以使用 V”ky。为什么这样也可以呢?)现在当前行应该已经存在了寄存器 k 里面直到你又拷贝了一些东西进入寄存器 k。现在你可以使用命令 “kp 来粘贴寄存器 k 里面的内容到你想要的位置。

避免重复

令人惊奇的 . 命令

在 VI 里面,输入 . (小数点符号),将会重复你输入的上一个命令。比如,你上个命令为“dw”(删除一个词),VI 将会接着再删除一个词。

使用数字

y3″ 将会拷贝从当前光标到第三个出现的引号之间的内容到剪贴板。

数字是扩展 motion 命令作用域非常有效的方法。

记录宏

有时候,你会发现你自己在文章的每段或者每行都重复相同的一系列动作。VIM 允许你记录一个宏来完成你的特殊需要。

qregister:记录宏到寄存器 register,这里 register 是任意的你的寄存器的名字。比如 qa,将会记录并且把宏存在寄存器 a 里面。

q:结束宏的记录。

@register:使用存在寄存器 register 的宏。比如 @a,将会使用存在寄存器 a 里面的宏。

必须要记住的是,宏只记录了你的系列按键并且重复执行它们。它们不是魔法。因为在 VIM 里面完成目的的方法有很多,所以有时候你要小心选择命令来记录你的宏。因为它们会在所有你要执行它的地方执行。

用 VIM 写代码

VIM 是一个用来写代码的绝好编辑器,因为它有一些特性是专门为程序员而设计的。这里是一些常用的:

]p:和 p 的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。试一下!

%:匹配花括号、方括号、括号等。在一个括号的上面,然后按 %,鼠标就会出现在匹配的另外一半括号处。

K:在 Man 里面查找光标当前所在处的词。

[+ctrl+d:  跳转到#define处

相关文章推荐

高效率编辑器 VIM-操作篇,非常适合 VIM 新手

虽然从很久前就开始用 VIM 了,但一直都是半调吊子,翻来覆去只用自己会的命令。最近为了提高书写代码的效率,还有 coding 时候的乐趣,又重新钻研了一下 VIM,发现了一篇很好的 VIM 入门的文...

高效率编辑器 VIM-操作篇,非常适合 VIM 新手

https://linuxtoy.org/archives/efficient-editing-with-vim.html/2 有效的移动大段的文本 使用可视选择(visual sel...

VIM高效率操作 (转载)

这篇教程写了在不同工作模式下使用VIM的一些基本技巧 -- 即插入模式(insert mode), 命令模式(command mode), 存取文件等。目的是帮助刚刚接触VIM的新手更加有效率的使用这...

VIM高效率操作(编辑整理)

这篇教程写了在不同工作模式下使用VIM的一些基本技巧--即插入模式(insertmode),命令模式(commandmode),存取文件等。目的是帮助刚刚接触VIM的新手更加有效率的使用这个出色的编辑...
  • ape_neu
  • ape_neu
  • 2012年05月16日 18:05
  • 463

vim扩展功能(高效率编程)使用学习笔记

基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面 VIM 就像一个“哑巴”编辑器一样。很多新手都会一直呆在插入模式里面,因为这样易于使用。但 VIM 的强大之处在于他的命令行模式!你会...

VIM的高效率移动指令

VIM的高效率移动指令 1、在插入模式之外 基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面 VIM 就像一个“哑巴”编辑器一样。很多新手都会一直呆在插入模式里面,因为这样易于...

高效率的使用VIM

虽然从很久前就开始用 VIM 了,但一直都是半调吊子,翻来覆去只用自己会的命令。最近为了提高书写代码的效率,还有 coding 时候的乐趣,又重新钻研了一下 VIM,发现了一篇很好的 VIM 入门...

高效率3D图形程序中的骨骼-皮肤系统实现

骨骼--皮肤动画技术是3D动画领域的一项比较高级的技术。由于其生动、逼真的效果,在影视制作、动态仿真等领域起着重要的作用。只有使用骨骼--皮肤技术,才能制作出广播级的动画作品。  顾名思义,骨骼--皮...
  • szygy
  • szygy
  • 2011年11月16日 10:40
  • 178

python--高效率文本操作

要写一个脚本进行简单的但是非常多的事情:即从一个文本文件中读出文本然后将其中的空格替换成分号。很简单的脚本但是可以体现脚本的强大。一、将下面的文本中你的空格符号替换成分号 二、写一段脚本#-*—co...

WindowsVista操作高效率让系统更精彩

与Vista系统有了短暂“零距离”接触之后,相信不少人会纳闷,除了外观比旧版本系统漂亮之外,Vista系统好像并没有什么“过人之处”,有的朋友甚至还感觉使用该系统没有其他系统那样便利。其实,Vista...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:高效率编辑器 VIM-操作篇
举报原因:
原因补充:

(最多只允许输入30个字)