在此代码中:
printf "%-${field_length}s : %b%s${my_text_style_plain}\n" \
...
我的光标位于p
的{{1}}字母上。
我想在视觉上选择这个:
my_text_style_plain
序列 v a } 和 v a { 选择此项:
${my_text_style_plain}
如果没有方便地选择我想要的内容,我很乐意快速转到{my_text_style_plain}
或$
。
我知道我可以 F {但是当我处于多线功能的中间时,我经常需要“向后找到”封闭的支撑我想重命名它,所以这也许有用。
F {在这种情况下是有限的,因为它只会在同一行找到{
。
答案 0 :(得分:5)
如你所说, v a } 选择{my_text_style_plain}
(即使是多行)。
要快速选择前导$
,您可以执行 o 跳转到视觉选择的开头,然后 h 将其扩展为左边的字符。
当然,如果您需要做很多事情,可以将其映射到其他键。
答案 1 :(得分:2)
您可以执行此操作或将其添加到您的vimrc :(围绕变量)
onoremap av :<c-u>normal! F$vf}<cr>
这样你就可以:( $
和}
之间的光标)
cav - remove the ${foo} and switch to insert mode
dav - delete the ${foo}
yav - yank the ${foo}
答案 2 :(得分:1)
您可以创建一个简单的映射:
nnoremap <F6> F$vf}
答案 3 :(得分:0)
您也可以使用iskeyword+=$
来使Vim将美元符号识别为关键字。不过,这仅对$VAR
有用,而对${VAR}
没有帮助。
autocmd FileType sh setlocal iskeyword+=$
然后按viw
也将选择$
。与vim-surround结合使用时特别有用。