首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有类似于Emacs‘Isearch的Vim文件中移动的方法?

是否有类似于Emacs‘Isearch的Vim文件中移动的方法?
EN

Stack Overflow用户
提问于 2012-06-03 20:27:40
回答 3查看 272关注 0票数 0

我使用Vim已经有一段时间了,我觉得我终于变得“流利”了,但是我看到的一些功能列表、视频和其他东西(尤其是Tim Visher在Emacs系列中的Vimgolf )确实说服了我去尝试一下Emacs。

所以在过去的一周里,我几乎一直在使用Emacs。我真的很想念Vim中我熟悉的一些概念(主要是动作-运动风格,比如ci"等),但是我在Emacs中真正学到的一件事是使用Isearch移动文件的方式。

例如,如果我想移动到一个调用函数fn的行,并且在点和我想要移动的位置之间还有两个'fn‘的其他实例,我将执行C-s fn C-s C-s。如果我想在Vim中做同样的事情,我必须做一些像/fn <CR> n n :noh <CR>这样的事情,这一点都没有那么好,所以我可能只需要检查行号并执行#G wwwww...

所以我的问题是:有什么方法可以模仿Emacs在Vim中搜索的效率吗?它不需要使用搜索,我只是在寻找其他的东西,而不是累赘的上线和转发我上面描述过的几个单词。

编辑:有效Emacs中的第4项很好地描述了我想要完成的任务。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-05 10:29:37

您可以使用这个密钥映射:cnoremap <C-s> <Cr>/<C-p>来模拟Emacs。

虽然Vim有比搜索更好的移动方式。你试过标签了吗?

我还建议使用EasyMotion插件在文本的可见区域快速移动。

票数 1
EN

Stack Overflow用户

发布于 2012-06-03 23:20:23

链接中描述的正是我在Vim中的主要移动方式:/foo<CR>nn用于增量正向搜索,?bar<CR>nn用于增量反向搜索。

<C-s>foo<C-s><C-s><C-r>foo<C-r><C-r>中,我看不出有什么更有效:那是更多的击键!

不管怎样,我认为:set hlsearch是你的问题。如果所有的匹配都包含在视图端口中,这是可以的,但是,一旦一些匹配被隐藏,它就会变得无用。我没有set hlsearch,所以/foo<CR>对我来说正好相反。

另外一个问题是(至少)在同一个文件…中有三个同名函数

Vim有非常好的文本对象:}]m,它们在第一次查看某些代码时非常有用。

票数 2
EN

Stack Overflow用户

发布于 2012-06-03 20:29:39

我想你是在找

代码语言:javascript
复制
set incsearch

你可以把它和

代码语言:javascript
复制
set hlsearch

为了更好的结果。

还有"*",这很棒。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10873704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档