【发布时间】:2010-12-07 12:24:25
【问题描述】:
我正在尝试将宏保存到我正在编辑的文件中。
一切顺利,直到我关闭并重新打开文件。当我重新打开文件时,粘贴的宏
<80><fc>^B Setup^M<80>
变成了
■üSetup^M■
我认为这与编码有关,但如何解决它超出了我的范围。
以下是一些可能相关的设置:
- 文件格式=dos
- fileformats=dos,unix
- fileencoding=latin1
- fileencodings=ucs-bom,utf-8,latin1
- 编码=utf-8
有没有人知道我需要改变什么才能让它工作?
编辑
我不知道<80><fc>^B 序列的来源。
当我键入//***** Setup 并按下SHIFT 键直到设置中的S 时,它似乎被插入到宏中。宏被粘贴为//*****<80><fc>^B Setup
注意 1:我使用的是 Azerty 键盘。对于/和*这两个键,我需要按shift键。
注意 2:解决方案是在 //***** 和 Setup 之间键入 space 字符时不要按住 SHIFT 键。在键入那个非常常用的序列时,几乎按着 shift 键已经成为一种自动行为。
【问题讨论】:
-
尝试以
vim -u NONE开头复制此内容。 -
@ZyX - 粘贴的宏现在是立即■üSetup^M■。我确实希望这能告诉你一些事情(对我来说不是)。
-
它应该告诉我这是否与插件相关。你如何用
vim -u NONE粘贴你的宏(从你复制它的地方开始)?您应该已经编写了重现的步骤,例如: 1.vim -u NONE /path/to/file_with_macro2.22ggV"+y以可视方式选择并将其复制到系统剪贴板。 3.vim -u NONE启动一个新的vim。 4."+p将其粘贴到新缓冲区中。结果:<80><fc>^B...,预期为Setup。并发布一个带有宏的文件,也许它已经有这个字符了。 -
@ZyX,对不起,你是对的。我要删除这个问题。也许当我对 vim 更加精通时,有一天我会弄明白的。感谢您花时间研究它。
-
可能重复[使用 vim 的 -W 选项](stackoverflow.com/questions/3981535/using-the-w-option-of-vim)