簡體   English   中英

如何在命令行模式下打印 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"中不起作用,所以我要如何擴展特定的關鍵字,例如ObjectInteger

我認為將命令構建為字符串然后使用: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM