如何判断文件自上次保存在vim后是否已更改

时间:2015-08-11 09:36:31

标签: vim

我正在尝试通过在保存(:w)文件时记录时间戳来量化我的vim操作。

是否可以知道自上次保存以来文件是否真的被编辑过?

例如,我按:w保存了文件,然后什么都没做,只需输入:w再次保存,是否可以判断文件是否实际没有被修改?

5 个答案:

答案 0 :(得分:3)

您可以检查 private String post(String url) throws JSONException { JSONObject json = new JSONObject(); try { String query = ""; String EQ = ":"; String AMP = "&"; for (NameValuePair param : parameters) { query = json.put(param.getName(), param.getValue()) + ","; } // url+= "?" + query; HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(url); if (parameters != null) { StringEntity se = new StringEntity(query.toString()); se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); post.setEntity(se); Log.d("POSTQuery", url + parameters); } HttpResponse response = client.execute(post); StatusLine statusLine = response.getStatusLine(); Log.d("Status Code", "" + statusLine.getStatusCode()); if (statusLine.getStatusCode() == 200) { return StringifyResponse(response); } Log.d("POSTQuery", url); // Log.d("response", response.toString()); return StringifyResponse(response); } catch (ClientProtocolException e) { } catch (IOException e) { Log.d("response", e.toString()); return "IOException"; } return null; } 选项的值:

'modified'

答案 1 :(得分:2)

Vim显示' [+]'文件被修改后的文件名旁边。但是,即使磁盘上的文件和缓冲区之间没有差异,它也会显示它(例如,如果您添加字母' a然后删除它,则会认为该文件已被编辑)。

答案 2 :(得分:1)

如果你在Vim中将laststatus设置为2,它会在窗口底部显示一个状态行,当文件被修改后,文件名旁边有一个[+]指示符最后写的。

相关帮助页面:laststatusstatusline

答案 3 :(得分:0)

在阅读你的答案之前,我认为这是关于在保存文件之前知道文件是否已经从另一个vim实例/编辑器更新过来了!

如果是这样,vim通常告诉我什么时候要保存它:

  

警告:自vim读取文件后文件已更新!

     

你还想写它(是/否)?

如果只是因为知道自上次以来你是否有任何改变,如前所述,Vim会在你的文件名后显示 [+]

答案 4 :(得分:0)

somefile.txt,如果已进行更改,[修改]将显示在您的文件名之后。