vim – 设置在向前和向后移动单词时跳过标点符号
发布时间:2020-12-15 21:45:11 所属栏目:安全 来源:网络整理
导读:当我使用 vim时,当我按w或b前进或后退时,我通常不想移动到标点符号.所以我想知道是否有设置或改变此功能的东西? 例如如果我有一些像这样的代码 object.method(args) 我的光标位于“对象”中的[o],然后我想要移动到“方法”中的[m],另一个移动到“args”中的
当我使用
vim时,当我按w或b前进或后退时,我通常不想移动到标点符号.所以我想知道是否有设置或改变此功能的东西?
例如如果我有一些像这样的代码
我的光标位于“对象”中的[o],然后我想要移动到“方法”中的[m],另一个移动到“args”中的[a].我不希望它落在[.]或[(]上.如果我想要移动到标点符号,我总是用f或F直接跳到它.我从未亲自当我通过单词时,我想转移到标点符号,我才意识到这真的让我烦恼. 解决方法
我也发现我想要一个更具包容性的运动,但不像W那样包容.特别是,我想要一个只考虑以字母数字字符开头的标记为重要的运动.
所以我想出了以下内容: " <SPACE> : forward to next word beginning with alphanumeric char " <S-SPACE> : backward to prev word beginning with alphanumeric char " <C-SPACE> : same as above (as <S-SPACE> not available in console Vim " <BS> : back to prev word ending with alphanumeric char function! <SID>GotoPattern(pattern,dir) range let g:_saved_search_reg = @/ let l:flags = "We" if a:dir == "b" let l:flags .= "b" endif for i in range(v:count1) call search(a:pattern,l:flags) endfor let @/ = g:_saved_search_reg endfunction nnoremap <silent> <SPACE> :<C-U>call <SID>GotoPattern('(^|&;)[A-Za-z0-9_]','f')<CR> vnoremap <silent> <SPACE> :<C-U>let g:_saved_search_reg=@/<CR>gv/(^|&;)[A-Za-z0-9_]<CR>:<C-U>let @/=g:_saved_search_reg<CR>gv nnoremap <silent> <S-SPACE> :<C-U>call <SID>GotoPattern('(^|&;)[A-Za-z0-9_]','b')<CR> vnoremap <silent> <S-SPACE> :<C-U>let g:_saved_search_reg=@/<CR>gv?(^|&;)[A-Za-z0-9_]<CR>:<C-U>let @/=g:_saved_search_reg<CR>gv nnoremap <silent> <BS> :call <SID>GotoPattern('[A-Za-z0-9_](&;|$)','b')<CR> vnoremap <silent> <BS> :<C-U>let g:_saved_search_reg=@/<CR>gv?[A-Za-z0-9_](&;|$)<CR>:<C-U>let @/=g:_saved_search_reg<CR>gv " Redundant mapping of <C-SPACE> to <S-SPACE> so that " above mappings are available in console Vim. "noremap <C-@> <C-B> if has("gui_running") map <silent> <C-Space> <S-SPACE> else if has("unix") map <Nul> <S-SPACE> else map <C-@> <S-SPACE> endif endif 我已经有很长一段时间了,我发现我使用< SPACE> /< C-SPACE>运动比w和W多得多;它在编码时似乎更有用.当然,您可以将命令映射到您认为有用或更合适的任何键. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- twitter-bootstrap – Bootstrap – 如何在navbar类中添加徽
- angular – 没有ChildrenOutletContexts的提供者(injection
- webservice组件选型:Axis,axis2,Xfire以及cxf对比
- VS Code 折腾记 - (7) 内置Debug功能深入【调教angular-cli
- Bootstrap笔记(二)
- angularjs – 在Restangular中发送GET参数
- 如何友好的启动Angular应用
- 【web service 】 wsimport 生成客户端代码调用webservice
- 如何使用angularJs检查用户是否有互联网连接
- 数组 – 如何使用角度2中的TypeScript过滤数组?