求助, vim 相关 (括号跳转)

138 天前
 loganovo

vim 中的四个按起来很舒服的键 ,好像是默认按照 C 语言的语法规则来的

[[ ,   ]] ,   [] ,   ][ 

经测试,功能如下:

[[                  # 跳转到上一个行首是{的那一行  
]]                  # 跳转到下一个行首是{的那一行
[]                  # 跳转到上一个行首是}的那一行  
][                  # 跳转到下一个行首是}的那一行

一、问题是我写 java 代码的时候:

  1. { 通常只会在行尾;

  2. } 前可能会有缩进 ;

所以 vim 的默认功能好像不适配...我想问一下是我食用方式不够正确吗?

二、会不会在 ideavim 中会有优化呢? 目前我测试好像和 vim 一样的情况;

三、为了解决这个问题,我配置了:

" 跳转到上一个成员函数开头(光标移动到{那里)
nnoremap [[   [m

" 跳转到下一个成员函数开头(光标移动到{那里)
nnoremap ]]   ]m

" 跳转到上一个成员函数结尾(光标移动到}那里)
nnoremap []   [M

" 跳转到下一个成员函数结尾(光标移动到}那里)
nnoremap ][   ]M

用起来还不错,但是怕会影响其他功能, 所以想问一问有没有其他的优化方式或者插件, 尤其是在 ideavim 里面.

692 次点击
所在节点    程序员
2 条回复
billlee
138 天前
为什么会影响其他功能呢?
fanhed
138 天前
1. 关于这个功能, 我也不是太熟, 可以具体看看帮助文件 :h [[
2. 至于你说会不会影响其他, 应该是会的. 因为在不同类型的源文件中 [[ 的行为会有所变化, 例如其他插件会 remap 这个行为之类, 不过只要你使用过程中没有发生异常就不用管, 出了问题你再调试再改就行了, 这是 vim/nvim 的使用日常.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1051887

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX