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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

vim超实用指南收藏这一篇就够了

發布時間:2023/12/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim超实用指南收藏这一篇就够了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

vim是一個Unix文本編輯器,它以快速高效而聞名,是在終端中運行的小應用程序(當然也有圖形界面),它最主要的特點是完全可以通過鍵盤控制,而不需要菜單欄或鼠標。

例如,將文本插入到文件中,按i鍵并輸入。瀏覽文本或輸入命令,在鍵盤上按Esc,然后按下對應的任何鍵或組合鍵。對于大多數人來說,是一種非常不尋常的文本編輯方式,但這是基于Linux環境工作的開發者編輯配置文件、更改腳本、編寫代碼等操作的主流方式。

本文將介紹一些必要的基本命令,以供大家很快很容易地掌握vim編輯器。建議初學者在使用中進行學習,而不是只看不動手。不實戰操作,那你可能很快忘記這些命令。

使用vim打開文件后,一般會用到三種模式:命令模式(command mode)、輸入模式(insert mode)和底行命令模式(last line mode)。剛啟動vim時,默認進入命令模式。這時候,我們敲打鍵盤的字母會被識別為不同的命令。如方向鍵h、j、k、l輸入鍵i、a、o,切換到輸入模式;冒號鍵:,切換到底行命令模式。

進入輸入模式,可以任意的碼入字母、符號,按esc鍵退出到命令模式。在底行命令模式,可以輸入單個或者多個命令,按enter鍵結束運行。

1、vim的進入和退出:vi、vim、:q、:q!、:wq在terminal中直接敲vi或vim打開文本

:q?退出文件

:q!?強制退出文件,丟棄你所做的任何改動

:wq保存修改,然后退出文件

2、移動光標:h、j、k、l鍵h左移l右移j下移k上移,熟練使用hjkl鍵,習慣之后我們能很快地在屏幕四處移動光標。

3、插入、刪除和撤銷:i、A、x、u鍵、ctrl+r

在command模式下:按下i鍵可以進入insert模式,在光標后插入文字,輸入完成按esc鍵A鍵,光標移動到本行末輸入);按下x鍵可以刪除光標所在位置的字符;按下u鍵可以撤銷操作,回到上一步。ctrl+r撤銷掉撤銷命令。按下esc鍵會回到command模式或者撤銷一個不想輸入或部分完整的命令。

4、刪除類命令:dw、d$、dd

dw從光標處刪除至一個單詞的末尾

d$從光標處刪除至本行末尾

dd?刪除光標所在行

5、在動作前輸入數字會使操作重復那么多次3dd?執行三次光標所在行,即往下刪除三行

2w?使光標向前移動兩個單詞

0?移動到光標的行首

6、關于定位和文件狀態gg?跳到文件第一行G / shift+g?跳到文件最后一行ctrl+g?顯示當前編輯文件名和文件中光標位置gf 進入光標所在位置路徑的文件

7、關于搜索命令/?加上字符串可以用于在當前文件中查找該字符串用于反向查找

