如果出现在当前行中,则转到下一个符号,如果不是,则转到行尾

时间:2016-02-22 15:39:22

标签: vim

假设我有以下代码行,并且光标位于^符号所在的位置:

if i == 3: print()
     ^

我想创建一个nmap,使光标转到:,但缺少该特定符号,例如,如果代码为:

if i == 3

那么它应该到了行尾。那可能吗?

提前致谢!

2 个答案:

答案 0 :(得分:3)

您可以尝试搜索:或该行的结尾:

:nnoremap <C-e> /:\\|$<CR>

在末尾添加:nohl<CR>以禁用此搜索的突出显示。

答案 1 :(得分:1)

Mihai指出这是可能的,但我认为你不应该使用映射。

如果f:存在,请按:(“查找:”),否则只需按$(“行尾”) - 这样可以保持.vimrc清洁,你没有浪费任何映射,并可以通过其他方式从这些内置命令中获利,例如d$(“删除到行尾”),cf:(“更改文字直到包括:”)等等。

如果由于您只按一个键而:不存在,它还可以为您节省击键次数:)