Make vim highlight python builtins when they are not followed by a dot
Question: Is there a way to highlight built in Python functions in vim _only_ when they
are preceded by 1 more whitespaces? Furthermore, is there a modular way to do
this? That is, I don't want to edit every single `syn keyword
pythonBuiltinFunc abs chr ...` line, I just want to be able to say something
like `syn keyword pythonBuiltinFunc onlymatchafter="\s+"`?

EDIT:

Here's an example, since the two people who answered my question didn't seem
to understand what I was asking which is my fault for not being more clear.

When I write the following Python code

    
    
    import numpy as np
    x = np.abs(np.random.randn(10, 10))
    

The word `abs` gets highlighted simply because vim is essentially just
matching anything that has the word `abs` in it that is not inside of a
string. How can I get vim to highlight the Python builtins WITHOUT
highlighting them when they are preceded by a dot?


Answer: The matched text of `:syn keyword` can only be comprised of _keyword
characters_ ; though that set can be configured (`:setlocal iskeyword=...`),
it would be foolish to include whitespace in there.

You have two options: Either re-write all keywords with `:syn match` (which
can include whitespace), or make all keywords `contained` and define a `:syn
region` that only starts after whitespace.

Both are rather huge interventions that basically mean you're (re-)writing
your own Python syntax. You haven't told us **why** you'd want that... I'd say
it's a bad idea.