例如:/error <回車>即可在文件中查找errorn鍵向下繼續搜索,N鍵或shift+n鍵向上繼續搜索(shift+小寫=大寫

8、替換命令:s/old/new/g?g是全局進行匹配多種操作需要多加學習應用

9、在vim內執行外部命令輸入:!?然后輸入外部命令即可執行該外部命令所有的:命令都必須以敲回車鍵結束

10、使用操作符y復制文本,使用p粘貼文本

配合可視模式使用多行操作是經常會用到的,切記!

11、set設置一些選項:set xxx 可以設置 xxx 選項。一些有用的選項如下:'ic' 'ignorecase' 查找時忽略字母大小寫'is' 'incsearch' 查找短語時顯示部分匹配'hls' 'hlsearch' 高亮顯示所有的匹配短語

12、獲取在線系統幫助

如下三種方法:- 按下 <HELP> 鍵 (如果鍵盤上有的話)- 按下 <F1> 鍵 (如果鍵盤上有的話)- 輸入 :help <回車>

13、啟用更多的vim的特性Vim 的功能特性要比 Vi 多得多,但其中大部分都缺省沒有啟用。為了使用更多的特性,需要創建一個vimrc文件。

1. 開始編輯 vimrc 文件,具體命令取決于所用的操作系統::edit ~/.vimrc 這是 Unix 系統所使用的命令:edit $VIM/_vimrc 這是 MS-Windows 系統所使用的命令

2. 接著讀取 vimrc 示例文件的內容::r $VIMRUNTIME/vimrc_example.vim

3. 保存文件,命令為::write

下次啟動 Vim 時,編輯器就會有了語法高亮的功能。 可以把喜歡的各種設置添加到這個 vimrc 文件中。 要了解更多信息請輸入 :help vimrc-intro

14、使用<tab>鍵進行命令行補全

補全對于許多命令都有效,當輸入: 命令時,tab鍵可以匹配補全。

15、vim自帶了一個教程說明,我們可以直接輸入vimtutor,打開教程做相應的練習即可。

全局

  • :h[elp] 關鍵字 - 打開關鍵字幫助
  • :sav[eas] 文件名 - 另存為
  • :clo[se] - 關閉當前窗口
  • :ter[minal] - 打開一個shell窗口
  • K - 打開光標所在單詞的man頁面

移動光標

  • h - 左移光標
  • j - 下移光標
  • k - 上移光標
  • l - 右移光標
  • H - 移動到當前頁面頂部
  • M - 移動到當前頁面中間
  • L - 移動到當前頁面底部
  • w - 移動到下個單詞開頭
  • W - 移動到下個單詞開頭(單詞含標點)
  • e - 移動到下個單詞結尾
  • E - 移動到下個單詞結尾(單詞含標點)
  • b - 移動到上個單詞開頭
  • B - 移動到上個單詞開頭(單詞含標點)
  • ge - 移動到上個單詞結尾
  • gE - 移動到上個單詞結尾(單詞含標點)
  • % - 跳轉到配對的符號(默認支持的配對符號組:: '()', '{}', '[]' - 在vim中使用 :h matchpairs 獲得更多信息)
  • 0 - 移動到行首
  • ^ - 移動到行首的非空白符
  • $ - 移動到行尾
  • g_ - 移動到行內最后一個非空白符
  • gg - 移動到文件第一行
  • G - 移動到文件最后一行
  • 5gg or 5G - 移動到第五行
  • gd - 跳轉到局部定義
  • gD - 跳轉到全局定義
  • fx - 移動到字符 x 下次出現的位置
  • tx - 移動到字符 x 下次出現的位置的前一個字符
  • Fx - 移動到字符 x 上次出現的位置
  • Tx - 移動到字符 x 上次出現的位置的后一個字符
  • ; - 重復之前的f、t、F、T操作
  • , - 反向重復之前的f、t、F、T操作
  • } - 移動到下一個段落 (當編輯代碼時則為函數/代碼塊)
  • { - 移動到上一個段落 (當編輯代碼時則為函數/代碼塊)
  • zz - 移動屏幕使光標居中
  • Ctrl + e - 向下移動屏幕一行(保持光標不動)
  • Ctrl + y - 向上移動屏幕一行(保持光標不動)
  • Ctrl + b - 向上滾動一屏
  • Ctrl + f - 向下滾動一屏
  • Ctrl + d - 向下滾動半屏
  • Ctrl + u - 向上滾動半屏

插入模式 - 插入/追加文本

  • i - 從光標前開始插入字符
  • I - 從行首開始插入字符
  • a - 從光標后開始插入字符
  • A - 從行尾開始插入字符
  • o - 在當前行之下另起一行, 開始插入字符
  • O - 在當前行之上另起一行, 開始插入字符
  • ea - 從當前單詞末尾開始插入
  • Ctrl + h - 在插入模式下,刪除光標前的字符
  • Ctrl + w - 在插入模式下,刪除光標前的單詞
  • Ctrl + j - 在插入模式下,另起一行
  • Ctrl + t - 在插入模式下,向右縮進,寬度由 shiftwidth 控制
  • Ctrl + d - 在插入模式下,向左縮進,寬度由 shiftwidth 控制
  • Ctrl + n - 在插入模式下,在光標之前插入自動補全的下一個匹配項
  • Ctrl + p - 在插入模式下,在光標之前插入自動補全的上一個匹配項
  • Ctrl + rx - 插入寄存器 x 的內容
  • Ctrl + ox - 暫時進入正常模式以發出一個正常模式命令 x。
  • Esc - 退出插入模式

編輯文本

  • r - 替換當前字符
  • R - 在 ESC 按下之前,替換多個字符
  • J - 將下一行合并到當前行, 并在兩部分文本之間插入一個空格
  • gJ - 將下一行合并到當前行, 兩部分文本之間不含空格
  • gwip - 重新調整段落
  • g~ - switch case up to motion
  • gu - 小寫操作修飾符
  • gU - 大寫操作修飾符
  • cc - 將光標所在的行刪除, 然后進入插入模式
  • C - 將光標處到行尾刪除, 然后進入插入模式
  • c$ - 將光標處到行尾刪除, 然后進入插入模式
  • ciw - 將光標所在的單詞刪除, 然后進入插入模式
  • cw or ce - 從光標位置開始, 修改單詞
  • s - 刪除當前字符, 然后進入插入模式
  • S - 清空當前行, 然后進入插入模式 (同cc)
  • xp - 當前字符后移
  • u - 撤銷
  • U - 撤銷上一次的改動行的操作
  • Ctrl + r - 重做(取消撤銷)
  • . - 再次執行上個命令

選擇文本(可視化模式)

  • v - 進入可視化模式, 移動光標高亮選擇, 然后可以對選擇的文本執行命令
  • V - 進入可視化模式(行粒度選擇)
  • o - 切換光標到選擇區開頭/結尾
  • Ctrl + v - 進入可視化模式(矩陣選擇)
  • O - 切換光標到選擇區的角
  • aw - 選擇當前單詞
  • ab - 選擇被 () 包裹的區域(含括號)
  • aB - 選擇被 {} 包裹的區域(含花括號)
  • at - 選擇被 <> 標簽包裹的區域(含<>標簽)
  • ib - 選擇被 () 包裹的區域(不含括號)
  • iB - 選擇被 {} 包裹的區域(不含花括號)
  • it - 選擇被 <> 標簽包裹的區域(不含<>標簽)
  • Esc - 退出可視化模式

可視化模式命令

  • > - 向右縮進
  • < - 向左縮進
  • y - 復制
  • d - 剪切
  • ~ - 大小寫切換
  • u - 將選中文本轉換為小寫
  • U - 將選中文本轉換為大寫

剪切, 復制, 粘貼

  • yy - 復制當前行
  • 2yy - 復制 2 行
  • yw - 復制當前單詞
  • yiw - 復制光標處的單詞
  • yaw - 復制光標處的單詞及其前后的空格
  • y$ - 復制, 從光標位置到行末
  • p - 在光標后粘貼
  • P - 在光標前粘貼
  • dd - 剪切當前行
  • 2dd - 剪切 2 行
  • dw - 剪切當前單詞
  • diw - 刪除光標處的單詞
  • daw - 刪除光標處的單詞及其前后的空格
  • D - 剪切, 從光標位置到行末
  • d$ - 剪切, 從光標位置到行末 (同<kbd>D</kbd>)
  • x - 剪切當前字符

文字縮進

  • >> - 將當前行向右縮進,寬度由 shiftwidth 控制
  • << - 將當前行向左縮進,寬度由 shiftwidth 控制
  • >% - 向右縮進 () 或 {} 內的區域 (光標需置于括號上)
  • >ib - 向右縮進 () 內的區域
  • >at - 向右縮進 <> 標簽內的區域
  • 3== - 自動縮進 3 行
  • =% - 自動縮進 () 或 {} 內的區域 (光標需置于括號上)
  • =iB - 自動縮進 {} 內的區域 (光標需置于括號上)
  • gg=G - 自動縮進整個緩沖區
  • ]p - 粘貼并調整縮進至當前行

