一些简单的vim命令

时间:2013-02-16 00:33:29

标签: vim

抱歉,如果这不是一个编程问题。

我主要使用Vim来编辑我的程序。所以我对所有Vim专家的问题是:

  1. 有没有办法在Vim中选择和滚动?我想要复制一堆代码,并且在传递中我总是复制我在vim屏幕上可以查看的所有内容然后将其粘贴到任何地方,然后向下滚动然后复制并粘贴..重复...完成。有没有办法可以有效地复制大块代码?

  2. 格式化代码行 - 你知道当你复制并粘贴一些代码时,10行代码变成了30行代码真正凌乱吗?那么,是否有重新格式化代码的命令?在通行证中,我手动返回并正确缩进所有有时候当你有500行时超重复的东西。我在其他网站上看到有关命令为1G = G的某些人可以确认吗?当我在命令行中尝试它时,我收到一个错误E464: ambiguous use of user-command line,我不知道这意味着什么。

  3. 我知道Vim中有一个帮助命令,但我不知道在有200个txt文件之类的地方甚至可以启动,坦率地说这更快:)

4 个答案:

答案 0 :(得分:3)

您的问题与vi / Vim的基本用法有关。帮自己一个忙,并通过Vim教程;你会在网上找到很多,而Vim附带了它自己的介绍, vimtutor

  

在Unix上,如果已经正确安装了Vim,你可以从shell启动它:

     

VIMTUTOR

     

在MS-Windows上,您可以在Program / Vim菜单中找到它。或者执行   $ VIMRUNTIME目录中的vimtutor.bat。

另外,了解如何查找命令并导航内置:help;它是全面的,并提供了许多提示。你不会像其他编辑那样快速学习Vim,但如果你致力于不断学习,那么它将成为一个非常强大和高效的编辑器。

答案 1 :(得分:2)

vim的方法是完全忘记使用鼠标选择超过一个屏幕,但要设置标记,移动到所需文本的另一端,然后猛拉到标记:

  1. 使用mm
  2. 在文本开头设置标记m
  3. 移至文字末尾
  4. y'm
  5. 标记
  6. 使用Pp
  7. 粘贴

答案 2 :(得分:1)

如果您可以使用注册+作为剪贴板,那么整个答案才有用。在VIM中尝试"+yy,尝试将其粘贴到另一个应用程序中,看看是否可以使用剪贴板,如果可以的话:

您应该阅读手册和其他帮助:
划线(简单):http://vim.wikia.com/wiki/Moving_lines_up_or_down
解决问题:Addressing in VIM
那就是开始。

您可以做的一些例子:
:.,+50y a从当前的50行开始,向前50次注册a,使用A代替附加到注册A. :.,/some pattern/y A从当前到第一行匹配/某些模式/注册a。() "Ay/some pattern<CR>会做同样的事情。

一旦你学会了如何处理,就很容易将命令与寻址结合起来,例如: “缩进命令”=
=}自动缩进到当前段落的结尾 =/some pattern<CR>自动缩进到行匹配/某些模式/
在可视模式下标记某些内容并键入=它将自动缩进所选文本。

等等......所以阅读手册,你会很好地利用它 在上面的示例中,您可以使用注册+来“拉”到剪贴板而不是注册a

答案 3 :(得分:1)

如果没有重新粘贴文本而粘贴在VIM中,请尝试

:set paste

在粘贴之前。

使用:set nopaste将其关闭。

另外,请务必粘贴insert mode

如果您正在寻找高级VIM命令,那么我的blog post可能有帮助。

相关问题