vim 開啟檔案預設回到上次編輯的地方

2021-10-04 11:26:05 字數 1109 閱讀 9127

set nu 

set smartindent

set tabstop=4

set shiftwidth=4

set expandtab

set softtabstop=4

set autoindent

au bufreadpost * if line(

"'\""

)> 0|

if line(

"'\""

)<= line(

"$")

|exe(

"norm '\"")|

else

|exe "norm $"

|endif|endif

最後一行的作用就是當你編輯之前開啟過的檔案的時候,游標會預設回到上一次編輯的地方。

如上配置都寫在/home/hunter/目錄下的.vimrc,其中,hunter 為你的登入使用者名稱。

但是,後來我新安裝了個 ubuntu系統,按照如上配置之後,再次使用 vim 編輯檔案的時候,游標卻總是移到第一行。

為什麼上述**不起作用了呢?

首先我們來搞清楚一下當 vim 工作的時候它的流程是什麼?

當我們使用 vim 開啟乙個檔案,它會 讀取/home/user/.viminfo這個檔案,獲取我們上次開啟的檔案退出的相關資訊,比如停留的行數。

然後,我們再去看一下/home/user/.viminfo這個檔案, 使用命令:

ls -l
檢視,發現許可權都是 root 使用者的,也就是說,當我們直接使用vim test.py這個操作的時候,使用的是 hunter 這個使用者,然後導致上一次關閉檔案的資訊讀取失敗,所以也就造成了游標不能回到上次編輯的地方。

知道問題在哪了,解決就很簡單了,把.viminfo這個檔案更改一下許可權就可以了。

sudo

chmod 777 .viminfo

再次開啟檔案,就能回到上次文字編輯的地方了。

vim 回到上次檔案開啟的位置

vim重新開啟檔案後回到上次開啟的位置 偶爾一次發現即使注釋掉了上文提到的三行之後還是不能跳轉到上次開啟的地方 繼續查詢問題,發現在 home路徑下的 viminfo 的許可權有問題,都是root root,這個檔案是儲存我們上次操作的檔案的位置的,如果許可權不是當前使用者的話,沒辦法去讀取相關的資...

vim同時開啟編輯多個檔案

開啟乙個,vim 檔名 然後在vi的命令輸入狀態下輸入 sp 另外乙個檔案的路徑及檔名 如此就可以在乙個視窗開啟多個檔案了。或者用 vi o file1 file2 file3.用分割螢幕視窗方式同時開啟多個檔案。可以使用 ctrl 兩次按 w 或者ctrl w 然後按上下鍵在上下視窗間切換。在這幾...

VIM (檔案的開啟和編輯)

vim開啟檔案 vi 使用的選項 說 明vim filename 開啟或新建乙個檔案,並將游標置於第一行的首部 vim r filename 恢復上次 vim 開啟時崩潰的檔案 vim r filename 把指定的檔案以唯讀方式放入 vim 編輯器中 vim filename 開啟檔案,並將游標置...