Skip to content

hauleth/sad.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Seek and Destroy

Simple Vim plugin that allows you to quickly search and replace occurrences of text.

Visualisation

Visualisation

Description

This plugin provides quick search and replace mapping. Example

ab|ba <- `|` denotes cursor
baba
abba

After siwtest<ESC> looks like:

|test
baba
abba

Nothing impressive? I agree, the same could be achieved via ciwtest<ESC>, but everything changes after you press ..

test
baba
|test

Wooot? What kind of magic is that? Oh, and this also works on visual selections. Nice.

Also by the chance (and because it is also part needed for this plugin) it provides visual * and #.

FAQ

But what about default s and S behaviour?

Just use c_ or cc.

But what about interference between this and vim-sneak?

Create your own maps:

" Normal mode
nmap <leader>s <Plug>(sad-change-forward)
nmap <leader>S <Plug>(sad-change-backward)

" Visual mode
xmap <leader>s <Plug>(sad-change-forward)
xmap <leader>S <Plug>(sad-change-backward)

Are there any easter eggs about name?

Not yet. And ever if there would be, then what is the point in telling you anyway?

Why not multiple cursors?

Except obvious corner cases like out of view cursor multiple cursors doesn't play well with gap buffers that are used in Vim and Emacs.

Todo

  • allow setting register which will contain changed text
  • do not remap s and S if there already exist any mapping
  • turn search highlight right after s{movement}

About

Quick search and replace for Vim

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published