VIM中不易發現的強勁功能

2021-05-05 05:11:16 字數 2372 閱讀 4364

(1) 為什麼別人的方法在我這裡行不通?

估計這是最難回答的乙個問題了。:-)

不過首先應該確定你的vim版本是否足夠新,功能是否完整。使用 :version 命令檢視你

的vim版本以及功能。乙個常見的情況,如果你用的是redhat系統,請確定安裝了

vim-enhance的rpm包,否則將是不完整的vim。

(2) 如何找到上次編輯的檔案?

ctrl+o (按兩次)

(3) 如何複製貼上?

方法一:先ma標記當前位置為a,移動到新的位置,再y`a或者y'a複製從標記位置a到

當前位置的內容。`和'的區別:`以字元為單位,'以行為單位。這個方法應該是所有vi

都適用的。(如果不對請指正。)

方法二:按v或v或ctrl+v進入visual模式,移動游標選擇一段內容,按y。三者的區別:

v以字元為單位,v以行為單位,ctrl+v是塊選擇。這個方法只在vim下適用。

(4) 如何在多個檔案中進行替換?

一般可以用sed或者vim來做。比如要對當前目錄下的*.c檔案進行替換:

方法一:

for i in *.c; do

sed -i -e 's/oldvalue/newvalue/g' $i

done

方法二:

vim *.c

:argdo %s/oldvalue/newvalue/g

(5) 如何把fold一次全部開啟?

zr 或者 :set foldlevel=999

(6) 如何選擇或者複製游標所在的單詞?

在vim中用iw或者aw表示乙個單詞,兩者稍有區別。

選擇游標所在的單詞:viw (v進入visual模式,然後iw)

複製游標所在的單詞:yiw

(7) 如何計數搜尋的字串?

如果需要統計緩衝中乙個模式(pattern)出現的頻率,需要把 'report' 置為0,然後

用替換命令把模式替換成它自己。vim 報告的已替換的數目就是模式出現的次數。例:

:set report=0

:%s/./&/g characters

:%s//i/+/&/g words

:%s/^ lines

:%s/the/&/g "the" anywhere

:%s///&/g "the" as a word

你可能希望復位 'hlsearch' 或者使用 ":nohlsearch"。

(8) 如何去掉高亮搜尋?

方法一::nohlsearch

方法二:/awertgvcxz (查詢乙個肯定不存在的字串)

設定了高亮搜尋(:set hlsearch)以後,可以通過 :set nohlsearch 永久地關閉高亮

顯示,也可以通過 :nohlsearch 暫時關閉高亮顯示,下次搜尋時將自動恢復高亮。

(9) 如何解決linux下gvim中文選單亂碼問題?

以vim6.3為例

source /usr/local/vim/share/vim/vim63/delmenu.vim

source /usr/local/vim/share/vim/vim63/menu.vim

光source乙個menu.vim或者啥也不source都是亂碼

另外,也有網友報告說沒有遇到此類問題

(10) 如何對所編輯的檔案語法高亮顯示?

需要解釋的是,vi有很多變種,它本身並沒有這種功能,提供這種功能

往往是其各種衍生版本,比如說vim。下面就vim中如何語法高亮簡單解釋一下。

首先,確定一下你所用的作業系統,如果是windows,那麼預設的配置檔案

就可以工作了。如果還不行,可以用滑鼠從syntax選單下選擇一下適合你的

檔案型別(新版本的gvim預設把檔案型別選擇關閉了,需要點開,然後按照

開頭字母選擇型別)

如果是linux,那麼確認一下是否是redhat。如果是redhat,那麼需要安裝

vim-enhanced的rpm包。這些都做了以後,可以用:syntax on來開啟語法高亮。

必要時可以用:set filetype=...來設定你的檔案型別。

如果使用圖形介面,比如gvim,那麼syntax on和set filetype的操作可以

用滑鼠在選單中選擇,同windows下。

如果是在控制台中使用vim,還應當確定你的終端設定支援顏色。

(11) 如何快速插入多行數字0-99?

在命令列中輸入以下**,或者先把**儲存到乙個外部檔案,然後source這個檔案:

let i = 0

while i < 100

put = i

let i = i + 1

endw

如果位數不足需要在前面補零,可以用ctrl-v塊選擇,然後i插入0。

VIM中的標籤頁功能總結

1.配置 set tabpagemax 18 vim預設只能開啟10個標籤頁,在配置檔案可以修改這個限制 set showtabline 0 不顯示標籤欄 set showtabline 1 這是預設設定,意思是,在建立標籤頁後才顯示標籤欄。set showtabline 2 總是顯示標籤欄 2.命...

Linux中vim的常用功能

2.插入模式 3.退出模式 模式定義 命令模式 瀏覽檔案,臨時更改vim的工作方式,對字元批量處理 插入模式 對檔案內容進行編輯 退出模式 退出vim程式 1.命令模式 1.1 set 調整引數 set nu 在每一行顯示行號 set nonu 取消行號顯示 set mouse a 顯示滑鼠 set...

vim的高階功能

1 錄製功能 有時候,我們需要對每一行做同樣的工作,例如 編寫指令碼時,為了測試程式,有時候需要注釋掉很多行,但是顯然,如果一行一行的去在頭部新增乙個 來注釋,顯然無法忍受,這是就可以使用錄製功能了 在命令模式下,按下q鍵,然後按下乙個0 9 a z鍵,這個字母或數字代表記錄的名字。然後開始對某一行...