如何在Vim中快速引用/取消引用单词并更改引用(例如从“到”)?我知道环绕的事。vim插件,但我想只使用vim。
当前回答
这里有一些简单的映射,可以用来引用和取消引用一个单词:
" 'quote' a word
nnoremap qw :silent! normal mpea'<Esc>bi'<Esc>`pl
" double "quote" a word
nnoremap qd :silent! normal mpea"<Esc>bi"<Esc>`pl
" remove quotes from a word
nnoremap wq :silent! normal mpeld bhd `ph<CR>
其他回答
对于VSCodeVim、Neovim和Macvim的用户,可以这样做
vwS"
你可以用你想用的任何东西来代替“”。 你可以用任何其他选择运算符替换w
我不知道任何内置的vim命令,但使用r"f'r"从'到'和r'f"r'从'到'工作,如果你站在第一个'或'。命令r'将光标下的任何字符替换为',f“将您向前移动到下一个”。
这个怎么样?
:%s/\'/"/g
宏观的方式!
按q和q记录到q寄存器(我们用“q”作为快捷键来记住“引号”)。 按shift + b移动光标到当前单词的前面 按I输入'(单引号) 按esc键,然后按e键移动到单词的末尾 按a,然后再按',用引号包围单词。 按esc键进入正常模式。 最后按q将其记录到q寄存器中。
如何使用
移动光标到所需的单词。 按@q将单词用引号括起来。 如果你想把它重复成另一个单词,请按@@。
你可以修改步骤4任何你喜欢的{一行,一个词,直到找到一些字符,等等}。
使记录的宏持久
打开. vimrc 转到文件末尾 切换到插入模式。输入这个使它持久:
let @q='ctrl + r ctrl + r q'
保存并退出 打开你的文件,翻到一些单词 现在按@q
如果你做得正确,神奇的东西应该出现在你的话语中。
您可以将此应用于您喜欢的其他宏。
在选定的文本块周围添加单引号的可视化模式映射示例:
:vnoremap qq <Esc>`>a'<Esc>`<i'<Esc>
推荐文章
- 如何在Vim注释掉一个Python代码块
- 如何在可视块模式插入?
- 强迫自己掌握vi的最好方法是什么?
- 如何回到行之前编辑的最后一个在Vim?
- 如何跳转到一个特定的人物在vim?
- 如何删除一个大的文本块而不计算行?
- 在Vim/Vi中,如何将光标移动到前一个单词的末尾?
- 如何在vim中自动删除尾随空格
- 为什么Vim使用~扩展名保存文件?
- 如何在Vim或Linux中将空格转换为制表符?
- 我如何使用vimdiff来解决git合并冲突?
- 在Vim中删除当前缓冲区的文件名/路径
- Git在终端提交时打开VIM,但无法返回终端
- 请参阅编辑器中的换行符和回车
- 如何在NERDTree中显示隐藏文件(以句点开始)?