退出

  • :w - 保存
  • :w !sudo tee % - 使用 sudo 保存當前文件
  • :wq or :x or ZZ - 保存并退出
  • :q - 退出(修改未保存時警告)
  • :q! or ZQ - 不保存強制退出
  • :wqa - 保存所有標簽頁并全部退出

查找/替換

  • /pattern - 查找<kbd>pattern</kbd>
  • ?pattern - 向上查找<kbd>pattern</kbd>
  • n - 查找下一個
  • N - 查找上一個
  • :%s/old/new/g - 替換全部
  • :%s/old/new/gc - (逐個)替換
  • :noh[lsearch] - 移除搜索結果的高亮顯示

多文件搜索

  • :vim[grep] /pattern/{`{file}`} - 在多個文件中搜索 <kbd>pattern</kbd>
  • :cn[ext] - 移動至下一個
  • :cp[revious] - 移動至上一個
  • :cope[n] - 打開搜索結果列表

標簽

  • :tabnew or :tabnew {page.words.file} - 在新標簽中打開文件
  • Ctrl + wT - 將窗口變成標簽
  • gt or :tabn[ext] - 切換到下一個標簽
  • gT or :tabp[revious] - 切換到上一個標簽
  • #gt - 切換到第<kbd>#</kbd> 個標簽
  • :tabm[ove] # - 移動標簽到第<kbd>#</kbd> 位(下標從 0 開始)
  • :tabc[lose] - 關閉當前標簽
  • :tabo[nly] - 關閉其他標簽
  • :tabdo command - 在所有標簽中執行命令

