日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

玩转VIM编辑器-vim附加特性

發布時間:2025/3/17 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 玩转VIM编辑器-vim附加特性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

玩轉VIM編輯器-vim附加特性

重復一個操作N

對于我們前面介紹的一些操作,我們可以單純地加上一個數字,來重復操作N次,比如j表示下移一行,那么10j就是下移10行。

????? 還有一些重復執行的命令:

重復命令

描述

@@

重復前一個執行的宏

n

向同樣的方向執行搜索

N

向相反的方向執行搜索

.

重復上一次的編輯命令

@

重復上一次的命令行操作

撤銷和重復操作

單次撤銷,直接使用字母u即可,如果想撤銷N次操作,可以使用Nu

撤銷全部操作,使用大寫字母U即可。

????? 如果使用了u撤銷操作,并且發現錯誤了,可以使用:red或者CTRL+R來撤銷剛才做的編輯動作。

打開光標下對應的文件

????? 這個特性對于下述所示的情況相當有用。

l? 測試配置文件中所給的文件名是有效的;

l? 編輯一個文件的時候,想查看編輯文件中所包含的文件;

l? 在編輯源代碼的時候,參考include或者import的文件;

1.???? 直接打開:??? gf

2.???? 打開一個新的窗口: CTRL+W f

3.???? 打開一個新的選項卡:??? CTRL+W? gf

如果文件中所包含的文件并沒有給出絕對路徑,那么vim將在當前目錄中搜索。

????? 在下述情況下,即使沒有指出絕對路徑,vim也能定位到文件的準確位置:

1.??? C程序中的頭文件;

2.??? Perl程序中的Perl模塊

使用傳統方式編輯多個文件

????? 使用此種方法,可以在那一個vim會話中編譯多個文件。

打開方法為:vim file1 file2 file3

如果已經處在vim編輯會話中,需要再打開一個文件,可以使用下述命令:

:e anotherfile

我們可以使用:ls來列出目前vim會話中的所有文件,比如:

:ls

? 1 %a?? "apue.h"?????????????????????? line 1

? 2 #??? "passwd"?????????????????????? line 1

? 3????? "lscpu"??????????????????????? line 1

那么我們可以使用:e #N來打開第N個文件;

在兩個文件中切換的方法為:? CTRL+^;

在多個文件中移動的方法:

使用命令:next:previous分別可以移動到下一個文件或者上一個文件。

自動保存文件

????? 如果在沒有保存文件的時候,想切換到另一個編輯文件,會出現警告信息,提示先保存信息,可以設置自動保存選項:set autowrite,這樣就可以直接切換各個文件或緩存。

????? 也可以使用:wall單個命令來寫入所有的文件。

Vim中加密文件

使用:X來加密文件,下次編輯時就需要輸入加密密碼;

解密方法為:set key=然后保存文件就可以了。

加 密 的 局 限 性

Vim 采用的加密算法有弱點的。它對于防止那種偷窺者是綽綽有余了,但不足以防止一個手上有大量時間的密碼專家。而且, 你應該知道交換文件是不加密的;所以當你在編輯文件時,擁有超級用戶權限的人能夠讀取未經加密的文件文本。不讓人們讀到你的交換文件的一個方法就是不使用交換文件。

:setlocal noswapfile

由于沒了交換文件,文件復原就不可能了。為了避免失去編輯的成果,要比平時更勤快地存盤你的文件。

保存和還原vim會話

????? 在我們編輯N個文件的時候,如果需要先做別的事情,在返回來編輯該會話,那么我們可以保存該會話,然后還原它,在這個過程中,諸如緩沖區、窗口大小、自定義選項、文件夾和當前目錄等都會保存。

會話命令

描述

:mksession

在當前目錄中創建一個默認的Session.vim

:mksession filename

保存會話為指定的文件名filename

$vim –S

打開當前目錄中默認的會話

$vim –S filename

打開當前目錄中指定的會話filename

:source Session.vim

導入會話中的所有設置

vim中執行Unix腳本命令

????? vim中執行Unix命令cmd,使用:!cmd即可。比如顯示:!date日期信息。

也可以將當前文件名作為一個參數傳入到Unix命令中:

:!echo %

%代表當前文件名

:!echo %:p

%:p代表當前文件名的絕對路徑

