vim命令使用總結

2020-12-13 種下星星的日子

一. vim簡介

vim 是linux系統自帶的文本編輯器。

vim 共有三種模式:

命令模式:用vim打開文件就進入了命令模式;輸入模式:在命令模式輸入i/I/a/A/o/O就進入輸入模式;

在輸入模式下按鍵esc,則退出輸入模式進入命令模式底線模式:在命令模式按下英文冒號:就進入了底線模式;

二. vim命令使用總結

2.1 光標移動

(1)光標上下左右移動(鍵盤的上下左右四個鍵):

向上、向下同理。

(2)行首、行尾:

(3)移動到具體的某一行

(4)移動到單詞

2.2 查找

在命令模式下輸入以下命令進行查找,光標會跳轉到第一個匹配的字符,此時按下n 代表重複前一個搜索動作;按下N代表反向重複前一個搜索動作 。

2.2.1 Vim查找支持正則表達式

例如/vim$匹配行尾的"vim"。需要查找特殊字符需要轉義,例如/vim\$匹配"vim$"。

注意:查找回車應當用\n,而替換為回車應當用\r(相當於<CR>)。

2.2.2 vim查找默認是大小寫敏感查找

在查找模式中加入\c表示大小寫不敏感查找,\C表示大小寫敏感查找

例如:/foo\c 會查找所有foo、FOO、fOOD等

2.2.3 查找光標所在單詞

在命令模式下按下:

*:匹配當前光標所在的單詞(這裡的單詞是指前後為空白字符或者點號,例如當前為foo, 可以匹配foo bar中的foo,但不可匹配foobar中的foo。這在查找函數名、變量名時非常有用),並將光標移動到下一個單詞

#:匹配當前光標所在的單詞,並將光標移動到上一個單詞

g*:查找光標所在單詞的字符序列,每次出現前後字符無要求,例如當前為foo,那麼foo bar和foobar中的foo均可被匹配到。

2.3 替換

替換的語法如下::{作用範圍}s/{目標}/{替換}/{替換標誌}

% :代表在全文範圍內查找並替換

g:所有的出現都會被替換

i:i表示大小寫不敏感

I:I表示大小寫敏感

2.4 刪除

2.5 複製粘貼

2.6 縱向編輯

塊操作也叫縱向編輯模式。

縱向編輯不僅是編輯器的一種功能,更是人們思考問題的一種方式,項目符號、段落編號,都是縱向編輯的體現

2.6.1 進入縱向編輯模式

在 Vim 命令模式下,移動遊標定位於某一個位置,鍵入 ctrl-v後狀態欄上出現 VISUAL BLOCK 字樣,即進入縱向編輯模式。移動光標以按需選擇待編輯的區域。

2.6.2 批量修改

第一步:將光標定位於想要修改的字符

第二步:ctrl-v 進入縱向編輯模式

第三步:移動光標選中需要修改的修改的區域 (鍵入G:移動光標至最後一行;鍵入gg:移動光標至第一行)

第四步:鍵入r進入修改模式

第五步:鍵入想改成為的字母(貌似只支持英文,中文不支持)的同時完成修改

說明:這種方式只支持單字符的修改的修改,如果一次選中多個字符比如「12」,想要修改為「ab」,按下a的時候「12」已經改為「aa」了。

2.6.3 批量插入

第一步:將光標定位於想要修改的字符

第二步:ctrl-v 進入縱向編輯模式

第三步:移動光標選中需要修改的修改的區域 (鍵入G:移動光標至最後一行;鍵入gg:移動光標至第一行)

第四步:鍵入I或者A進入插入模式(I:在光標之前插入;A:在光標之後插入)

第五步:鍵入想插入的字符串

第六步:ESC 退出縱向編輯模式的同時所有選中的字符後都添加了想要插入的內容

2.6.4 批量刪除

第一步:將光標定位於想要修改的字符

第二步:ctrl-v 進入縱向編輯模式

第三步:移動光標選中需要修改的修改的區域 (鍵入G:移動光標至最後一行;鍵入gg:移動光標至第一行)

第四步:鍵入d的同時完成選中內容的刪除

2.6.5 vim插件VisIncr

Vim 的縱向編輯模式還可以通過插件 VisIncr 的擴展,實現更豐富的功能,如縱向的生成數列,這裡暫未探究。

2.7 其他命令

2.8 vim 打開文件後顯示亂碼

Vim 有四個跟字符編碼方式有關的選項,encoding、fileencoding、fileencodings、termencoding ,它們的意義如下:

encoding—— Vim 內部使用的字符編碼方式,包括 Vim 的 buffer (緩衝區)、菜單文本、消息文本等。如你的vim的encoding為utf-8,所編輯的文件採用cp936編碼,vim會自動將讀入的文件轉成utf-8(vim的能 讀懂的方式),而當你寫入文件時,又會自動轉回成cp936(文件的保存編碼)。

