vim 程序编辑器

1. 通常指令模式

1.1 光标的移动方法

按键 说明
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 行 (经常使用)

1.2 查找与替换

按键 说明
/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,不一样之处是在替换前显示提示字元,由用户确认是否最终替换 (经常使用)

* 使用 /word 的同时,配合使用 n 或者 N是很是有帮助的.vim

1.3 删除、复制以及粘贴

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

 

2 通常指令模式→编辑模式

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

* 在左下角处看到 INSERT 或 REPLACE 时,才表示已经进入编辑模式。spa

3 通常指令模式切换到指令列模式

按键 说明
:w 将编辑的文件写入硬盘 (经常使用)
:w! 若是文件为只读状态,能够强制写入硬盘,是否写入成功,与你所拥有的文件权限有关
:q 离开 vi (经常使用)
:q! 即便文件未保存,仍强行离开 vi
:wq 文件写入硬盘后(即保存)离开 vi (经常使用)
:wq! 文件强制写入硬盘后(即保存)离开 vi
ZZ 大写字母 Z,若是文件没有修改,则直接离开;若是文件被修改,则保存后离开
:w [filename] 将当前文件另存为另外一个文件,这个新文件的保存路径为当前路径
:r [filename] 在当前文件中读入另外一个文件的数据,插入到当前光标所在列的后面
:n1,n2 w [filename] 将第 n1 行到第 n2 行的数据储存为新的文件
:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果

 

4 vim 特有功能

4.1 区域选择

按键 说明
v 字符选择,移动光标,光标通过的地方会反白选择
V 行选择,移动光标,光标通过的行会反白选择
[Ctrl]+v 区块选择,移动光标以长方形方块的方式反白选择
y 复制反白选择的地方
d 删除反白选择的地方
p 将以前复制的区块,粘贴在光标所在处

4.2 多文件编辑

按键 说明
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出 vim 所打开的全部文件

使用 vim a.txt b.txt … 指令,就能一次打开多个文件字符串

4.3 多视窗

按键 说明
:sp [filename] 开启一个新视窗。若是有加 filename,表示是在新视窗开启一个新文件;不然,表示两个视窗为同一个文件的内容(即同步显示)
[ctrl]+w+向下方向键 先按下[ctrl]不放,而后再按下 w 后放开全部按键,最后再按下向下方向键,光标就会移动到下方的视窗
[ctrl]+w+向上方向键 按键方法同上,光标会移动到上方的视窗
[ctrl]+w+q 关闭当前光标所在的视窗

4.4 补齐

按键 说明
[ctrl]+x -> [ctrl]+n 依据目前正在编辑的文件内容做为关键字,予以补齐(语法依据副档名)
[ctrl]+x -> [ctrl]+f 依据当前目录下的文件名,予以补齐
[ctrl]+x -> [ctrl]+o 以副档名做为语法关键字,予以补齐

4.5 环境设定参数

按键 说明
: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 开启语法着色浅色方案 (默认)
相关文章
相关标签/搜索