多文件編輯

  • :e[dit] 文件名 - 新建緩沖區打開 filename
  • :bn[ext] - 切換到下個緩沖區
  • :bp[revious] - 切換到上個緩沖區
  • :bd[elete] - 關閉緩沖區
  • :ls or :buffers - 列出所有打開的緩沖區
  • :sp[lit] 文件名 - 新建緩沖區打開 filename 并水平分割窗口
  • :vs[plit] 文件名 - 新緩沖區打開 filename 并垂直分割窗口
  • :vert[ical] ba[ll] - edit all buffers as vertical windows
  • :tab ba[ll] - edit all buffers as tabs
  • Ctrl + ws - 水平分割窗口
  • Ctrl + wv - 垂直分割窗口
  • Ctrl + ww - 在窗口間切換
  • Ctrl + wq - 關閉窗口
  • Ctrl + wx - 將窗口切換到下一個窗口
  • Ctrl + w= - 使所有窗口的高度和寬度相等
  • Ctrl + wh - 切換到左側窗口
  • Ctrl + wl - 切換到右側窗口
  • Ctrl + wj - 切換到下側窗口
  • Ctrl + wk - 切換到上側窗口
  • Ctrl + wH - 使游標所在視窗全高并移至最左 (最左垂直視窗)
  • Ctrl + wL - 使游標所在視窗全高并移至最右 (最右垂直視窗)
  • Ctrl + wJ - 使游標所在視窗全寬并移至最下 (最下水平視窗)
  • Ctrl + wK - 使游標所在視窗全寬并移至最上 (最上水平視窗)

趕緊點個贊和收藏,以防迷路!!!?

總結

以上是生活随笔為你收集整理的vim超实用指南收藏这一篇就够了的全部內容,希望文章能夠幫你解決所遇到的問題。

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