fileencoding —— Vim 中當前編輯的文件的字符編碼方式,Vim 保存文件時也會將文件保存為這種字符編碼方式 (不管是否新文件都如此)。

fileencodings —— Vim自動探測fileencoding的順序列表, 啟動時會按照它所列出的字符編碼方式 從前到後,逐一探測 即將打開的文件的字符編碼方式。因此最好將Unicode 編碼方式放到這個列表的最前面,如果都找不到,那麼就會以 latin1 (ASCII)的方式打開。

termencoding—— Vim 所工作的終端 (或者 Windows 的 Console 窗口) 的字符編碼方式。如果vim所在的term與vim編碼相同,則無需設置。如其不然,你可以用vim的termencoding選項將自動轉換成 term的編碼.這個選項在 Windows 下對我們常用的 GUI 模式的 gVim 無效,而對 Console 模式的Vim 而言就是 Windows 控制臺的代碼頁,通常我們不需要改變它。

註:Vim 在線幫助 :help encoding-names

2.9 windows與linux系統互傳文件問題分析解決

2.9.1 vim打開文件後出現^M的解決方法

在linux下,不可避免的會用VIM打開一些windows下編輯過的文本文件。我們會發現文件的每行結尾都會有一個^M符號,這是因為 windows編輯器和 Linux編輯器對文件行末的回車符處理不一致,對於回車符的定義:

windows:0D0Aunix\linux:0AMAC:0D解決方法:

2.9.2 windows文件上傳到linux之後無法解析

(1)unix2dos filename

將unix中文件轉換為windows可查看的格式(主要是非可見字符)

(2)dos2unix filename

將windows中的文件轉換為unix可查看的格式 (主要是非可見字符)

