博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vi 與 vim 的指令整理
阅读量:4284 次
发布时间:2019-05-27

本文共 1901 字,大约阅读时间需要 6 分钟。

我的/etc/vimrc設定,加入這些

set nu
set tabstop=4
set ls=2

set listchars=eol:↵,tab:»·,trail:~,extends:»,precedes:«

轉載自

vi 與 vim 的指令整理

vi 是 unix 家族下最功能強大的文字編輯器,讓用戶只要使用一個鍵盤就可以完成所有的編輯。而  則是 vi 的加強版,甚至在  上也找得到 vim 的芳蹤。但 vi/vim 眾多的指令卻經常令初學者卻步,它的指令還有分大小寫,以下就是我所整理出來那些令人卻步的指令:

編輯模式

  指令 說明
* i 在游標位置進入編輯模式
  I 在游標行的第一個非空白字元進入編輯模式
* a 在游標位置後進入編輯模式
* A 在游標行的最後一個字元進入編輯模式
* o 向下新增一行,並進入編輯模式
  O 向上新增一行,並進入編輯模式
  cc 刪除游標行,並進入編輯模式
* [ESC] 取消指令或退出編輯模式

游標移動

  指令 說明
* gg 移到第一行
* G 移到最後一行
* 行數 → G 移動到第 n 行
  0 移動到該行最前面
  $ 移動到該行最後面
  字數 → [Space] 向右移動 n 個字元
* 行數 → [Enter] 向下移動 n 行

標記與複製

  指令 說明
* v 開始字串標記
* V 開始行標記
* v → [Ctrl]-V 開始區塊標記
* d 刪除標記的內容
* y 複製標記的內容
* yy 複製游標行
  yG 複製游標行到最後一行
  y1G 複製游標行到第一行
  y$ 複製游標處到最後一個字元
  y0 複製游標處到第一個字元
* p 在下一行貼上複製或刪除的內容
  P 在上一行貼上複製或刪除的內容
* [Ctrl]-R → 0 在下一行貼上複製或刪除的內容,適用於編輯模式及指令行

搜尋與取代

  指令 說明
* /搜尋字串 向下搜尋字串
  /\c搜尋字串 向下搜尋字串,不分大小寫
* * 將游標移到字串上,直接按 "*" 也可以做向下搜尋
  ?搜尋字串 向上搜尋字串
  ?\c搜尋字串 向上搜尋字串,不分大小寫
* :set ic 搜尋時不分大小寫
* :set noic 搜尋時要分大小寫
* n 繼續下一個搜尋結果
* N 繼續上一個搜尋結果
* :起始行,終止行s/搜尋字串/取代字串/gic 從第 n 行到第 n 行取代字串 (後面的 g: 整行全部, i: 不分大小寫,c: 詢問)
* :1,$s/搜尋字串/取代字串/gic 全部取代字串 (後面的 g: 整行全部, i: 不分大小寫,
c: 詢問)

刪除

  指令 說明
* dd 刪除游標行
* dG 刪除游標行到最後一行
  d1G 刪除游標行到第一行
* d$ 刪除游標處到最後一個字元
  d0 刪除游標處到第一個字元

檔案功能

  指令 說明
* :w 存檔 (加 ! 表示強制存檔)
* :w 檔案名稱 另存新檔
* :wq 存檔並退出 vi
  :e 檔案名稱 編輯其它檔案
* :e! 還原至檔案編修前的狀態
  :r 檔案名稱 讀入檔案內容,並加到游標行的後面
* :n 切換到下一個開啟的檔案
* :N 切換到上一個開啟的檔案
* :set nu 顯示行號
* :set nonu 取消行號顯示
* :files 列出所有開啟的檔案

視窗分割

  指令 說明
* :new 新增水平視窗
* :new 檔案名稱 新增水平視窗,並在新增的視窗載入檔案
* :vnew 新增垂直視窗
* :vnew 檔案名稱 新增垂直視窗,並在新增的視窗載入檔案
* [Ctrl]-W → [方向鍵] 切換視窗
* :only 僅保留目前的視窗

其它

* 指令 說明
* J 將游標行與下一行合併
* u 還原指令
* [Ctrl]-R 重做指令
* . 重覆上一個指令
  命令 執行 linux 指令,並顯示執行結果
* :q 退出 vi (加 ! 表示強制退出)

vim 的設定檔

通常我會編輯 /etc/vimrc,在檔案最後加入:

" 顯示列號set number" 語法高亮度顯示syntax on" 標記搜尋到的字串set hlsearch" 自動縮排set autoindent" 顯示說明set ruler" 顯示編輯狀態set showmode" 設定註解的顏色highlight Comment ctermfg=cyan" 設定搜尋到的字串顏色highlight Search term=reverse ctermbg=4 ctermfg=7" 設定 tab 鍵的字元數set tabstop=4

转载地址:http://dtsgi.baihongyu.com/

你可能感兴趣的文章
Python:操作dict时避免出现KeyError的几种方法
查看>>
谱聚类算法(Spectral Clustering)
查看>>
社区发现的3个评估指标:标准化互信息NMI,ARI指标,以及模块度(modularity)
查看>>
机器学习算法与Python实践之(六)二分k均值聚类
查看>>
逻辑回归 和 朴素贝叶斯 两者间的区别
查看>>
模块度与Louvain社区发现算法
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
机器学习降维算法四:Laplacian Eigenmaps 拉普拉斯特征映射
查看>>
机器学习降维算法一:PCA(主成分分析算法)
查看>>
非常见降维方法:Laplacian Eigenmaps 拉普拉斯特征映射
查看>>
NMF 非负矩阵分解(Non-negative Matrix Factorization)实践
查看>>
谱聚类(spectral clustering)原理总结
查看>>
CPM(Cluster Percolation method)派系过滤算法
查看>>
多目标进化算法(MOEAs)概述
查看>>
AdaBoost与随机森林区别
查看>>
坐标下降法(Coordinate descent)
查看>>
Matlab plot画图 坐标字体、字号、范围、间隔等的设置
查看>>
LATEX调整公式、图片与正文间距离,文字间距离,调整空白大小
查看>>
eps格式图像空白边缘裁剪
查看>>
稀疏问题的学习
查看>>