Windows 上的 gVim 控制字符

Windows 上的 gVim 控制字符

我从一个应用程序中复制了一些数据,其中有很多^Ds 和^Ms。我^D使用时毫无问题地删除了它:%s/^D//g,我知道我可以^M使用类似的命令删除它:%s/^V^M//g,但问题是我在 Windows 上运行并且^V使用 Ctrl-V,它会将数据从剪贴板粘贴到 gvim 中。如何退出^VWindows 中 vim 的 /ctrl-V 粘贴功能?

答案1

:help CTRL-V-alternative

                                                *CTRL-V-alternative* *CTRL-Q*
Since CTRL-V is used to paste, you can't use it to start a blockwise Visual
selection.  You can use CTRL-Q instead.  You can also use CTRL-Q in Insert
mode and Command-line mode to get the old meaning of CTRL-V.  But CTRL-Q
doesn't work for terminals when it's used for control flow.

答案2

另一种特定于 ^M 的方法是使用,:%s/\r//g因为 ^M 是回车符。

答案3

要使用您熟悉的 MS Windows 热键进行复制、粘贴等操作,请使用 mswin.vim 文件作为您的配置。将其从您的安装路径复制到 $HOME 目录所在的位置,重命名为 _vimrc。输入 :echo $HOME 以找出它的位置。通常是 C:\Users\'username'。重新启动 gVim,您的常规 Windows Ctrl-V、Ctrl-C 类型的热键应该可以正常工作。

在 Windows 7 上 .vimrc 文件应该位于哪里?以获得更多指导。

答案4

我在 conemu 和其他程序中的 vi 中遇到了同样的问题,它们会中断击键并用其他操作替换它们。

我通过使用 ^K (Ctrl-K) 输入二合字母进行搜索和替换来解决这个问题。

例如我想删除 NUL(0x00)字符和 CR(^M 或 0xd)字符

通常我会使用 ^V000 和 ^V^M,但是使用定义的默认二合字母,您可以使用以下命令(注意 ^K 是按下 Ctrl 和 K)

:%s/[^KNU^KCR]//g

如果这些二合字母不起作用,你可以使用

:dig

要了解如何定义自己的

:help :dig

相关内容