相關焦點

  • linux中的vim命令
    如何查看命令的幫助文檔,三種方式:內置命令:help ls外部命令:ls --help,簡單的幫助文檔手冊man ls, 通過使用man查看詳細的幫助內容vim和vi命令本質上就是一個命令,這個命令是在linux命令中專門用來編輯文本文件的
  • vim常用命令匯總,學會這些讓你健步如飛
    在Linux下行走的大俠估計沒人不知道vim的,但很多人可能只是簡單的用一下,或者是用的時候上網查一下。但認真思考一下,似乎很多命令不能馬上知道如何使用。今天本號在這裡給大家分門別類的總結了一下VIM的一些快捷鍵與技巧,希望對大家有所幫助。
  • linux-vi或vim命令
    vi編輯中中文亂碼,修改方法:set encoding=utf-8 或set encoding=utf8高級一些的編輯器,都會包含宏功能,vim當然不能缺少了,在vim中使用宏是非常方便的::qx 開始記錄宏,並將結果存入寄存器xq 退出記錄模式@x 播放記錄在x寄存器中的宏命令
  • vim常用命令有哪些?Linux入門學習
    vim是一個文本編輯程序,沒有菜單,只有命令,且命令繁多。在運維培訓學習中,vim編輯器都有哪些知識點?有哪些命令需要掌握?yy:複製當前行,n yy複製n行p:在光標所在位置向下新開闢一行,粘貼P:從光標所在行,開始粘貼可視模式v:按字移動配合h、j、k、l使用
  • 遊戲夜讀|vim,vim,vim
    比如:在作業系統中右鍵便可以輕鬆選擇vim打開文件了。vim是個老牌編輯器,當下最新的是v8.1,主要的作者只有一位:布拉姆·米勒 (Bram Moolenaar)。「Bram在1961年出生於荷蘭的利瑟(Lisse, Netherlands)。
  • Linux下vim編輯器的使用小技巧
    如果採取這個操作沒有效果的話,那麼可以使用組合鍵ctrl+r鍵來恢復上次的不正確操作。注意在vim編輯器中,這個ctrl+z組合鍵是不起作用的。如果在vim編輯器中使用這個組合鍵的話,則在終端會顯示^z符號。可見這個組合鍵默認情況下在vim編輯器中沒有定義。注意如果是出於輸入模式的下的話,需要先使用esc鍵退出輸入模式,然後再使用u鍵。
  • Linux vim-vi 使用說明
    Linux下使用vim或vi編譯器,編輯文檔Linux平臺使用系統自帶vi 或在ubuntu下終端中使用  「apt-get install vim」 命令進行編譯器安裝打開終端(或使用Alt+Ctrl+t 快捷鍵命令打開終端)新建一個文件:touch  app.txt
  • VIM編輯器學習
    VIM學習方法本文引用地址:http://www.eepw.com.cn/article/151642.htm  Vim目前已經有類Unix版和Windows版,儘管vim較vi已經改良了不少,但是初次使用還是會一頭霧水,不知如何操作,所以學習vim要首先過2關。
  • Linux系列教程(十)——Linux文本編輯器vim
    這樣我們在實際應用中,遇到需要實現某個功能,我們腦海只要能想起來適用於某個命令就行,至於詳細格式我們可以通過查資料。當我們使用的多了,會不知不覺的記住這些命令,這才是正確的學習方法。Linux命令有很多,如果初學者就想全部記住這些命令的詳細格式,會對我們產生很大的學習挫敗性,還沒記完這些命令,或許你已經喪失了學習Linux的熱情了。
  • vim+py文件構造linux後門
    答案是可以使用,現如今的vim編輯器為了更好的支持python語言,默認是安裝了python擴展,通過vim的python擴展,也可以去啟動一個python程序。可通過「vim --version」查看是否已支持python擴展。
  • Vim學習筆記整理
    >normal模式:進入vim不能編輯或者少按esc的不能編輯的模式;編輯模式:通過insert(插入)、append(追加)或者少新建一行o等等可以編輯內容模式;命令模式:類似退出 :wq這種模式;可視化模式:visual模式;(Visual
  • 遊戲夜讀|vim一份極簡手冊
    這個時候,鍵盤、滑鼠等輸入設備什麼都不做的話,vim編輯器是處於"只讀"的"預覽"模式,也叫normal,稀鬆平常的一個模式。一旦敲入英文字符 ":",就會發現編輯器下方出現了一個等待繼續輸入的空間,此刻的vim編輯器正處於命令模式,敲完記得按下Enter鍵。而一旦輸入了英文字母 "i",就會發現編輯器下方出現了一個插入的提示,可以輸入和編輯了,此刻的vim編輯器正處於編輯模式。有進入就有退出。
  • linux常用命令總結
    在目錄/etc中查找以init開頭的,且後面有三位的文件注意:模糊匹配的條件,建議使用單引號或雙引號括起來。如果*被轉義,可使用 單雙引號括住查詢條件,或者使用\*。eg: # find .也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令# which lsalias ls='ls --color=auto'/bin/ls# which zs/
  • Vim 入門:基礎 | Linux 中國
    好消息是你可以使用相同的命令在 Vim 中創建或打開文件:vim <FILE_NAME>,其中 <FILE_NAME> 表示要創建或修改的目標文件名。讓我們通過輸入 vim HelloWorld.java 來創建一個名為 HelloWorld.java 的文件。你好,Vim!
  • Vim,牛逼
    打開終端,鍵入「vim」,就可以進入啟動界面了,如下圖所示。Vim 有很多聰明的設計,所以很多其他工具也支持 Vim 模式,比如說 Visual Studio Code。很牛掰的一點是,Vim 逃離了滑鼠的「魔掌」,只通過鍵盤就可以肆意地操作文本。
  • 在VIM中實現對嵌入式軟體的調試
    流傳著這樣一種說法,「世界上的程式設計師分三種,一種使用Emacs,一種使用VIM,剩餘的是其他。」不去辯論這句話的對與錯,單純從字面意義上來理解,也足見VIM的魅力了。因此,在VIM中實現對嵌入式軟體的調試,我們便得到了一個高效、穩定的嵌入式Linux的開發環境。
  • Vim 編輯器的兼容模式
    但在我們開始之前,請注意在本教程中提及的所有例子、命令及用法說明都是在 Ubuntu 14.04 上測試的,我們測試用的 Vim 版本是 7.4 。Vim 中的兼容模式與不兼容模式為了更好理解上述的 Vim 模式,你有必要先去了解下此編輯器初始化過程的一個重要方面。
  • @程式設計師,不容錯過的 Vim 實用技巧請查收!
    純粹主義者的Vim我使用標準Vim幫助中的表示形式來書寫模態命令,即<cr>表示按下回車鍵。在需要使用:h獲取幫助的時候,例如:h E676,我會將幫助的字符串寫到括號中。其他普通命令":,@:": 是保存最後執行的命令的寄存器。可以使用":p將該寄存器的內容顯示到當前緩衝區中。@:返回最後一條命令。
  • Vim 起步的五個技巧
    因為 Vim 適合我,至少我有一丁點的使用經驗。而且,很重要的一點就是,在我需要處理的系統上很少碰見沒有裝 Vim 或者它的弱化版(Vi)。如果你有強烈的欲望想學習對你來說更給力的 Emacs,我希望這些對於 Emacs 同類編輯器的建議能對你有所幫助。花了幾周的時間專注提高我的 Vim 使用技巧之後,我想分享的第一個建議就是必須使用它。
  • 如何在使用 Vim 時訪問/查看 Python 幫助 | Linux 中國
    讓我們看看如何在 Vim 編輯器中使用 pydoc 訪問 Python 文檔。使用 pydoc 訪問 python 幫助語法是:pydoc keywordpydoc3 keywordpydoc lenpydoc print編輯你的 ~/.vimrc:$ vim ~/.vimrc為 pydoc3 添加以下配置(