首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Vim/Vi 進階命令大全:高效編輯、批量替換、暫存器、巨集實戰技巧

     編輯:Java 相關知識

Vi/Vim 是類 Unix 系統預設編輯器,掌握進階命令可大幅提升編碼、配置檔修改效率。本文整理高頻實用命令,分類說明並附實戰場景。

光標移動與編輯

命令作用
w/b/e按單詞前進/後退/尾部
0/^/$行首/第一個非空白/行尾
gg/G/nG檔案首/尾/第 n 行
Ctrl+u/Ctrl+d半頁向上/向下捲動
xp交換光標字元與下一字元
ddp交換當前行與下一行
J合併當前行與下一行
.重複上一次修改操作

暫存器操作(多剪貼板)

"ayy   // 複製當前行到暫存器 a
"ap    // 貼上暫存器 a 內容
"b3dd  // 刪除 3 行存入暫存器 b
:reg   // 查看所有暫存器內容

系統剪貼板對應 * (Primary) 與 + (Clipboard) 暫存器(需 vim-gtk/vim-gnome 支援)。

搜尋與替換

/pattern      // 向下搜尋
?pattern      // 向上搜尋
n / N         // 下一個/上一個匹配
:%s/old/new/g            // 全檔替換
:%s#/usr/bin#/bin#g      // 使用 # 為分隔符,避免路徑斜線衝突
:g/^$/d                  // 刪除所有空行
:'<,'>s/^/  /            // 視覺模式選取區塊,行首插入兩空格

標記與跳轉

ma      // 標記當前位置為 a
'a      // 跳轉到標記 a 所在行首
`a      // 跳轉到標記 a 確切列位置
''      // 跳回上一次跳轉前位置
``      // 跳回上一次跳轉前確切位置

多檔案編輯

vim file1 file2   // 開啟多檔
:n / :N           // 下一個/上一個檔案
:buffers / :ls    // 列出緩衝區
:b 3              // 切換到第 3 個緩衝區
Ctrl+^            // 在當前檔與上一檔快速切換

巨集錄製與回放

qa      // 開始錄製巨集存入暫存器 a
...     // 執行一系列編輯操作
q       // 結束錄製
@a      // 回放巨集 a
10@a    // 回放 10 次

範例:為每行加上行號註解 qaI// Line ^ywA: pjq。

環境配置 (.vimrc 精選)

set number              " 顯示行號
set relativenumber      " 相對行號(配合 j/k 移動)
set incsearch           " 即時搜尋
set hlsearch            " 高亮搜尋結果
set ignorecase smartcase " 忽略大小寫/智能大小寫
set tabstop=4 shiftwidth=4 expandtab " 縮進 4 空格
set autoindent          " 自動縮進
set cursorline          " 高亮當前行
set mouse=a             " 啟用滑鼠
syntax on               " 語法高亮
filetype plugin indent on " 檔案類型插件

常見檔案格式轉換

:set fileformat=unix    " 轉換為 LF (去除 ^M)
:set fileformat=dos     " 轉換為 CRLF
:%s/\r//g               " 手動移除 ^M

或使用外部工具:dos2unix file / sed -i 's/\r//g' file。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved