https://blog.csdn.net/yyy183833/article/details/79581385

配置编辑器

git配置vim编辑器,只需一条命令,如下:
git config —global core.editor vim
修改后可以在自己的home目录下.gitconfig中可以查看;
也可以输入 $ git config —list或者 $ git config core.editor 查看。
VIM编辑器 - 图1

Vim 常见的命令

  1. ‘a’/‘i’/‘o’进入编辑模式
  2. ‘esc’进入命令模式
  3. ‘:wq’保存退出
  4. ‘q!’不保存强制退出

    git commit 不输入 -m 以及后面的内容会进入vim模式

    vi & vim 有两种工作模式:
  • 命令模式:接受、执行 vi & vim 操作命令的模式,打开文件后的默认模式;
  • 编辑模式:对打开的文件内容进行 增、删、改 操作的模式; 在编辑模式下按下 ESC 键,回退到命令模式。
    创建、打开文件:$ vi [filename]
  1. 使用 vi 加 文件路径(或文件名)的模式打开文件,如果文件存在则打开现有文件,如果文件不存在则新建文件,并在终端最下面一行显示打开的是一个新文件。
  2. 键盘输入字母 “i”或“Insert”键进入最常用的插入编辑模式。

    保存文件:
  3. 在插入编辑模式下编辑文件。

  4. 按下 “ESC” 键,退出编辑模式,切换到命令模式。
  5. 在命令模式下键入”ZZ”或者”:wq”保存修改并且退出 vi 。
  6. 如果只想保存文件,则键入”:w”,回车后底行会提示写入操作结果,并保持停留在命令模式。

    放弃所有文件修改:
  7. 放弃所有文件修改:按下 “ESC” 键进入命令模式,键入 “:q!” 回车后放弃修改并退出vi。

  8. 放弃所有文件修改,但不退出 vi ,即回退到文件打开后最后一次保存操作的状态,继续进行文件操作:按下 “ESC” 键进入命令模式,键入 “:e!” ,回车后回到命令模式。

    模式切换

    | 按键 | 说明 | | —- | —- | | i | 进入插入模式;从目前游标所在处插入 | | I | 进入插入模式;从目前游标所在行的第一个非空白字元处插入 (常用) | | a | 进入插入模式;从目前游标所在处的下一个字元开始插入 | | A | 进入插入模式;从目前游标所在行的最后一个字元开始插入 (常用) | | o | 是字母,表示进入插入模式;从目前游标所在行的下一行处插入新的一行 | | O | 是字母,表示进入插入模式;从目前游标所在行的上一行处插入新的一行 (常用) | | r | 进入取代模式;只会取代游标所在的那个字元一次 | | R | 进入取代模式;会一直取代游标所在的文字,直到按下 [Esc] 为止 (常用) | | [Esc] | 从编辑模式返回到一般指令模式 (常用) |

* ! 表示强制执行

移动游标

按键 说明
h 或向左方向键 游标向左移动一个字元
j 或向下方向键 游标向下移动一个字元
k 或向上方向键 游标向上移动一个字元
l 或向右方向键 游标向右移动一个字元
[ctrl]+[f] 屏幕向下移动一页,相当于[Page Down](常用)
[ctrl]+[b] 屏幕向上移动一页,相当于[Page Up](常用)
[ctrl]+[d] 屏幕向下移动半页
[ctrl]+[u] 屏幕向上移动半页
n+[Space] n 表示数字,按下数字后再按空格键,游标会向右移动到这一行的第 n 个字元。
功能键[Home]或 0 游标移动到这一行的第一个字元处
功能键[End]或 $ 游标移动到这一行的最后一个字元处 (常用)
H 游标移动到这个屏幕最上方那一行的第一个字元
M 游标移动到这个屏幕中央那一行的第一个字元
L 游标移动到这个屏幕最下方那一行的第一个字元
G 游标移动到这个档案的最后一行 (常用)
nG n 为数字。游标移动到这个档案的第 n 行
gg 游标移动到这个档案的第一行 (常用)
n+[Enter] n 为数字。游标向下移动 n 行 (常用)

搜索替换

按键 说明
/word 在当前游标所在位置往下寻找关键字为 word 的字符串 (常用)
?word 在当前游标所在位置往上寻找关键字为 word 的字符串
n 这里的 n 是按键 n。代表重复前一个搜索动作
N 这里的 N 是按键 N。功能与 n 相反,代表反向执行前一个搜索动作
:n1,n2s/word1/word2/g n1 与 n2 都为数字,表示行数。可在第 n1 行与第 n2 行之间寻找 word1 字符串,并替换为 word2 (常用)
:1,$s/word1/word2/g 表示从第一行到最后一行,将 word1 字符串替换为 word2 (常用)
:1,$s/word1/word2/gc 表示从第一行到最后一行,也是将 word1 字符串替换为 word2,不同之处是在替换前显示提示字元,由用户确认是否最终替换 (常用)

PS:. 代表一个任意字符 代表一个或多个字符的重复 < 指定匹配单词开头 > 指定匹配单词结尾
单词精确匹配替换::1,$s/<word1>/word2/gc
**
使用 /word 的同时,配合使用 n 或者 N,搜索可以变得很方便**

编辑操作

按键 说明
[Del] 或 x 向后删除一个字元 (常用)
X 向前删除一个字元 (常用)
nx n 为数字,表示连续向后删除 n 个字元
dd 删除游标所在的那一行 (常用)
ndd n 为数字,删除游标所在的那一行往下数 的 n 个行 (常用)
d1G 删除游标所在的那行到第一行的所有数据
dG 删除游标所在的那行到最后一行的所有数据
d$ 删除游标所在处到该行的最后一个字元
d0 是数字 0,删除游标所在处到该行的第一个字元
yy 复制游标所在的那一行 (常用)
nyy n 为数字, 复制游标所在的那一行往下数 n 行 (常用)
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制游标所在的字元到该行行首的所有数据
y$ 复制游标所在的字元到该行行尾的所有数据
p 将已复制的数据粘贴在游标所在的那一行的下一行 (常用)
P 将已复制的数据粘贴在游标所在的那一行的上一行,原来游标所在的那一行会被推后一行 (常用)
J 将游标所在的行与下一行的数据合并为一行
u 撤销前一个操作 (常用)
[ctrl]+r 重做上一个被撤销的操作 (常用)
. 这是小数点,表示重复前一个操作 (常用)

* 最后三个按键乃是神器,熟悉后记得经常使用它们,会让你觉得使用 vim 是一件很快乐的事情

环境设定

按键 说明
:set nu 设定行号
:set nonu 取消行号
:set hlsearch 搜索到的关键字反白显示 (默认)
:set nohlsearch 搜索到的关键字取消反白显示
:set autoindent 自动缩排 (默认)
:set noautoindent 不自动缩排
:set backup 自动存储备份档(备份档名为 filename~)
:set ruler 显示右下角状态说明
:set showmode 显示左下角状态说明(比如 INSERT)
:set backspace=(012) 倒退键设置;2:可以删除任意值;0 或者 1,仅可删除刚刚输入的字符,无法删除原来就存在的字符
:set all 显示所有环境参数设定值
:set 显示与系统默认值不同的设定值
:syntax on 开启语法着色
:syntax off 关闭语法着色
:set bg=dark 开启语法着色深色方案
:set bg=light 开启语法着色浅色方案 (默认)