# vim中给变量添加双引号
vim中给变量添加双引号
文章目录
- vim中给变量添加双引号
- 方法一:手动快捷键-当前变量
- 方法二:手动命令-全局
- 方法三:自定义快捷键(当前变量)
你知道的,shell变量如果没有双引号,会有语法警告,也有一些风险
方法一:手动快捷键-当前变量
示例:timeout 1 nc ${DEVICE_HOST} "${SSH_PORT}"
- 选择需要添加引号的部分:
vi} #(visual inner block)会选中 {...} 块,不包括 { 和 }
va} #(visual around block)会选中 {...} 块,包括 { 和 }
vf} #(visual filed block) 会选中从 当前字符 到 } 的所有字符
- 执行相关命令:
> 按 s(也可以是c),输入 "<C-r>"" # s代表删除并进入插入模式;<C-r>"代表粘贴最近删除的内容;前后的"是需要输入的字符,也可以是其他
方法二:手动命令-全局
直接输入:
:%s/${[^}]}/“&”/gc
或
😒/${[^}]}/“&”/gc
方法三:自定义快捷键(当前变量)
在 ~/.vimrc 中定义命令:
" 变量添加双引号
" 当前变量添加双引号
nnoremap <leader>q F$vf}c"<C-r>""<esc>
" 当前行变量添加双引号
nnoremap <leader>ql :s/\${[^}]*\(:[-=][^}]*\)\?}/"&"/g<CR>
command! QuoteLineVar s/\${[^}]*}/"&"/g
" 全部变量添加双引号【:QuoteAllVar】
nnoremap <leader>qa :%s/\${[^}]*\(:[-=][^}]*\)\?}/"&"/g<CR>
command! QuoteAllVar %s/\${[^}]*}/"&"/gc