vim
vi是linux系统中标准编辑器,其地位相当于windows中记事本,vim可以看作vi的升级版 vim的三种模式:一般指令模式,编辑模式,命令行模式 三种模式之间的切换
打开文件
vim filename
vim n filename
vim /word filename
vim filename1 filename2 filename3
一般指令模式
指令说明
h | j | k | l | Ctrl+f | Ctrl+b | Ctrl+d | Ctrl+u |
---|
左移 | 下移 | 上移 | 右移 | 向下翻页 | 向上翻页 | 向下半页 | 向上半页 | + | - | n<space> | 0 | $ | H | M | L | 光标移动到非空格符下一行 | 光标移动到非空格符上一行 | 光标移动到这一行的第n个字符 | 移动到行首 | 移动到行尾 | 移动到当前页首列 | 移动到当前页中间行 | 移动到当前页行尾 | G | nG | gg | n<Enter> | /word | ?word | n | N | 移动到文件尾 | 移动到第n行 | 移动到第一行 | 向下移动n行 | 向下查找word字符串 | 自光标处向上查找word | 重复前一个搜索动作 | 反向执行前一个搜索动作 | x | X | nx | dd | ndd | d1G | dG | d$ | 删除光标位置的字符 | 删除光标前的字符 | 向后连续删除n个字符 | 删除光标所在行 | 删除自光标向下n行 | 删除光标行与首行之间所有行 | 删除光标行到尾行之间所有行 | 删除光标所在位置到该行尾的所有字符 | d0 | yy | nyy | y1G | yG | y$ | y0 | p | 删除光标所在处到行首所有字符 | 复制光标所在行 | 自光标向下复制n行 | 复制光标所在行至首行之间的所有行 | 复制光标所在行至尾行之间所有行 | 复制光标处至行尾所有字符 | 复制光标处至行首所有字符 | 粘贴到光标下一行 | P | J | c | u | Ctrl+r | | | | 粘贴到光标上一行 | 将光标所在行与下一行合并为一行 | 重复删除多个数据 | 撤销上一个动作 | 重做上一个动作 | | | |
多行替换
:n1,n2s/word1/word2/g
插入模式
i | I | a | A | o | O | r | R |
---|
自光标处插入 | 自当前行第一个非空格字符处插入 | 自光标下一个字符插入 | 自光标行行尾插入 | 在光标行下插入新行 | 在光标行上插入新行 | 替代光标处字符 | 一直替换光标处字符,直到esc |
命令行模式
:w | :q | :wq | ZZ | :w [filename] | :r[filename] | :n1,n2 w [filename] | :! command | :set nu | :set nonu |
---|
写入 | 退出 | 退出并保存 | 文件若改动则保存 | 文件另存 | 在当前文件中加入另一个文件内容 | 将n1到n2之间的内容存储到filename中 | 暂时离开vim,在终端执行命令 | 显示行号 | 不显示行号 |
区块操作
v | V | Ctrl+v | y | d | p |
---|
将光标经过的字符反白 | 将字符经过的行反白 | 长方形选择 | 复制反白区域 | 删除反白区域 | 粘贴 |
多文件编辑
可以通过vim file1 file2打开多个文件,可以在第一个文件下复制,在到第二个文件下粘贴
:n | :N | :files |
---|
打开下一个文件 | 打开上一个文件 | 查看打开的文件 |
多窗口编辑
在打开一个文件后,再打开一个文件 :sp filename 上图中1文件是先打开的,2是后打开的
Ctrl + w + j/? | Ctrl + w + k/? | Ctrl + w + q |
---|
切换到下方窗口 | 切换到上方窗口 | 关闭窗口 |
|