您的位置:首页 > 运维架构 > Linux

Linux:Vim

2015-09-21 22:13 429 查看

模式介绍:

Vim具备6种基本模式和5中派生模式。

普通模式

启动后的默认模式,用于:移动光标、删除文本等待,常用命令:

dd:删除当前行。

[number]dd:连续执行number对应次数的dd命令,如:2dd等于连续执行两次dd。

d[移动命令]:删除当前行到移动命令移动范围之间的所有行,如:dj等于2dd。

按a(append)或i(insert)进入插入模式。

插入模式

键盘的输入会向文本缓冲区中插入文本。按ESC键回到普通模式。

可视模式

为了便于选择文本,Vim引入了可视模式。在普通模式下按v进入可视模式。该模式下移动命 令会扩大高亮的文本区域。当执行一个非移动命令时,命令会被作用到这块高亮的文本区域 上,然后Vim回到普通模式。

选择模式

命令模式

执行命令(:键)、搜索(/和?键)、过滤(!),执行命令后,Vim返回命令模式之前的模 式,通常是普通模式。

Ex模式

进入Vim

vim note.txt

如果先使用vim,然后进入命令模式输入:: note.txt,同样可以打开相应的文件。

光标移动

h 左

l 右

j 下

k 上

w 下一个单词

b 上一个单词

进入插入模式

i 在光标处进行编辑

I 在行首进行编辑

a 在光标后进行编辑

A 在行尾进行编辑

o 在当前行后插入一个新行

O 在当前行前插入一个新行

cw 替换从光标到一个单词结尾的字符

退出Vim

q!:强制退出,不保存。

q:退出

wq!:强制保存并退出

w [文件路径]: 另存为

saveas 文件路径:另存为

x:保存并退出

wq:保存并退出

SHIFT+zz:保存并退出

普通模式下删除文本

x:删除游标所在字符

X:删除游标所在前一个字符

Delete:同x

dd:删除正行

dw:删除一个单词(不适用中文)

d$或D:删除至行尾

d^:删除至行首

dG:删除至文档结尾处

dgg:删除至文档首部

Vim重复命令

在普通模式下,.表示重复上一次的命令操作。

在普通模式下,N[command],N表示重复后面的命令的次数。

游标的快速跳转

gg:跳转到第一行

G:跳转到最后一行

nG:跳转到第n行,如果没有显示行号,先使用:set nu显示行号。

CTRL+o:跳转到之前的位置

w:跳转到下一个单词的开头

e:跳转到下一个单词的结尾

b:跳转到前一个单词的开头

ge:跳转到前一个单词的结尾

^:跳转到行头

$:跳转到行尾

f[字母]:向后搜索字母并跳转到第一个匹配的位置

F[字母]:向前搜素字母并跳转到第一个匹配的位置

复制、粘贴、剪切

普通模式中使用y复制,yy表示复制所在的行,3yy表示复制3行,y后面可以跟随光标移动命 令,代表复制的范围,如:y^、yw、y2w、yG等。

普通模式中p粘贴,p代表粘贴在吧、光标后,P代表粘贴在光标前。

dd删除命令就是剪切。

替换

r + [待替换字符]:将游标所在字符替换为指定字符

R:连续替换,直到按下ESC。

cc:替换整行,即:删除游标所在行,进入插入模式。

C:替换游标以后至行尾

c + [移动命令]:替换移动命令包含的文本,即:删除移动命令包含的文本,进入插入模 式。

~:翻转游标所在字符的大小写

撤销

u + n:撤销一次或n次

U:撤销当前行的所有修改

CTRL + r:撤销undo的操作

调整文本位置



:向右缩进



<<:向左缩进

进入命令模式输入shiftwidth值可以控制缩进字符数

搜索

/ + 搜索内容:正向搜索

? + 搜索内容:反向搜索

n:继续查找

N:反向继续查找

*:正向搜索光标处的单词

#:反向搜索光标处的单词

多文件编辑

可以使用vim同时打开多个文件,在使用:n编辑下一个文件,使用:n!强制切换下一个文件。 使用:N编辑前一个文件,使用:N!强制编辑前一个文件。

打开新文件的方式有:

:e file:打开指定文件

:e#:回到前一个文件

:e! file:打卡指定的文件,放弃正在编辑的文件的修改。

:ls:列出之前编辑过的文件

:f:显示正在编辑的文件名

:f file:重命名在编辑的文件名字

:b file:可以直接进入文件编辑

可视模式

在普通模式下输入v、SHIFT+v、CTRL+v进入选择模式,再按同样的键退出选择模式。输入d 删除选择区的内容,输入y复制选择区的内容。

多视窗

sp file 新建横向视图

vsp file 新建纵向视图

ctrl+w+s 将当前视图分割成两个横向的视图

ctrl+w+v 将当前视图分割成两个纵向的视图

ctrl+w+q 关闭当前视图

ctrl+w+o 打开一个视图并关闭之前的所有视图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: