vim - 寻找一种简单的方法来复制上方的单词并将其粘贴到Vim中的当前光标位置

标签 vim

我想知道是否有一个命令可以直接在光标上方复制一个字符或一个单词并将其粘贴到当前位置?

例子:

sig1   : in   std_logic;
sig2   : in   std_logic;
sig3   : ^

考虑以上情况,我的光标位于^位置,我想复制in std_logic;并将其粘贴到当前位置。我知道一种可行的方法是:
1. Move cursor up
2. Go into visual mode and highlight
3. Yank
4. Move cursor down
5. Paste

有没有更简单的方法可以做到这一点?还是我只剩下在vimrc中编写一个可以为我执行整个序列的映射的选项?

编辑:
我在互联网上找到了一个映射:
imap <F1> @<Esc>kyWjPA<BS>
nmap <F1> @<Esc>kyWjPA<BS>
imap <F2> @<Esc>kvyjPA<BS>
nmap <F2> @<Esc>kvyjPA<BS>

但是看来,格雷格的解决方案更简单!

最佳答案

在插入模式下,可以使用Ctrl + Y从上一行的相应字符位置复制字符。只需按住键,然后等待键盘重复,即可将您带到行尾。

关于vim - 寻找一种简单的方法来复制上方的单词并将其粘贴到Vim中的当前光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13446807/

相关文章:

Vim - 用可视模式交换列

regex - 如何在多个缓冲区/选项卡上运行命令以删除尾随空格?

linux - Vim 不会加载缓冲区中的文件(从特定工作目录执行时)

r - 如何让 R 中的原生 Vi 模式保持持久?

git - Vim:Fugitive:Glog - 如何获取当前文件的提交而不是修订

python - vim 中的 python 类成员没有 omnicompletion?

maven - 当前目录中存在 pom.xml 时将键映射到命令?

vim - 我可以在 Vim 中只使用普通模式和插入模式吗?

vim - 如何在 Vim 中对数字和文字列进行排序

python - Vim 和 python : context-unaware autocompletion of language methods