在 vim 中按首字母在行之间移动

在 vim 中按首字母在行之间移动

有没有办法在 vim 中通过首字母在行之间移动,就像我们通常在当前行使用“f+字母”一样,例如:

 din          (tuple_hash_ack_data),       
 wr_en        (tuple_hash_ack_wr),        
 dout         (ack_fifo_data),       
 rd_en        (ack_fifo_rd),       
 empty        (ack_fifo_empty),        
 data_count   (tuple_hash_count),      
 almost_full  (tuple_hash_almost_full)  

首先光标停在第一行:

   din          (tuple_hash_ack_data),  

我想要跳到这一行:

   almost_full  (tuple_hash_almost_full)   

我想输入类似“fa”之类的内容,可以吗?

答案1

/^a将带您到下一行以“a”开头的行 - 在正则表达式语法中,^匹配行的开头,因此/^a搜索行的开头,紧接着是 a。

答案2

尤其是使用 时,可以通过(down) 和(up):set relativenumber导航到附近行的开头。请注意,和等命令也可以以 , 为前缀。[count]_[count]-jk[count]

答案3

当涉及到在窗口中移动时,你应该给插件精准跳跃 一个机会。我使用它与映射:

nnoremap ,f :call PreciseJumpF(-1, -1, 0)<CR>
vnoremap ,f <ESC>:call PreciseJumpF(-1, -1, 1)<CR>
onoremap ,f :call PreciseJumpF(-1, -1, 0)<CR>

因此我输入,f一个字符,然后所有出现该字符的地方都会突出显示。我只需输入相应的字符,光标就会跳转到那里。

相关内容