我在我的 Mac OS X 10.7 上使用 mvim。
如何标记文本以进行复制、粘贴、删除等操作?在 Windows 上的 gvim 中,我习惯使用 Shift 键来执行此操作,但这在 Mac 上不起作用。
答案1
在 Windows 上,GVim 使用一种特殊的脚本,旨在使其更易于使用。另一方面,您无需正确学习 Vim 也能取得(不太)大的进步。
在 Vim 中,有两种基本方法可以“拉取”、“放入”和“删除”任意文本:
使用视觉选择
这或多或少就像您在任何地方所习惯的那样:您选择带有视觉反馈的一部分文本,然后对其采取行动。
在普通的模式,将光标放在要执行某些操作的文本的一端。
进入视觉的模式
v
。将光标移至另一端。
点击
y
复制所选文本,d
点击删除,c
点击删除并输入插入模式,P
用默认寄存器的内容替换它。完毕。
v
有两个非常有用的变体:V
输入视线模式并<C-v>
进入视觉障碍模式。下面是一个带有序列的示例
v<left><left>…<left><left>y
(当然,还有更有效的方法):看
:help visual-mode
。使用动作和文本对象
这与常规的非常不同,而且也非常高效。
在普通的模式,将光标放在要执行某些操作的文本的一端。有些文本对象/动作不需要这样做。
击中
y
(或d
或c
)。i(
确定要采取行动的范围或目标f"
。完毕。
以下是该序列的示例
dta
:看
:help motion.txt
。
当然,它在 Windows、Linux 和 Mac OS X 上的工作原理相同,当然,您可以混合搭配这两种方法以满足您的需要。
vbbby
“yanking” 示例可以通过、v4by
、v2Fiy
、v?ip<esc>y
、等实现,y2Fi
具体取决于您处理的单词/行数,而“deleting” 示例可以通过v<right><right>…<right><right>d
、vll…lld
、vwwwhd
、vfad
等实现。