更改 vim 中光标后所选单词的所有出现
change all occurrence of word selected after the cursor in vim
如果我的 vim 光标位于某个单词上,并且我想更改该特定单词在光标位置之后的所有出现。
此外,如果我 select 使用可视模式的字符串,我必须更改光标位置后文件中出现的该字符串的每个位置。
如果您键入 cw
,您将更改从光标位置开始的单词。如果您想更改所有这些,您可以先点击 *
,这将搜索下一次出现的单词。然后,您可以交替按 n
转到下一个单词和按 .
重复更改单词。
您也可以做一个 %s/old/new/gc
并确认或拒绝每个事件。
您还可以创建一个映射,用光标下的单词填充替代命令,如下所示:
" substitute word under the cursor
nnoremap <LEADER>* :%s/\<<C-r><C-w>\>/
此映射包括单词边界 \<
和 \>
以确保您不会替换以光标下的单词中的字母开头的单词。例如。将光标放在单词 'shop' 上:
Go to the shop
to do some
shopping, then
go to another
shop.
按 Leader
+ *
给出:
:%s/\<shop\>/
添加您的替代品:
:%s/\<shop\>/store/g
按下回车键:
Go to the store
to do some
shopping, then
go to another
store.
我将这些映射用于需要更改的单词很少的情况:
nnoremap c* *<C-o>cgn
nnoremap c# #<C-o>cgn
Ctrl-o 确保当前单词将包含在替换中。有关更多信息,请参阅::h Ctrl-o
.
如果我的 vim 光标位于某个单词上,并且我想更改该特定单词在光标位置之后的所有出现。
此外,如果我 select 使用可视模式的字符串,我必须更改光标位置后文件中出现的该字符串的每个位置。
如果您键入 cw
,您将更改从光标位置开始的单词。如果您想更改所有这些,您可以先点击 *
,这将搜索下一次出现的单词。然后,您可以交替按 n
转到下一个单词和按 .
重复更改单词。
您也可以做一个 %s/old/new/gc
并确认或拒绝每个事件。
您还可以创建一个映射,用光标下的单词填充替代命令,如下所示:
" substitute word under the cursor
nnoremap <LEADER>* :%s/\<<C-r><C-w>\>/
此映射包括单词边界 \<
和 \>
以确保您不会替换以光标下的单词中的字母开头的单词。例如。将光标放在单词 'shop' 上:
Go to the shop
to do some
shopping, then
go to another
shop.
按 Leader
+ *
给出:
:%s/\<shop\>/
添加您的替代品:
:%s/\<shop\>/store/g
按下回车键:
Go to the store
to do some
shopping, then
go to another
store.
我将这些映射用于需要更改的单词很少的情况:
nnoremap c* *<C-o>cgn
nnoremap c# #<C-o>cgn
Ctrl-o 确保当前单词将包含在替换中。有关更多信息,请参阅::h Ctrl-o
.