:!echo %:e

%:e代表當前文件的擴展名

使用vimdiff檢查文件中的異同

????? Unix中可以使用diff file1 file2來查看兩個文件的異同(完全命令終端顯示),但是vimdiff更加的直觀、友好(不同顏色來友好地顯示出文件異同)。

vimdiff命令

描述

vimdiff file1 file2

vim -d file1 file2

在一個垂直分割窗口中顯示不同

vimdiff –o file1 file2

vim –d -o file1 file2

在一個水平分割窗口中顯示不同

vim file1

:diffsplit file2

已經打開了一個文件,在打開另一個文件來比較異同-水平分割

vim file1

:vert diffsplit file2

已經打開了一個文件,在打開另一個文件來比較異同-垂直分割

[c

跳轉到下一個修改處

]c

跳轉到上一個修改處

vim映射命令

????? 如果需要重復地執行一個命令,可以使用vim的映射命令來實現。

比如:map :write :!cc % && ./a.out該映射命令在執行:write的時候就會編譯當前文件并執行。

????? 前面我們提到過:w :up的區別,可以使用map :w :up;還有:map :q :confirm q

????? 使用:map可以顯示所有定義的映射。

bash shell工作的像vim編輯器

set -o vi 表示編輯命令行用 vi 模式,默認狀態是 vi 的 編輯狀態,可以輸入、修改,用 ESC 退出編輯狀態后,可以用 h,l 來前進后退, j,k 來翻看歷史命令,^光標到行首,$光標至行尾,dd 刪除該行...等等,和 vi 的用法是一樣的。習慣用 vi 的人可以用 set -o vi 這種模式加快命令行編輯。

???? 此外,還有 set -o emacs,表示編輯命令行用 emacs 模式,不分編輯狀態和控制狀態。 可以直接輸入,也可以用 [CTRL]-a 至行首,[CTRL]-e 至行尾,[CTRL]-k 刪除光標處到末尾...等等,這和 emacs 的編輯方式是一樣的。這是默認模式,也是最常見和大多數人習慣的方式。

vim編輯器中的一些選項

選項

描述

:set nu

顯示行號

:set ic

搜索時忽略大小寫

:set ro

以只讀模式打開

:set wm=n

最右端回卷最大值

:set ai

開啟自動縮排功能

:set all

顯示vim會話中的所有設置

:set list

顯示所有不可視字符,比如^|表示tab$表示行尾

:set hlsearch

高亮顯示匹配模式

:set incsearch

開啟增量搜索模式,實時搜索

如果想關閉上述設置,可以使用:set no<OPTION>,例如不顯示行號為:set nonu。

默認寄存器和它們的用法

寄存器名稱

描述

%

當前文件的名稱

#

替換文件的名稱

:

最近一次執行的命令

/

上一次的搜索模式

上一次使用的寄存器

????? 從寄存器中粘貼內容,執行下述命令

“<寄存器名稱>p

比如如果“%p就會把當前文件名給粘貼到光標位置。

????? 關于寄存器,有以下幾點需要注意:

1.??? 數字表示的只有從0910個寄存器;

2.??? 最近拷貝的存儲在寄存器0

3.??? 最近刪除的存儲在寄存器1

vim目錄操作

????? 我們可以使用vim作為一個文件管理器在文件系統中導航,并且可以進行一些操作。

????? 比如使用vim /可以看到:

????? vim文件瀏覽器中,可以執行下述操作:

描述

<Enter>

打開光標對應的文件或文件夾

D

刪除光標對應的文件

R

重命名光標對應的文件

X

執行光標對應的文件

o

打開一個水平分割窗口

????? 也可以在vim編輯器件中打開vim文件瀏覽器:

鍵值

描述

:Ex

vim文件瀏覽器打開當前目錄

:Ex /etc

vim文件瀏覽器打開指定目錄

:Sex

vim文件瀏覽器使用水平分割窗口打開當前目錄

:Vex

vim文件瀏覽器使用垂直分割窗口打開當前目錄

:Tex

vim文件瀏覽器在一個新的選項卡中打開當前目錄

?

轉載于:https://www.cnblogs.com/shaoguangleo/archive/2011/11/05/2806049.html

總結

以上是生活随笔為你收集整理的玩转VIM编辑器-vim附加特性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。