如何在Vim中以读/写模式打开文件?
我的计算机上有一个特定的文件,Vim坚持以只读模式打开。我检查了文件的权限(我有完全控制权),如果我检查了:w!,写得很好。但是,无论我使用:e还是从NERDTree打开文件,该文件都将以只读方式打开。我打开的所有其他文件都可以正常工作 我只是想知道如何在打开文件之前或之后关闭该文件的只读模式 我在Windows上,使用gVim 编辑:如何在Vim中以读/写模式打开文件?,vim,Vim,我的计算机上有一个特定的文件,Vim坚持以只读模式打开。我检查了文件的权限(我有完全控制权),如果我检查了:w!,写得很好。但是,无论我使用:e还是从NERDTree打开文件,该文件都将以只读方式打开。我打开的所有其他文件都可以正常工作 我只是想知道如何在打开文件之前或之后关闭该文件的只读模式 我在Windows上,使用gVim 编辑: 这可能不是权限问题,因为:w!工作正常。只需使用:w!强制写入文件即可!。您应该是金色的文件中可能有vim设置,以使文件加载为只读: 检查以下行:(替换文件的注
这可能不是权限问题,因为:w!工作正常。只需使用:w!强制写入文件即可!。您应该是金色的文件中可能有vim设置,以使文件加载为只读: 检查以下行:(替换文件的注释字符,而不是//) //vim:设置ro:
Vim在文件的前5行或后5行中查找这些设置。您是否尝试过:右键单击->属性->查看是否选中了“只读”属性?让您烦恼的模式由只读选项控制。要清除它,请键入
:set readonly代码>一旦启动编辑器。实际上,这可能是一个权限问题
我刚刚用管理员权限在XP上遇到了这个问题。
在使文件可写(readonly属性清除,cygwin相应地将其显示为可写)之后,VIM仍然将其显示为只读
在我的情况下,该问题处于高级权限下。
在Windows资源管理器下查看该文件,右键单击以获取属性,在“常规”选项卡下,只读位是清除的。现在转到安全选项卡,它显示我只有读取权限。单击“权限”选项卡下的“高级”按钮,选中“我的用户帐户”,它显示我具有未从任何位置继承的特殊权限,而不是从包含目录继承的“完全控制”,就像我看到的其他文件一样
一个修复方法是单击编辑。。。在“权限”选项卡中编辑权限。但是,只执行以下操作要简单得多(至少在您拥有管理员权限的情况下):w!正如其他人所建议的那样,在VIM中。这将文件的权限固定为可写(“完全控制”)
(我不清楚这个特定文件是如何以这种“特殊”只读状态结束的。将其保留在您的问题范围之外。)添加到vimrc的以下内容将导致vim在编辑文件后将其更改为只读。它通过调用windowsattrib
工具来工作
"Change read/only files to read/write when they are edited
au FileChangedRO * !start attrib -r %
au FileChangedRO * :let s:changedRO = 1
au FileChangedRO * :set noro
"Don't ask about the modified read-only file
au FileChangedShell * call s:HandleChangedROFile()
function s:HandleChangedROFile()
if exists('s:changedRO') && s:changedRO == 1
let s:changedRO = 0
let v:fcs_choice='reload'
else
v:fcs_choice='ask'
endif
endfunction
灵感来自:解决方案非常简单,只有当您没有用户的写入权限时才会发生这种情况
转到终端并输入以下命令:
1] chmodu+wx文件名
filename是您试图编辑的文件名。他已经说过他可以做得很好,但他只是不想这样做。:)我不知道您正在运行哪个特定的Windows操作系统,但是如果您在Vista/Win7上,您是否尝试过以管理员身份运行gVim(右键单击并选择以管理员身份运行),然后查看在尝试保存文件时会发生什么情况?它是什么类型的文件?它在哪里?用户目录中的某些文件位置将以只读方式打开,并且w!戴夫:我在XP上,很遗憾,我不能以管理员的身份运行,因为我在工作。请看,文件中似乎没有这样一行。但我不知道你可以和vim一起做。