![](/img/trans.png)
[英]How can I show COMMAND mode in statusline when entering command-line mode ( “ : ” ) on VIM?
[英]how can i print vim register value in command line mode?
Hey i want to print javap java.lang.Object
in vim terminal but not for only 'Object' class but any class that i yanked in particular register.
let say i yanked word Integer
with "kyaw
in vim so i want to print output of javap java.lang.Integer
.
为此,我尝试了这个命令,但这不起作用。
:term javap "java.lang.${echo @k}"
但在 vim 终端中,它给了我类似的错误
zsh:1: bad substitution
我认为echo @k
在"
中不起作用,所以我要如何扩展特定的关键字,例如Object
或Integer
。
我认为将命令构建为字符串然后使用:execute
运行它更容易:
:execute 'term javap \"java.lang.'..@k..'\"'
或者
:execute printf('term javap \"java.lang.%s\"', @k)
请注意, "
使用反斜杠进行转义,而..
是字符串连接运算符。
在命令行中,使用:help c_ctrl-r
插入寄存器的内容。 在你的情况下:
:term javap java.lang.<C-r>k<CR>
这可以很容易地变成一个简单的映射:
nnoremap <key> :term javap java.lang.<C-r>k<CR>
并通过直接使用 cursor 下的单词进行改进,而不是在单独的步骤中拉动某些东西:
nnoremap <key> :term javap java.lang.<C-r><C-w><CR>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.