整理一下vim常用的一些命令和操作,以便及时翻看查找
打开文件
进入命令行模式后输入:e
文件路径 可以打开相应文件。
移动光标
按Esc进入普通模式,在该模式下使用方向键或者h,j,k,l键可以移动游标。
| 按键 | 说明 |
|---|---|
h | 左 |
l | 右(小写L) |
j | 下 |
k | 上 |
w | 移动到下一个单词 |
b | 移动到上一个单词 |
不同的插入方式
| 命令 | 说明 |
|---|---|
i | 在当前光标处进行编辑 |
I | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
保存文件
输入:w
文件名可以将文档另存为其他文件名或存到其它路径下
从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑
退出方式
| 命令 | 说明 |
|---|---|
:q! | 强制退出,不保存 |
:q | 退出 |
:wq! | 强制保存并退出 |
:w <文件路径> | 另存为 |
:saveas
文件路径 | 另存为 |
:x | 保存并退出 |
:wq | 保存并退出 |
普通模式下输入Shift+zz即可保存退出vim
快速删除
| 命令 | 说明 |
|---|---|
x | 删除游标所在的字符 |
X | 删除游标所在前一个字符 |
Delete | 同x |
dd | 删除整行 |
dw | 删除一个单词(不适用中文) |
d$或D | 删除至行尾 |
d^ | 删除至行首 |
dG | 删除到文档结尾处 |
d1G | 删至文档首部 |
行间跳转
| 命令 | 说明 |
|---|---|
nG(n
Shift+g) | 游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set
nu以显示行号) |
gg | 游标移动到到第一行 |
G(Shift+g) | 到最后一行 |
Ctrl+o快速回到上一次(跳转前)光标所在位置,这
行内按照单词为单位进行跳转
| 命令 | 说明 |
|---|---|
w | 到下一个单词的开头 |
e | 到下一个单词的结尾 |
b | 到前一个单词的开头 |
ge | 到前一个单词的结尾 |
0或^ | 到行头 |
$ | 到行尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置(非常实用) |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
t<字母> | 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用) |
T<字母> | 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用) |
复制
-
普通模式中使用
y复制- 普通模式中,
yy复制游标所在的整行(3yy表示复制3行) - 普通模式中,
y^复制至行首,或y0。不含光标所在处字符。 - 普通模式中,
y$复制至行尾。含光标所在处字符。 - 普通模式中,
yw复制一个单词。 - 普通模式中,
y2w复制两个单词。 - 普通模式中,
yG复制至文本末。 - 普通模式中,
y1G复制至文本开头。
- 普通模式中,
-
普通模式中使用
p粘贴- 普通模式中,
p(小写)代表粘贴至光标后(下) - 普通模式中,
P(大写)代表粘贴至光标前(上)
- 普通模式中,
替换和撤销
| 命令 | 说明 |
|---|---|
r+<待替换字母> | 将游标所在字母替换为指定字母 |
R | 连续替换,直到按下Esc |
cc | 替换整行,即删除游标所在行,并进入插入模式 |
cw | 替换一个单词,即删除一个单词,并进入插入模式 |
C(大写) | 替换游标以后至行末 |
~ | 反转游标所在字母大小写 |
u{n} | 撤销一次或n次操作 |
U(大写) | 撤销当前行的所有修改 |
Ctrl+r | redo,即撤销undo的操作 |
命令行模式对文本操作
命令行模式下输入:ce(center)命令使本行内容居中
命令行模式下输入:ri(right)命令使本行文本靠右
命令行模式下输入:le(left)命令使本行内容靠左
查找
普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。
?与/功能相同,只不过?是向上而/是向下查找。
进入查找之后,输入n和N可以继续查找
n表示继续查找,N反向查找
高级查找
- 普通模式下输入
\*寻找游标所在处的单词 - 普通模式下输入
\#同上,但\#是向前(上)找,\*则是向后(下)找 - 普通模式下输入
g\*同\*,但部分符合该单词即可 - 普通模式下输入
g\#同\#,但部分符合该单词即可
多文件编译
同时创建两个新文件并编辑
$ vim 1.txt 2.txt
默认进入1.txt文件的编辑界面
- 命令行模式下输入
:n编辑2.txt文件,可以加!即:n!强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件 - 命令行模式下输入
:N编辑1.txt文件,可以加!即:N!强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件
进入vim后打开新文件
- 命令行模式下输入
:e 3.txt打开新文件3.txt - 命令行模式下输入
:e#回到前一个文件 - 命令行模式下输入
:ls可以列出以前编辑过的文档 - 命令行模式下输入
:b 2.txt(或者编号)可以直接进入文件2.txt编辑 - 命令行模式下输入
:bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目 - 命令行模式下输入
:e! 4.txt,新打开文件4.txt,放弃正在编辑的文件 - 命令行模式下输入
:f显示正在编辑的文件名 - 命令行模式下输入
:f new.txt,改变正在编辑的文件名字为new.txt
恢复文件
如果因为断电等原因造成文档没有保存,可以采用恢复方式,vim -r进入文档后,输入:ewcover
1.txt来恢复
$ vim -r 1.txt
视窗操作
- 命令行模式下输入
:sp 1.txt打开新的水平分屏视窗来编辑1.txt - 命令行模式下输入
:vsp 2.txt打开新的垂直分屏视窗来编辑2.txt - 在命令行模式下输入
:new打开一个新的vim视窗
创建加密文档
$ vim -x file1
输入您的密码
确认密码
这样在下一次打开时,vim就会要求你输入密码
在vim执行外部命令
在命令行模式中输入!可以执行外部的shell命令
:!ls用于显示当前目录的内容:!rm FILENAME用于删除名为 FILENAME 的文件:w FILENAME可将当前 VIM 中正在编辑的文件另存为 FILENAME 文件
获取目前的设定
- 命令行模式下输入
:set或者:se显示所有修改过的配置 - 命令行模式下输入
:set all显示所有的设定值 - 命令行模式下输入
:set option?显示option的设定值 - 命令行模式下输入
:set nooption取消当期设定值
set功能的说明
- 命令行模式下输入
:set autoindent(ai)设置自动缩进 - 命令行模式下输入
:set autowrite(aw)设置自动存档,默认未打开 - 命令行模式下输入
:set background=dark或light,设置背景风格 - 命令行模式下输入
:set backup(bk)设置自动备份,默认未打开 - 命令行模式下输入
: set cindent(cin)设置C语言风格缩进
5万+

被折叠的 条评论
为什么被折叠?



