vim 中的":wq"和":x"的区别

摘自:http://www.apelearn.com/bbs/thread-7146-1-1.html

":x" 和 ":wq" 的区别如下:
(1) :wq 强制性写入文件并退出(存盘并退出 write and quite)。即使文件没有被修改也强制写入,并更新文件的修改时间。
(2) :x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。
这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,":wq" 强制更新文件的修改时间,
这样会让 make 编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。不过像是版本控制的软件一般首选还是比较文件内容,修改时间一般不加以理会。

时间: 2024-10-27 12:36:11

vim 中的":wq"和":x"的区别的相关文章

老男孩教育每日一题-2017-05-15-说说你在vi/vim中常用的命令或快捷键

1.题目 2.参考答案 01:学会在vim中查询帮助 :help 或:h即可 :help G :help :wq 02.vi/vim 使用最基本方法 第一个里程碑-使用vi打开oldboy.txtvi /data/oldboy.txt默认是命令模式.第二个里程碑i  ->insert插入模式(编辑模式)  ->然后输入文本I am studying linux.第三个里程碑-按esc键我不想编辑了,退出编辑模式(插入模式),再次进入到命令模式第四个里程碑-保存并退出:wqw write 写入q

vim中多标签和多窗口的使用

1.打开多个窗口 打开多个窗口的命令以下几个: 横向切割窗口 :new+窗口名(保存后就是文件名) :split+窗口名,也可以简写为:sp+窗口名 纵向切割窗口名 :vsplit+窗口名,也可以简写为:vsp+窗口名 vim -o file1 file2 ...  #水平打开多窗口, vim -O file1 file2 ...  #垂直打开多窗口, vim -d file1 file2 ...  #垂直打开多窗口,并且进行比较 vimdiff file1 file2 ..  #等同于上一句

在 Vim 中设置 Tab 为4个空格

缩进用 tab 制表符还是空格,这不是个问题,就像 python 用四个空格来缩进一样,这是要看个人喜好的.在 Vim 中可以很方便的根据不同的文件类型来设置使用 tab 制表符或者空格,还可以设置长度,非常灵活. 首先来看如何设定 tab 的宽度以及如何确定用 tab 制表符还是空格来表示一个缩进: set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab / expandtab 说明: 其中 tabstop 表示一个 t

转:在VIM中保存编辑过的只读文件

你是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限.如果已 经做了很多修改,放弃保存的确很懊恼,只好先保存在用户的主目录下,再用sudo mv移动到文件的原始位置,并按需要chown.这样做实在太麻烦了,以下的这个技巧就太方便了.当需要保存时,输入以下的命令: :w !sudo tee %

Vim中的Tab

Tab和缩进不是一回事. Tab是一个字符(制表符),其显示宽度可定义.可更改Tab键的映射关系,将其设置成n个空格,n由Tab自身宽度决定.缩进指的是一个概念,在Vim中可由>和<键控制增加和减少缩进量,缩进的填充单元可以是制表符也可以是空格,由expandtab的状态确定(noexpandtab/expandtab).一次“>”操作产生的缩进量可自定义,与制表符宽度不一定要一致. 以下是Vim相应的设置命令: set expandtab 更改tab映射为空格 set tabstop=

Vim 中文件目录浏览插件——NERD tree

说明 :vim的插件NERDTree用于使得vim窗口分左右窗口显示的用法说明.其中,左侧为目录的树形界面,简称为NERDTree界面,右则为vim界面. 一.配置步骤 下载地址: http://www.vim.org/scripts/script.php?script_id=1658 或者 http://download.csdn.net/detail/caoyingsdhzcx/5752889 树形目录插件NERDTree的安装方法,如下: 1. 在当前用户文件夹(例如simpman)下,建

解决vi/vim中粘贴会在行首多很多缩进和空格的问题

解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进.若你拷贝的文本中已经有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进.解决办法:1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)2. 拷贝完成之后,输入:set nopaste

vim中.swp文件处理

参考: http://blog.csdn.net/lingdxuyan/article/details/4993868 http://www.cnblogs.com/softwaretesting/archive/2011/09/23/2185851.html 关于swp文件 使用vi,经常可以看到.swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件 以备不测(不测下面讨论),如果你正常退出,那么这个这个swp文件将会自动删除 . 不

vim中的分屏

Linux中的vim是vi的增强版.需要自己下载安装.安装后vim支持自己配置和各种插件.有时候我们看源码需要同时看.h和.c文件.来回切换很难受.vim支持分屏.及将屏幕分成若干块. 上下分屏:在命令行输入sp回车 左右分屏:vsp.每个分屏后的窗口中可以继续进行上下和左右分屏. 上下分屏命令后面可以接文件名,打开指定的文件. 光标在所分的屏幕中的移动:vim中支持h,j,k,l四个键来移动光标.光标在分屏窗口中切换需要先按ctrl+w 然后按h,j,k,l来切换. 退出光标所在的分屏:ctr

(转)xshell无法在vim中复制黏贴

ssh xshell 连接在vim中无法用 ctrl+insert 复制黏贴 修改.vimrc set mouse=c vi的三种模式:命令模式,插入模式,可视模式.鼠标可以启动于各种模式中: The mouse can be enabled for different modes: n Normal mode v Visual mode i Insert mode c Command-line mode h all previous modes when editing a help file