sponsor Vim development Vim logo Vim Book Ad

nosyntaxwords : find words that are not syntactically highlighted in current buffer

 script karma  Rating 0/0, Downloaded by 1146  Comments, bugs, improvements  Vim wiki

created by
Alexey Radkov
 
script type
utility
 
description
This plugin provides commands to find words that are not syntactically highlighted in current buffer. I mostly used them to debug vim syntax engine / ctags / plugin TagHighlight etc.

Commands:

:NextNoSyntaxWord - find next word that is not syntactically highlighted.
:GetNoSyntaxWords - get list of words that are not syntactically highlighted and show it.

The list is stored in buffer variable b:nosyntaxwords and it can be shown again by issuing command

:echo b:nosyntaxwords

Due to difference between algorithms 'normal w' and 'expand("<cword>")' that are used in implementation of the plugin, global variable g:NswSkipSymbols was involved. This variable is a dictionary that contains lists of special symbols for specified filetypes that are supposed to be not syntactically highlighted for this filetype and must be skipped when using 'normal w', otherwise they will be included in the list or, even worse (if they do not belong to 'iskeyword' list), following them words will be included in the list.
                                                                          
By default g:NswSkipSymbols has support for filetypes 'c', 'cpp', 'python', 'perl', 'vim' and 'tagbar', but if needed this can be extended for using with other filetypes, default symbols for a supported filetype can be changed as well. For example, to add support for filetype 'ruby' put in your .vimrc lines

let g:NswSkipSymbols = {}
let g:NswSkipSymbols['ruby'] = ['(', ')']       " whatever else

To use this plugin efficiently i recommend to use following mappings:

nmap <silent> ,vv  :echo synIDattr(synID(line("."), col("."), 1), "name")<CR>
nmap <silent> ,vn  :NextNoSyntaxWord<CR>
nmap <silent> ,vl  :GetNoSyntaxWords<CR>

(mapping ,vv is for showing syntax class of word under cursor and does not refer directly to this plugin).
 
install details
put the script in plugin directory
 

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
nosyntaxwords.vim 0.1 2012-05-10 7.0 Alexey Radkov Initial upload
ip used for rating: 44.220.184.63

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
   
Vim at Github