在Vim中,点按或将光标移动到您正在查看的位置?

48

我正在学习使用Vim。到目前为止,这是一次非常好的体验,我认为Vim的方法比基于GUI的文本编辑器通常要更强大。

然而,有一个功能我很想念。有时我需要阅读我的文档以纠正潜在的错误。如果我发现错误,我需要快速移动到错误位置,比如在句子中间。在标准文本编辑器中,我会暂时伸手去用鼠标指向/点击以将光标移动到此位置。

这很慢,在Vim中将花费更长时间。通常搜索单词不可行,因为它可能存在拼写错误或出现多次。我找到的最快速的方法是使用行号移动到行,然后跨越句子、单词和字母。但仍然比伸手到鼠标上指向并点击要慢得多。

我的问题有两个方面:是否有办法使用鼠标点击来移动Vim中的光标?我知道那不是真正的灵魂,但我认为偶尔可能会有用。如果没有,我是不是做错了什么? Vim用户通常如何处理移动到特定单词的问题,例如当您查看自己输入错误时,需要从光标当前所在位置远离的位置移动到单词位置?

谢谢


4
这种异端应该被踩,但你辩论得很好 ;) 翻译:这种错误的观点应该被反对,但是你的辩论很出色 ;) - mike3996
一旦你学会了搜索和光标定位功能,达到了肌肉记忆的程度,通常比从键盘移动手到鼠标再返回来要快...所以继续学习/练习。 - twalberg
在这种情况下使用鼠标没有问题,但我通常不用它。我的方法是将光标保持在我正在查看的文本附近,如果我想更改某些内容,我只需通过行移动到达该点,然后按下 we 键。这比“段落-句子-单词”需要更多的按键,但需要更少的思考。对我来说,Vim 的强大之处在于当您无需思考如何到达一个位置时,只需依赖简单、可重复的过程即可。(博客文章:http://andrewradev.com/2011/04/26/my-vim-workflow-basic-moves/) - Andrew Radev
2个回答

89
如果您的终端支持,可以添加

set mouse=a

将此代码添加到您的vimrc文件中将启用鼠标支持。


感谢您!对于其他的OS X用户:这在终端中不起作用,但在MacVIM中起作用。 - user1188374
7
iTerm2支持鼠标操作。最近几个版本的Mac OSX终端也支持鼠标操作(我不记得具体是从哪个版本开始支持,但我知道Mavericks和Yosemite支持)。 - FDinoff
4
顺便提一句,我正在运行OS X(10.10.5),在我的.vimrc文件中设置set mouse=a允许我使用鼠标滚轮滚动,但不允许我用鼠标左键单击移动光标。我正在使用OS X提供的默认shell(BASH)。 - ipatch
谢谢您发布这个。它真的起作用了。我一直在想是否可能,很高兴看到它能够工作。 - Jogendra Kumar
问题在于我无法以传统的方式进行复制和粘贴。如果有人有任何建议,请告诉我。同时,我需要更多地了解视觉模式。 - Sridhar Sarnobat

0

@FDinoff已经解决了你的第一个问题。让我对你的其他问题添加一些评论。我认为有一些有用的东西可以说,而不会陷入争吵。

如果没有,我是不是做错了什么?

这要看情况。我会说你正在使用错误的工具,或者期望错误的结果。

是的,vim是开源的,并且高度可定制。因此,最终您可以像使用nanoemacs或其他任何编辑器一样使用它。@FDinoff提供的解决方案就是一个例子。

然而,我建议您要么1)学习(无可否认的困难)vim的预期用法;然后您将看到在哪些上下文中使用vim-esque是有意义的: 一句话:安全。更长的答案:防止意外修改您不想修改的内容。或者2)完全切换到nano,或任何其他编辑器的GUI版本 - 包括vim

Vim用户一般如何处理距离当前光标位置很远的某个特定单词的移动问题,例如您在查找时需要回读您输入的内容以查找错误?
这就是问题所在:使用vim意味着使用cli。这反过来又意味着:使用已经存在了半个世纪并已经充分证明其有用性的传统工具。在这种情况下,您可以使用aspell。它是ispell的直接后代,它最初是在1971年编写的。
总之:使用"aspell mydoc.txt",您将进入一个基于文本的界面,使您能够快速轻松地更正任何拼写错误或将单词添加到您自己的字典中。
PS: 我总是寻找vim,并且讨厌某些发行版将其默认设置为诸如"mouse=a"之类的东西。但是,如果我现在要从头开始学习其中之一,我会选择emacs:对我来说,它有一个额外的奖励,即您可以使用它练习lisp。如果您喜欢编程语言,那是一件有趣的事情。

所以,回到我之前的那个句子,我会说这取决于你想学习vim的目的是什么。

由于任何一个编辑器的学习曲线都很陡峭且漫长,对于任何新手来说,您可能想查看类似this的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接