目录
Vim 总体介绍
Vim的三种模式
不同模式下的操作命令
一般/命令模式
删除/复制/粘贴/撤销/重复:
一般模式下移动光标:
搜索替换
切换到编辑模式
切换到命令行模式
编辑模式
命令行模式
Vim 总体介绍
vim 是一款在 Linux 系统下的纯文本编辑器,是 vi 的加强版本,兼容 vi 指令。具有代码补全、编译及错误跳转等方便编程的功能,在程序员中广泛被使用。vim 不仅能编辑文本,还具有程序编辑能力,可以以不同颜色的字体辨别语法的正确性,方便程序设计。
vim 的官方网站:http://www.vim
vim 教程:Linux vi/vim | 菜鸟教程 (runoob)
Vim的三种模式
Vim / Vi 编辑器共有三种工作模式:
- 一般/命令模式(Command Mode)
- 编辑模式(Insert Mode)
- 命令行模式(Command-Lind Mode)
在 Linux 终端中,输入 vim+filename 即可进入vim 编辑器的一般/命令模式。若文件不存在,则新建以此为文件名的文件。
// 编辑或新建
vim 1.txt
// 打开时光标在 2.txt 文件的第二行
vim 2.txt + 2
不同模式下的操作命令
一般/命令模式
启动vim后,便进入了一般/命令模式,此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符。
删除/复制/粘贴/撤销/重复:
x | 删除当前光标所在处的字符 |
10x | 连续删除10个字符 |
dd | 剪切当前行,用 p 可粘贴 |
ndd | 剪切当前行以及其后的 n-1行 |
dw | 删除单词,光标在单词第一个字母处 |
d$ | 删除光标所在处,到改行的最后一个字符 |
yy | 复制当前行 |
nyy | 复制当前行以及其后的 n-1行 |
yw | 复制当前单词 |
p | 粘贴复制的内容,在当前行的下一行开始粘贴 |
P | 粘贴复制的内容,在当前行的上一行开始粘贴 |
u | 撤销上一个步骤 |
ctrl + r | 重复上一个动作 |
. | 小数点,重复前一个动作! |
一般模式下移动光标:
h(或左方向键) | 光标左移一个字符 |
j(或下方向键) | 光标下移一个字符 |
k(或上方向键) | 光标上移一个字符 |
l(或右方向键) | 光标右移一个字符 |
ctrl + f | 屏幕『向下』移动一页,相当于下一页 |
ctrl + b | 屏幕『向上』移动一页,相当于上一页 |
0 | 光标移动至当前行行首 |
$ | 光标移动至当前行行尾 |
G | 移动到文件最后一行 |
nG | 移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行 |
gg | 移动到这个文件第一行,相当于 1G |
ngg | 移动到这个文件第 n 行 |
:n | 跳转第n行首 |
w | 光标跳到下一个单词的开头 |
e | 光标跳到下一个单词的自尾 |
b | 光标跳到上一个单词的开头 |
搜索替换
/word | 向光标之下寻找一个名称为 word 的字符串。之后按下n/N n:在同一方向上重复上一次搜索命令 N:在反方向上重复上一次搜索命令 |
?word | 向光标之上寻找一个名称为 word 的字符串。 n:在同一方向上重复上一次搜索命令 N:在反方向上重复上一次搜索命令 |
:n1,n2s/word1/word2/g | n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2, 举例: 在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD :100,200s/vbird/VBIRD/g |
:1,$s/word1/word2/g | 全局寻找word1 并替换成word2 |
:%s/word1/word2/g | 全局寻找word1 并替换成word2 |
:1,$s/word1/word2/gc | 全局寻找word1 并替换成word2.替换前询问是否确认 |
切换到编辑模式
i | 在当前光标所在字符前进入编辑模式 |
I | 在当前光标所在行的行首进入编辑模式 |
a | 在当前光标所在字符后进入编辑模式 |
A | 在当前光标所在行的行尾进入编辑模式 |
o | 在当前光变所在行的下一行,新建一行,并进入编辑模式 |
O | 在当前光变所在行的上一行,新建一行,并进入编辑模式 |
进入编辑编辑模式后,在 vim 左下角会出现 --INSERT-- 字样 | |
ESC | 退出编辑模式,回到一般模式 |
切换到命令行模式
在一般模式下,输入 : 即可进入底行命令行模式,具体命令后续说明。
编辑模式
ENTER | 回车键,换行 |
字符按键以及shift组合 | 输入字符 |
BACK | 退格键,删除光标前一个字符 |
DEL | 删除键,删除光标后一个字符 |
方向键 | 移动光标 |
HOME/END | 移动光标到行首或行尾 |
Page Up | 上翻页 |
Page Down | 下翻页 |
ESC | 退出编辑模式,回到一般模式 |
命令行模式
:w | 保存文件 |
:w! | 强制写入,与文件权限有关 |
:wq | 保存退出 |
:wq! | 强制保存并退出 |
:q | 退出 |
:q! | 退出不保存 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
:w filename | 将编辑的数据储存成另一个档案(类似另存新档) |
:r filename | 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 |
ESC | 退出底线命令行模式 |
目录
Vim 总体介绍
Vim的三种模式
不同模式下的操作命令
一般/命令模式
删除/复制/粘贴/撤销/重复:
一般模式下移动光标:
搜索替换
切换到编辑模式
切换到命令行模式
编辑模式
命令行模式
Vim 总体介绍
vim 是一款在 Linux 系统下的纯文本编辑器,是 vi 的加强版本,兼容 vi 指令。具有代码补全、编译及错误跳转等方便编程的功能,在程序员中广泛被使用。vim 不仅能编辑文本,还具有程序编辑能力,可以以不同颜色的字体辨别语法的正确性,方便程序设计。
vim 的官方网站:http://www.vim
vim 教程:Linux vi/vim | 菜鸟教程 (runoob)
Vim的三种模式
Vim / Vi 编辑器共有三种工作模式:
- 一般/命令模式(Command Mode)
- 编辑模式(Insert Mode)
- 命令行模式(Command-Lind Mode)
在 Linux 终端中,输入 vim+filename 即可进入vim 编辑器的一般/命令模式。若文件不存在,则新建以此为文件名的文件。
// 编辑或新建
vim 1.txt
// 打开时光标在 2.txt 文件的第二行
vim 2.txt + 2
不同模式下的操作命令
一般/命令模式
启动vim后,便进入了一般/命令模式,此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符。
删除/复制/粘贴/撤销/重复:
x | 删除当前光标所在处的字符 |
10x | 连续删除10个字符 |
dd | 剪切当前行,用 p 可粘贴 |
ndd | 剪切当前行以及其后的 n-1行 |
dw | 删除单词,光标在单词第一个字母处 |
d$ | 删除光标所在处,到改行的最后一个字符 |
yy | 复制当前行 |
nyy | 复制当前行以及其后的 n-1行 |
yw | 复制当前单词 |
p | 粘贴复制的内容,在当前行的下一行开始粘贴 |
P | 粘贴复制的内容,在当前行的上一行开始粘贴 |
u | 撤销上一个步骤 |
ctrl + r | 重复上一个动作 |
. | 小数点,重复前一个动作! |
一般模式下移动光标:
h(或左方向键) | 光标左移一个字符 |
j(或下方向键) | 光标下移一个字符 |
k(或上方向键) | 光标上移一个字符 |
l(或右方向键) | 光标右移一个字符 |
ctrl + f | 屏幕『向下』移动一页,相当于下一页 |
ctrl + b | 屏幕『向上』移动一页,相当于上一页 |
0 | 光标移动至当前行行首 |
$ | 光标移动至当前行行尾 |
G | 移动到文件最后一行 |
nG | 移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行 |
gg | 移动到这个文件第一行,相当于 1G |
ngg | 移动到这个文件第 n 行 |
:n | 跳转第n行首 |
w | 光标跳到下一个单词的开头 |
e | 光标跳到下一个单词的自尾 |
b | 光标跳到上一个单词的开头 |
搜索替换
/word | 向光标之下寻找一个名称为 word 的字符串。之后按下n/N n:在同一方向上重复上一次搜索命令 N:在反方向上重复上一次搜索命令 |
?word | 向光标之上寻找一个名称为 word 的字符串。 n:在同一方向上重复上一次搜索命令 N:在反方向上重复上一次搜索命令 |
:n1,n2s/word1/word2/g | n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2, 举例: 在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD :100,200s/vbird/VBIRD/g |
:1,$s/word1/word2/g | 全局寻找word1 并替换成word2 |
:%s/word1/word2/g | 全局寻找word1 并替换成word2 |
:1,$s/word1/word2/gc | 全局寻找word1 并替换成word2.替换前询问是否确认 |
切换到编辑模式
i | 在当前光标所在字符前进入编辑模式 |
I | 在当前光标所在行的行首进入编辑模式 |
a | 在当前光标所在字符后进入编辑模式 |
A | 在当前光标所在行的行尾进入编辑模式 |
o | 在当前光变所在行的下一行,新建一行,并进入编辑模式 |
O | 在当前光变所在行的上一行,新建一行,并进入编辑模式 |
进入编辑编辑模式后,在 vim 左下角会出现 --INSERT-- 字样 | |
ESC | 退出编辑模式,回到一般模式 |
切换到命令行模式
在一般模式下,输入 : 即可进入底行命令行模式,具体命令后续说明。
编辑模式
ENTER | 回车键,换行 |
字符按键以及shift组合 | 输入字符 |
BACK | 退格键,删除光标前一个字符 |
DEL | 删除键,删除光标后一个字符 |
方向键 | 移动光标 |
HOME/END | 移动光标到行首或行尾 |
Page Up | 上翻页 |
Page Down | 下翻页 |
ESC | 退出编辑模式,回到一般模式 |
命令行模式
:w | 保存文件 |
:w! | 强制写入,与文件权限有关 |
:wq | 保存退出 |
:wq! | 强制保存并退出 |
:q | 退出 |
:q! | 退出不保存 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
:w filename | 将编辑的数据储存成另一个档案(类似另存新档) |
:r filename | 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 |
ESC | 退出底线命令行模式 |