我在NetBeans中工作并喜欢此功能:将光标放在变量名中时,突出显示变量的所有出现次数。这对于快速搜索变量的所有出现非常有用。是否有可能将此行为添加到Vim?在NetBeans中突出显示Vim中光标下的变量
回答
如果设置
:set hlsearch
突出显示搜索模式的所有事件,然后用*
或#
找到你的光标下的单词的出现,将会给你一些方法你想要什么。不过,我认为语法感知的变量突出显示超出了VIM的范围。
您的解决方案非常棒!唯一的问题是当我使用*光标跳转到下一个搜索结果。难道不能将光标保留在当前单词上吗? – Meysam 2011-05-10 04:59:33
@Meysam - 你可以创建一个简单的映射,只是(未经测试):nmap
我认为你真正想要的是以下插件Shuhei久保田:
http://www.vim.org/scripts/script.php?script_id=4306
根据其描述:“这个剧本突出了光标像许多IDE下的话。”
干杯。
此语句将允许一个变量来启用/禁用突出光标下的单词的所有出现:
:autocmd CursorMoved * exe exists("HlUnderCursor")?HlUnderCursor?printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\')):'match none':""
一会激活与突出:
:let HlUnderCursor=1
并关闭之:
:let HlUnderCursor=0
人们可以很容易地定义一个启用/禁用快捷键吴亮:
:nnoremap <silent> <F3> :exe "let HlUnderCursor=exists(\"HlUnderCursor\")?HlUnderCursor*-1+1:1"<CR>
删除变量将阻止匹配语句从执行,而不是清除当前亮点:
:unlet HlUnderCursor
如果你不想突出语言的话(报表/ preprocs如if
,#define
)当你的光标在这些的话,你可以根据@too_much_php答案把这个功能您.vimrc
:
let g:no_highlight_group_for_current_word=["Statement", "Comment", "Type", "PreProc"]
function s:HighlightWordUnderCursor()
let l:syntaxgroup = synIDattr(synIDtrans(synID(line("."), stridx(getline("."), expand('<cword>')) + 1, 1)), "name")
if (index(g:no_highlight_group_for_current_word, l:syntaxgroup) == -1)
exe printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\'))
else
exe 'match IncSearch /\V\<\>/'
endif
endfunction
autocmd CursorMoved * call s:HighlightWordUnderCursor()
- 1. 如何正确突出显示VIM中的光标行?
- 2. 如何让vim突出显示光标下方的图案颜色变化?
- 3. 光标丢失为突出显示的文本 - Vim
- 4. 突出显示VIM
- 5. 在vim中突出显示docker命令
- 6. 突出显示VIM中的#defined值
- 7. 突出显示VIM中的任意行
- 8. Vim中的结构突出显示
- 9. vim中的JavaScript语法突出显示
- 10. 如何在Vim中突出显示或标记更改的行?
- 11. 如何突出显示Xcode光标?
- 12. Netbeans PHP/JavaScript突出显示
- 13. 如何获取vim中光标下高亮显示的组名?
- 14. 突出显示光标下的窗口的细节
- 15. Vim隐藏突出显示
- 16. Vim突出显示问题
- 17. Vim语法突出显示
- 18. Vim HereDoc突出显示
- 19. 在VIM折叠标题中突出显示语法
- 20. Flex TextArea - 如何突出显示光标下的行/行?
- 21. 使用jQuery来“突出显示”光标下的内容
- 22. Vim:使用范围突出显示C++变量?
- 23. Vim语法突出显示java中的标识符和函数
- 24. VIM不突出显示PHP文件,突出显示其他人
- 25. 在Vim中突出显示倒置图案中的匹配
- 26. 在vim中禁用HTML5文件中的突出显示错误
- 27. 如何在终端中突出显示vim中的关键字?
- 28. vim中光标下的空格
- 29. 变量只在声明中突出显示? (Emacs的c + +模式)
- 30. 如何在TextMate中突出显示变量的所有实例?
有没有一种方法来消除匹配错误? – UncleZeiv 2010-01-27 17:07:10
@UncleZeiv:我不太清楚你的意思是错误 – 2010-01-27 22:09:20
如果我将光标移到C样式注释(星号跟斜杠)的末尾,我得到E488:尾随字符:匹配IncSearch/\ <*/\> ',而且我甚至必须在继续之前按Enter键,非常烦人!我想它应该以某种方式逃脱,并且/或者至少可以找到一种方法来消除警告。无论如何伟大的提示。 – UncleZeiv 2010-01-28 14:28:20