Scala 使'f='移动到其中一个=>;或⇒;
我在Vim中编辑了大量Scala代码,这意味着我在前往case语句的RHS(或其他任何地方)时大量点击了Scala 使'f='移动到其中一个=>;或⇒;,scala,vim,Scala,Vim,我在Vim中编辑了大量Scala代码,这意味着我在前往case语句的RHS(或其他任何地方)时大量点击了f=: 但是Scala支持unicode字符,这意味着很多人会使用⇒而不是=>,这使得f…成为一种痛苦。有人知道如何让f=移动到下一个=或⇒,以先到者为准?尝试将其添加到vimrc中: nmap f= :call search('=\\|⇒')<CR> nmap f=:调用搜索('=\\|⇒') 这将别名(映射)f=到对搜索函数的调用,该函数将跳转到下一个=或⇒的答案是您要求的
f=
:
但是Scala支持unicode字符,这意味着很多人会使用
⇒代码>而不是=>
,这使得f…
成为一种痛苦。有人知道如何让f=
移动到下一个=
或⇒代码>,以先到者为准?尝试将其添加到vimrc中:
nmap f= :call search('=\\|⇒')<CR>
nmap f=:调用搜索('=\\|⇒')
这将别名(映射)f=
到对搜索函数的调用,该函数将跳转到下一个=
或⇒
的答案是您要求的答案。另一个选项是使用有向图。您可以键入⇒在vim中,通过在插入模式下键入=>
进行编码>。您也可以将此有向图与f
命令一起使用(例如f=>
)。无需映射等,尽管键入可能有点不方便
我更喜欢此解决方案,因为它保留了其他操作员挂起的命令,如df=
,cf=
等,并允许使用F
,t
等。人们认真使用⇒
in code?@bamboon不是直接的,不是。但是使用scalariform并自动进行这种重写是相当常见的,它使代码更具可读性。类似地,nnoremap f=/⇒\\|=
@Conner,是的,但是因为我已经打开了hlsearch
,它也会突出显示every=和⇒ 在我的文件中。当然:)我花了很多时间想弄清楚如何定制f
和朋友,但这很好。谢谢,这太好了。太糟糕了,它不能很好地与集成代码>和其他运动。如果您想让它更像f
(坚持当前行),则使用一些可选参数来search()
:调用search('=\|⇒', '', 行('.')
。请参阅:帮助搜索()
。它不如那么方便
,但是你可以用@:
重复,然后用@
,这可能并不比f=
好。谢谢,但是f=>
可以更容易地查找另一个字符,而f
,t
(等等)可以代替这个字符
nmap f= :call search('=\\|⇒')<CR>