Skip to main content
added 118 characters in body
Source Link
saginaw
  • 6.9k
  • 2
  • 27
  • 47

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. Let's say, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (let's say m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

Finally, if you have to define those matches regularly, you can gain some time by storing the commands that define them in a separate file and source it when needed.

For example, you could store the following code in mymatches.vim :

highlight MyGroup1 ctermbg=green guibg=green
highlight MyGroup2 ctermbg=blue guibg=blue

call matchadd("MyGroup1", "foo")
call matchadd("MyGroup2", "bar")

And source it with : :so mymatches.vim

Note that if one of your pattern is a double quote ", you should escape it "\"" or put single quotes around '"'.

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. Let's say, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (let's say m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

Finally, if you have to define those matches regularly, you can gain some time by storing the commands that define them in a separate file and source it when needed.

For example, you could store the following code in mymatches.vim :

highlight MyGroup1 ctermbg=green guibg=green
highlight MyGroup2 ctermbg=blue guibg=blue

call matchadd("MyGroup1", "foo")
call matchadd("MyGroup2", "bar")

And source it with : :so mymatches.vim

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. Let's say, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (let's say m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

Finally, if you have to define those matches regularly, you can gain some time by storing the commands that define them in a separate file and source it when needed.

For example, you could store the following code in mymatches.vim :

highlight MyGroup1 ctermbg=green guibg=green
highlight MyGroup2 ctermbg=blue guibg=blue

call matchadd("MyGroup1", "foo")
call matchadd("MyGroup2", "bar")

And source it with : :so mymatches.vim

Note that if one of your pattern is a double quote ", you should escape it "\"" or put single quotes around '"'.

deleted 4 characters in body
Source Link
saginaw
  • 6.9k
  • 2
  • 27
  • 47

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. For exampleLet's say, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (for examplelet's say m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

Finally, if you have to define those matches regularly, you can gain some time by storing the commands that define them in a separate file and source it when needed.

For example, you could store the following code in mymatches.vim :

highlight MyGroup1 ctermbg=green guibg=green
highlight MyGroup2 ctermbg=blue guibg=blue

call matchadd("MyGroup1", "foo")
call matchadd("MyGroup2", "bar")

And source it with : :so mymatches.vim

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. For example, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (for example m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

Finally, if you have to define those matches regularly, you can gain some time by storing the commands that define them in a separate file and source it when needed.

For example, you could store the following code in mymatches.vim :

highlight MyGroup1 ctermbg=green guibg=green
highlight MyGroup2 ctermbg=blue guibg=blue

call matchadd("MyGroup1", "foo")
call matchadd("MyGroup2", "bar")

And source it with : :so mymatches.vim

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. Let's say, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (let's say m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

Finally, if you have to define those matches regularly, you can gain some time by storing the commands that define them in a separate file and source it when needed.

For example, you could store the following code in mymatches.vim :

highlight MyGroup1 ctermbg=green guibg=green
highlight MyGroup2 ctermbg=blue guibg=blue

call matchadd("MyGroup1", "foo")
call matchadd("MyGroup2", "bar")

And source it with : :so mymatches.vim

added 471 characters in body
Source Link
saginaw
  • 6.9k
  • 2
  • 27
  • 47

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. For example, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (for example m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

Finally, if you have to define those matches regularly, you can gain some time by storing the commands that define them in a separate file and source it when needed.

For example, you could store the following code in mymatches.vim :

highlight MyGroup1 ctermbg=green guibg=green
highlight MyGroup2 ctermbg=blue guibg=blue

call matchadd("MyGroup1", "foo")
call matchadd("MyGroup2", "bar")

And source it with : :so mymatches.vim

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. For example, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (for example m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

I don't know if it's what you're looking for, but let's say you've got two patterns foo and bar, that you want to highlight in different colors.

First you need to define two highlight groups to set up the colors you want. For example, one with green background and the other one with blue background :

:highlight MyGroup1 ctermbg=green guibg=green
:highlight MyGroup2 ctermbg=blue guibg=blue

Next you need to define your two matches with the matchadd() function.
For example, you could apply the green background defined in the highlight group MyGroup1 to the pattern foo and the blue background defined in MyGroup2 to the pattern bar :

:call matchadd("MyGroup1", "foo")
:call matchadd("MyGroup2", "bar")

You can access all the information (highlight group, pattern, priority, id) about your matches with the getmatches() function:

:echo getmatches()

The id key is useful because its value allows you to delete a specific match with the matchdelete() function : :call matchdelete({id})

Besides, if you store the output of getmatches() inside a variable (for example m) :

:let m = getmatches()

... then you can clear your matches with the clearmatches() function :

:call clearmatches()

... and restore them with the setmatches() function afterwards :

:call setmatches(m)

Finally, if you have to define those matches regularly, you can gain some time by storing the commands that define them in a separate file and source it when needed.

For example, you could store the following code in mymatches.vim :

highlight MyGroup1 ctermbg=green guibg=green
highlight MyGroup2 ctermbg=blue guibg=blue

call matchadd("MyGroup1", "foo")
call matchadd("MyGroup2", "bar")

And source it with : :so mymatches.vim

added 296 characters in body
Source Link
saginaw
  • 6.9k
  • 2
  • 27
  • 47
Loading
added 68 characters in body
Source Link
saginaw
  • 6.9k
  • 2
  • 27
  • 47
Loading
Source Link
saginaw
  • 6.9k
  • 2
  • 27
  • 47
Loading