发现问题:

在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改。

每次遇到这样的问题,我都很头疼,好不容易把文件编辑完了,却无法保存,就只能放弃,然后退出,再以root权限打开,重新编辑。

我总是相信,所有的问题都有解决的方法。通过查阅资料,终于解决了这个问题。

解决方案:

底行命令模式执行::w !sudo tee %

w: 表示保存文件

!: 表示执行外部命令

tee: linux命令,这个有点复杂,可以查看linux命令帮助

%: 在执行外部命令时,%会扩展成当前文件名;这个%区别于替换时的%,替换时%的意义是代表整个文件,而不是文件名

上述方式非常完美的解决了不能保存只读文件的问题,但毕竟命令还是有些长,为了避免每次输入一长串的命令,可以将它映射为一个简单的命令加到 .vimrc 中:

" Allow saving of files as sudo when I forgot to start vim using sudo.

cmap w!! w !sudo tee > /dev/null %

这样,简单的运行:w!!即可。命令后半部分> /dev/null作用为显式的丢掉标准输出的内容。

总结

以上就是关于Vim强制保存只读文件的方法,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

vim 变成只读了_Vim 强制保存只读类型文件的方法相关推荐

  1. Vim 强制保存只读类型文件的方法

    发现问题: 在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改. 每次遇到这样的问题,我都很头疼,好不容易把文 ...

  2. vim 变成只读了_Vim保存只读模式下的修改

    发现问题: 在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改. 每次遇到这样的问题,我都很头疼,好不容易把文 ...

  3. vim 变成只读了_VIM以只读方式打开文件

    启动VIM的时候,可以使用-R(大写)参数,来确保以只读的方式打开文件,确保不会误操作修改文件. $vim -R 注意-r(小写)参数的含义与-R不一样: -R Read-only mode. The ...

  4. win10如何手动强制关联某个类型文件的默认程序打开方式

    win10如何手动强制关联某个类型文件的默认程序打开方式 本教程以 php文件设置为EditPlus软件作为默认打开方式为例 相信不少使用win10的朋友碰到过这样的问题:在win10系统中有时设置某 ...

  5. SourceInsight只添加特定类型文件的方法

    SourceInsight只添加特定类型文件的方法 本文以只添加c和h文件为例 1 global configuration 2 Document Options 3 Document Options ...

  6. python将输出保存为txt_Python3将数据保存为txt文件的方法

    Python3将数据保存为txt文件的方法,具体内容如下所示:f = open("data/model_Weight.txt",'a') #若文件不存在,系统自动创建.'a'表示可 ...

  7. linux文件强制保存,Vim 强制保存只读文件的方法

    在使用vim时,当我们以普通用户去打开一个只有root用户才有权限操作的文件时,我们编辑完成之后,正要保存,却发现,这个文件我们没有权限修改. 每次遇到这样的问题,我都很头疼,好不容易把文件编辑完了, ...

  8. Chrome保存mht网页文件的方法 – 无需任何插件,完美!

    保存网页最好的方法就是另存为.mht文件了.这是一种聚合网页文件,它可以包括整个网页的文字.图片及Flash等,特别好用. 在 Chrome 地址栏中键入"chrome://flags&qu ...

  9. vim 强制保存只读文件

    转自 http://kuanghy.github.io/2015/12/30/sudo-vim :w !sudo tee %

最新文章

  1. 图灵访谈系列之八:对话归隐的大师——Donald E. Knuth(高德纳)
  2. 基于MATLAB的IIR滤波器设计与实现
  3. 网络安全与机器学习(二):网络安全任务如何结合机器学习? 1
  4. 第一章 初识Linux shell
  5. oracle mssql 实例,oracle,mysql,SqlServer三种数据库的分页查询的实例
  6. c语言malloc用法 数组,详解C语言用malloc函数申请二维动态数组的实例
  7. boot spring 获取请求端口浩_Spring精华问答 | 如何集成Spring Boot?
  8. JS 和 Java 中URL特殊字符编码方式
  9. bash的算术运算和条件测试语句
  10. 北风设计模式课程---代理模式
  11. Perl 脚本命令行传入参数
  12. 计算机组成原理10——建立数据通路
  13. c语言中%d %%d %%%d和\\%d的区别
  14. 证券知识库:股票——基础概念
  15. #英语# 表示人的名词后缀论文文献
  16. sai笔记4-加高光/图层切换颜色
  17. mysql with,mysql+with
  18. Android:LiveData postValue导致数据丢失问题,及其原因
  19. 那些短,却叫人很心疼的句子(转)
  20. 借记卡、贷记卡叫法的由来

热门文章

  1. TOA定位算法的FPGA实现
  2. 基于深度学习的步态识别算法的MATLAB仿真
  3. 标准PSO辨识NARMAX模型源码程序
  4. informatica 参数文件配置
  5. dubbo+zookeeper+dubbo管理控制台实践demo
  6. Windows Server Backup 备份活动目录
  7. ASP.NET MVC学习系列(一)-WebAPI初探
  8. 需求分析师的工作重点
  9. RequestDispatcher
  10. SQL2K数据库开发二十六之存储过程操作创建存储过程(一)