vim在多行之前粘贴多行,无空白
假设我有两个街区:vim在多行之前粘贴多行,无空白,vim,copy-paste,Vim,Copy Paste,假设我有两个街区: 1 23 456 hello.. world world codecode 然后我需要这个块(介于1和hello之间,中间没有空格): 最好的快捷方式是什么 我在WindowsXP和Windows7上使用了gvim7.3.46 这是我的 set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin set diffexpr=MyDiff()
1
23
456
hello..
world world
codecode
然后我需要这个块(介于1和hello之间,中间没有空格):
最好的快捷方式是什么
我在WindowsXP和Windows7上使用了gvim7.3.46 这是我的
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
我使用了
C-q
,y
,C-p
,结果是:
1
23
456
1 hello..
23 world world
456codecode
1
上
进入可视块模式456
并点击$
选择整个块y
猛拉那个方块hello
中的h
上p
1
上
进入可视块模式456
并点击$
选择整个块y
猛拉那个方块hello
中的h
上p
我会使用视觉块模式。这样做:
进入可视块模式$
将所选内容扩展到行尾d
删除第一个块。这也将复制它P
,将第一个块粘贴到第二个块之前,中间没有空格第一行范围将为空,因此如果不需要,则必须删除这些行。我将使用视觉块模式。这样做:
进入可视块模式$
将所选内容扩展到行尾d
删除第一个块。这也将复制它P
,将第一个块粘贴到第二个块之前,中间没有空格然后,第一行范围将为空,因此,如果不需要,则必须删除这些行。使用递归宏在两个块之间来回跳转,删除和连接行:
qq}jdd''pkgJj@qq
值得注意的击键:
跳回到您最近从”
从@q
的定义内部调用宏q
q
将两行连接在一起,两行之间没有空格gJ
使用递归宏在两个块之间来回跳转,删除和连接行:
qq}jdd''pkgJj@qq
值得注意的击键:
跳回到您最近从”
从@q
的定义内部调用宏q
q
将两行连接在一起,两行之间没有空格gJ
按照你说的方法,我得到了1个hello。。(在问候之前加空格)23世界世界(在世界之前加空格)456codecode有没有办法不用空格,只需一步完成,还是粘贴没有空白?谢谢,L在这种情况下,
1
、23
和456
行的末尾可能会有额外的空格。尝试选择这些行并运行:'使用您所说的方法,我得到了1个hello。。(在问候之前加空格)23世界世界(在世界之前加空格)456codecode有没有办法不用空格,只需一步完成,还是粘贴没有空白?谢谢,L在这种情况下,1
、23
和456
行的末尾可能会有额外的空格。尝试选择这些行并运行:“使用您的示例,我得到了您想要的东西:没有空间。发布vimrc,查看是否存在阻止此非常简单和直接的解决方案工作的设置。而且,第一步的方法是记录一个宏。如果你想要“一步”,问“一步”。我发现在我的windows操作系统gvim4.7a上,当我使用ctrl-q
ctrl-c
(复制)ctrl-v
(粘贴)时,两个块没有空格地连接在一起;当我使用ctr-q
y
(或d
)P
,它与空格连接;但我不知道为什么通过你的样品,我得到了你想要的东西:没有空间。发布vimrc,查看是否存在阻止此非常简单和直接的解决方案工作的设置。而且,第一步的方法是记录一个宏。如果你想要“一步”,问“一步”。我发现在我的windows操作系统gvim4.7a上,当我使用ctrl-q
ctrl-c
(复制)ctrl-v
(粘贴)时,两个块没有空格地连接在一起;当我使用ctr-q
y
(或d
)P
,它与空格连接;但我不知道为什么
qq}jdd''pkgJj@qq