Vim常用命令 配置及外掛程式總結

2021-10-07 13:24:25 字數 3988 閱讀 5586

本篇是在學習了pegasuswang的課程:玩轉vim 從放棄到愛不釋手 後總結的常用操作筆記。此課程從vim入門開始,由淺入深地講解了vim的基礎操作、配置及常用外掛程式,可以免去學習的許多彎路,是非常優秀的vim課程,同時也是免費的。

下面進入我們此次的正文。

1.終端命令列操作

2.快速移動

3.快速增刪改查

4.搜尋替換

5.多檔案操作

6.複製貼上與暫存器的使用

7.巨集的使用 - 批量操作

8.補全

9.配色方案

vim配置及外掛程式

nomal模式 -> 插入模式

視覺化模式

常用操作normal模式:

e/e: 移動到下乙個 word/word 結尾

b/b: 移動到上乙個 word/word 開頭 (backword)

hjkl: 代替上下左右按鍵

0/$: 行首/行尾

gg/g: 移動到文字開始位置/移動到文字結束位置

ctrl+f / ctrl+u: 向下翻頁/向上翻頁

cw/caw/ciw: 刪除當前游標後的單詞並進入插入模式(包括空格)/刪除當前游標所處的單詞並進入插入模式(包括空格)/ 刪除當前游標所處的單詞並進入插入模式(不包括空格)

同理,利用視覺化模式的vi" / ( / { 可以做到選中的功能

d/dd: 配合文字物件快速刪除乙個單詞/刪除整行

x: 刪除乙個字元

r/r: 替換乙個字元/從當前字元開始一直替換

y/p/d: 複製(yank)/貼上(put)/剪下(delete)

u/ctrl+r: 撤銷上一步操作/取消上一次撤銷操作

normal模式下,:[range] s/[pattern]/[string]/[flags] 搜尋並替換,其中:

[pattern]: 源字串(可正則)

[string]: 替換後的文字

[flags]: 幾個常用標誌

buffer操作:

window操作:(代表ctrl+w)

巨集的使用分為錄製和回放, 適用於批量重複性操作。

批量操作過程:

nomal模式下使用q來錄製,同時也是q來結束錄製

使用q[register]選擇要儲存的暫存器(例如qa),把錄製的命令儲存其中

使用@[register]回放暫存器中儲存的一系列命令(例如@a)

v選擇一行進入到視覺化模式,使用g移動到檔案尾部全選剩下的,然後在命令列模式下輸入 :normal 就是使用normal模式下的命令, :normal @a 就可以將剩下的全部執行記錄下的巨集。

對已選中的內容執行normal命令的操作方式:

批量操作也可以不使用巨集,第二種方式:

選擇需要操作的內容,例如gg + v + g完成檔案內容全選

使用命令 :normal [要執行的normal命令] 完成對選中內容的批量操作

+ 補全單詞

+ 補全檔名

+ 補全**,需要開啟檔案型別檢查(:filetype on),安裝外掛程式

補全時出現選項條時,往下, 往上

在~/.vimrc檔案寫入vim的持久化配置:

" 設定行號

set number

" 開啟語法高亮

syntax on

" 設定配色方案

set background=dark

colorscheme hybrid

" 設定高亮搜尋

set hlsearch

set incsearch

" 按f2 進入貼上模式

set pastetoggle=" 設定摺疊方式

set foldmethod=indent

" 一些方便的對映

let mapleader=','

let g:mapleader=','

" 使用jj進入normal模式

inoremap jj `^

noremap

hnoremap

jnoremap

knoremap

l" json格式化

com! formatjson %!python3 -m json.tool

" 外掛程式設定,這裡使用了vim-plug外掛程式管理器

call plug#begin('~/.vim/plugged')

plug 'mhinz/vim-startify'

plug 'vim-airline/vim-airline'

plug 'vim-airline/vim-airline-themes'

plug 'yggdroot/indentline'

plug 'w0ng/vim-hybrid'

plug 'altercation/vim-colors-solarized'

plug 'preservim/nerdtree'

plug 'kien/ctrlp.vim'

call plug#end()

map :nerdtreetoggle

let g:ctrlp_map =

''

換行:source +檔案路徑 啟用配置檔案

~/.vimrc配置:

" nerdtree settings

nnoremap f :nerdtreefindnnoremap t :nerdtreetoggle"

set width

let nerdtreewinsize=31

" show hidden files

let nerdtreeshowhidden=1

" not show files listed

let nerdtreeignore=

[ \ '\.git$', '\.hg$', '\.svn$', '\.stversions$', '\.pyc$', '\.pyo$', '\.swp$',

\ '\.ds_store$', '\.sass-cache$', '__pycache__$', '\.egg-info$', '\.ropeproject$',

\ ]" ctrlp settings

let g:ctrlp_map =

''

配置完成後,f 開啟目錄樹並定位到當前檔案,t 開關目錄樹。

使用 t 開啟目錄樹後,按wp 可跳轉回視窗之前編輯的位置。

~/.vimrc配置:

" easymotion settings

nmap ss (easymotion-s2)

配置好後,在nomal模式下輸入ss,再輸入需要定位的字元(螢幕視覺化範圍內),再根據高亮字元,選擇要去的位置即可完成定位。

搜尋替換外掛程式:

再使用 :fardo 命令確認替換

git:

~/.vimrc配置:

let g:pymode_python =

'python3'

let g:pymode_trim_whitespaces = 1

let g:pymode_doc = 1

let g:pymode_doc_bind =

'k'let g:pymode_rope_goto_definition_bind =

''let g:pymode_lint = 1

let g:pymode_lint_checkers =

['pyflakes', 'pep8', 'mccabe', 'pylint'

]let g:pymode_options_max_line_length = 120

靜態檢查 ale:

VIM常用命令總結

個人常用的vim命令列表 移動游標 上 k nk 向上移動n行 9999k或gg可以移到第一行 g移到最後一行 下 j nj 向下移動n行 左 h nh 向左移動n列 右 l nl 向右移動n列 w 游標以單詞向前移動 nw 游標向前移動n個單詞 游標到單詞的第乙個字母上 b 與w相反 e 游標以單...

vim常用命令總結

把vim常用命令總結一下,以便日後查閱 模式 normal 常規模式 esc insert 插入模式 i visual 可視模式 選擇整行,整段文字 v 儲存,退出 wq 儲存 退出 q 強制退出 進入,返回 ctrl 進入tag ctrl o 返回上一層 插入 i 在游標前插入字元 a 在一行的末...

Vim常用命令總結

h j k l 分別對應於 ctrl f 向下翻一頁 forward ctrl b 向上翻一頁 back ctrl d 向下翻半頁 down ctrl u 向上翻半頁 up h 螢幕頂行首字元 m 螢幕中間首字元 l 螢幕末行首字元 gg 當前檔案首行首字元 g 當前檔案末行首字元 n g 跳轉到第...