I’m a Python programmer, and, by convention, methods starting with a _ are private, and therefore should not be called outside of the class it belongs to.
I want a faster way for finding classes and public methods in Python (because I often have to dive into other people codes to investigate APIs), so I wrote a search, which is
/^ def [^_]\|^class
This works great when typed directly into Vim, but of course that takes too long to type. I’d like to map it to a key (say, t, since I don’t use it at all in Vim as it is now). So, I put this in my ~/.vimrc:
nmap t /^ def [^_]\|^class
But it’s not working: when I hit the t, Vim searches for the string as it is, instead of parsing the special characters (which are, in this case, ^, [^_] and \|).
Anyone knows how to write this mapping? I tried my luck in Vim Wikia, Google and all sorts of sources I could think of, no luck so far.
Thank you!
You have a problem with
\|: one layer of escaping is removed when:nmapitself is read, so you need another layer: use\\to say\.