編輯乙個檔案時可以自由地引用其它

2021-06-18 18:30:57 字數 2253 閱讀 6883

我希望在編輯乙個檔案時可以自由地引用其它檔案,但是一直沒有找到相應的解釋辦法,今天找到,發現如此簡單

5.4 重新編輯

放棄一修改過的檔案,重新編輯。

(1)使用命令 :q!強行退出後再vi flname重新進入。

(2)使用命令 :e!強行重編輯更便捷。這樣也是會開啟檔案,但會放棄目前編輯檔案的改變,否則如果檔案已有變動,vim 預設是不讓您隨便離開的。:e! 後不接什麼的話,代表捨棄一切修改,重新載入編輯中檔案。

5.5 其他命令

:files 或 :buffers 或 :ls 會列出目前 buffer 中的所有檔案。

在 elvis 中可使用 :b 來叫出 buffers。

:f 或 ctrl-g 顯示目前編輯的檔名、是否經過修改及目前游標所在之位置。

:f 檔名 改變編輯中的檔名。(file)

:r 檔名 在游標所在處插入乙個檔案的內容。(read)

:35 r 檔名 將檔案插入至 35 行之後。

gf 這是 vim 的特殊開啟檔案的方法,會開啟游標所在處的 word 為名的檔案,當然,這個檔案要在當前目錄內,否則會建立新檔案。

其它1)檔案操作

vi filename  

開啟檔案 filename,並將游標置於第一行首。

vi +n filename  

開啟檔案 filename,並將游標置於第 n 行首。

vi + filename  

開啟檔案 filename,並將游標置於最後一行。

vi + /pattern filename 開啟檔案 filename,並將游標置於其中第乙個於 pattern 匹配的字串處。

vi –r filename  

在上次正用 vi 編輯 filename 發生系統崩潰後,恢復filename。

vi file1 … filen  

開啟多個檔案,依次對之進行編輯。

:%!xxd  

以十六進製制檢視

:%!xxd -r  

從十六進製制返回

:n1,n2 co n3  

將 n1 行到 n2 行之間的內容拷貝到第 n3 行下。

:n1,n2 m 

m3  

將 n1 行到 n2 行之間的內容移至第 n3 行下。

:g/^.*uid.*;$/nu  

查詢含 uid 且以;結尾的行,並顯示行號

:g/^.*uid.*;$/m 59  

查詢含 uid 

且以;結尾的行,並把這些行move到第59行

:n1,n2 d  

將 n1 行到 n2 行之間的內容刪除。

:n1,n2 w 

filename  

將 n1 行到 n2 行之間的內容儲存到檔案 filename 中

:n1,n2 w! command  

將檔案中n1行到n2行的內容作為 command的輸入並執行之,若不指定 n1、n2,則將整個檔案內容作為 command 的輸入。

:r! command  

將命令 command 的輸出結果放到當前行。

:nr  

把插入到第n行

:so  

讀取,再執行檔案裡面的命令 (譯註--檔案中的命令應該都是一些ex命令)

:l1,l2w  

把第l1和第l2行之間的文字寫到中去

:w >>  

新增到末尾. 也可以使用行號

: e!  

重新編輯當前檔案,忽略所有的修改

6. 替換

替換是 vi 的強項, 因為可以用正規表示式來匹配字串.以下提供幾個例子.

:s/aa/bb/g  

將游標所在行出現的所有包含 aa 的字串中的 aa 替換為 bb

:s/\/bb/g 將游標所在行出現的所有 aa 替換為 bb, 僅替換 aa 這個單詞

:%s/aa/bb/g  

將文件中出現的所有包含 aa 的字串中的 aa 替換為 bb

:12,23s/aa/bb/g 將從12行到23行中出現的所有包含 aa 的字串中的 aa 替換為 bb

:12,23s/^/#/  

將從12行到23行的行首加入 # 字元

:%s= *$==  

將所有行尾多餘的空格刪除

:g/^\s*$/d  

將所有不包含字元(空格也不包含)的空行刪除.

乙個可以更好地除錯的 Perl 模組

僅用於除錯或開發調整時的 perl 塊有時會很有用。這很好,但是這樣的 塊可能會對效能產生很大的影響,尤其是在執行時才決定是否執行它。curtis ovid poe 最近編寫了乙個可以幫助解決這個問題的模組 keyword development。該模組利用keyword 和 perl 5.012 ...

在必須返回乙個物件時,不要去嘗試返回乙個引用

一旦程式設計師把注意力都轉向了物件傳值方式隱含的效率問題 參見第 20 條 時,許多人都變成了極端的 改革運動者 他們對傳值方法採取斬草除根的態度,在他們不屈不撓追求傳遞引用方式的純粹性的同時,他們也犯下了致命的錯誤 有時候傳遞的引用所指向的物件並不存在。這決不是一件好事情。請看下面的示例,其中的 ...

是否可以在另乙個CSS檔案中包含乙個?

是否可以在另乙個css檔案中包含乙個?是的,可以使用 import並提供css檔案的路徑,例如 import url mycssfile.css 要麼 import mycssfile.css 是 import url base.css 注意 css import規則就是這樣做的。例如,import...