分享交流
合作共赢!

Linux常用基础命令使用总结【六】——vim编辑器

vim(vi improve)编辑器前身是vi(Visual Interface), 一种常用的文本编辑器,而文本指的是由纯ASCII或Unicode组成的文本数据。ASCII是美国国家信息标准交换代码,Unicode是国际通用的编码方式,其使用16位的二进制符号将全世界的常用字符进行统一编码,常用的编码机制如UTF-8等。

按文本编辑器种类可分为:行编辑器(如:sed)、全屏编辑器(如:nano, vi)

vi可称为模式化编辑器,常用模式:编辑模式、输入模式、末行模式(命令模式)

一、打开文件

vim [OPTION]… FILE…

+[#]:想打开文件后,让光标直接处于第#行的行首,如vim + system.log,打开后光标在末行行首;

+/PATTERN:打开文件后,直接让光标处于第一个被PARTTERN匹配到的行的行首;

二、模式转换

1.编辑模式 转为–> 输入模式:

i:insert,在光标所在处前面插入;

a:append, 在光标所在处后面输入;

o:在当前光标所在行下方打开一个新行;

I:在当前光标所在行的行首输入

A:在当前光标所在行的行尾输入

O:在当前光标所在行的上方打开一个新行;

c:删除命令

C:删除整行

2.输入模式转换–>编辑模式

按ESC键

3.编辑模式转换–>末行模式

:(冒号)

4.末行模式转换–>编辑模式

按ESC键

三、关闭文件

:q :推出

:q! 强制退出,不保存

:wq或:x或ZZ 保存退出

:w /PATH/TO/SOMEWHERE 将当前文本保存到其他文件

四、光标跳转

1.字符间跳转

h: 向左跳一个字符

j: 向下跳一个字符

k: 向上跳一个字符

l: 向右跳一个字符

#COMMAND:跳转由#指定的个数的字符

2.单词间跳转

w: 跳转至下一个单词的词首

e: 跳转当前或下一个单词的词尾

b: 跳转至当前或下一个单词的词首

#COMMAND:由#指定一次跳转的单词数

3.行首行尾跳转

^: 跳转至行首的第一个非空白字符;

0: 跳转至行首;

$: 跳转至行尾;

4.行间跳转

#G:跳转至第#行

gg或1G: 跳转至行首

5.句间跳转

(:跳转至上一句的句首

):跳转至下一个句子

6.段落间跳转

} :跳转至下一个段落

{ :跳转至上一个段落

五、编辑操作命令

1.字符编辑

x: 删除光标处的单个字符

#x : 删除光标处起使位置开始的#个字符

xp: 交换光标所在处的字符及其后面字符的位置;

2.删除命令

d: 删除命令,可结合光标跳转字符,视线范围内删除;

d$: 删除光标处至行尾的内容

d^: 删除光标处至行首的内容

d0:  删除光标处至行首的内容

dw: 删除光标处所在位置至当前单词或下一个单词词尾内容

de: 删除光标处所在位置至当前单词或下一个单词词尾内容

db: 删除光标处所在位置至当前单词或上一个单词词尾内容

#COMMAND:删除#个单词

dd: 表示删除光标所在行整行

#COMMAND:向下删除当前光标行在内的#行,实现多行删除

3.粘贴命令(p, put, paste)

P(大写): 缓冲区中如果为整行内容,则粘贴至当前光标所在行的下方;否则粘贴至当前光标所在处的后面

p(小写): 缓冲区中如果为整行内容,则粘贴至当前光标所在行的上方;否则粘贴至当前光标所在处的前面

4.复制命令(y, yank)

y: 复制,工作行为相似于删除d命令;

5.改变命令(c, change)

c:删除并输入新内容,工作行为相似于删除d命令;

6.替换命令(r, replace)

r: 单字符替换,如r+a, 把光标处字符替换为a;

#r: 把光标处后的#个字符替全部换为输入的字符;

其他编辑操作命令:

7、可视化模式

v(小写): 按字符选定内容

V(大写): 按行选定内容

通常结合编辑命令:d, c, y 一起使用

8、撤销此前的编辑:(默认可撤销50次)

u(undo): 撤销此前的操作

#u:撤销指定#次的操作

9、恢复此前的撤销

Ctrl+r

10、重复前一次操作

.(点号)

11.翻屏操作

Ctrl+f:向文件尾部翻一屏;

Ctrl+b:向文件首部翻一屏;

Ctrl+d:向文件尾部翻半屏;

Ctrl+u:向文件首部翻半屏;

vimtutor命令可以学习vim相关使用方法

六、VIM的末行模式

1.地址定界“:start_pos,end_pos”, 如:1,10, 表示从1到10行

#:表示具体到第#行,例如:20表示第20行;

#,#:从左侧#表示行开始,到右侧#表示行结尾;

#,+#:从左侧#表示行开始,加上右侧#表示的行数;

.:当前行;

$:最后一行;

.,$-1:当前行到最后一行减一

%:表示全文,相当于1,$

/pat1/,/pat2/:表示第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束;

#,/pat/:从第#行开始到第一次被pat匹配到的行;

/pat/,$:从第一次被pat匹配到的行开始到最后一行;

地址定界后面可以直接跟命令d,w,y

w /PATH/TO/SOMEWHERE : 将范围内的行另存到指定的文件中;

r /PATH/TO/SOMEWHERE :在指定位置插入指定文件中的所有内容;

2.查找

/PATTERN:从光标所在出向文件尾部查找;

?PATTERN: 从光标所在处向文件首部查找;

敲键盘n键,向同命令方向查找;

敲键盘N键,向命令相反方向查找;

3.查找并替换

s命令: 在末行模式下完成查找替换操作,标准模式为:

s/要查找的内容/要替换的内容/修饰符

查找的内容:可以使用模式,

替换的内容:不能使用模式,但是可以使用后项引用\1,\2,……的引用符号,还可以使用&符引用前面查找到的整个内容。

修饰符:

i: 表示忽略大小写

g: 表示全局替换,不加g的话下每一行只替换第一次出现的内容

分隔符:可以使用@、#之类的特殊字符

七、其他模式的使用

1.多文件模式

vim FILE1 FILE2 FILE3 …  ,末行模式下

:next 切换到下一个文件内容;

:prev 切换到前一个文件内容;

:first 切换到第一个文件内容

:last 切换到最后一个文件内容;

:wall 保存所有

:qall 退出所有

2.窗口分割模式

vim -o|-O FILE1 FILE2 FILE …

-O:水平分割,

-o:垂直分割,

Ctrl+w+w在窗口间切换

3.单文件窗口分割:

Ctrl+w,s :水平分割,split

Ctrl+w,v:垂直分割,vertical

八、vim的个性化配置

配置文件(永久配置):全局配置文件/etc/vimrc, 个人配置文件~/.vimrc

末行定制(临时:当前vim进程有效)

1.行号配置

显示行号:set number简写set nu;

取消显示:set nonumber简写set nonu;

永久配置在~/.vimrc文件中加入相关命令如:set nu后每次打开文件显示行号

2.括号匹配

显示匹配:set showmatch, 简写set sm

取消匹配:

3.自动缩进

启用:set ai

取消:set noai

4.高亮搜索

启用:set hlsearch

禁用:set nohlsearch

5.语法高亮

启用: syntax on

禁用: syntax off

6. 忽略字符大小写

启用:set ic

不忽略:set noic

九、获取帮助

获取VIM相关帮助,可在末行模式下输入:

:help
:help subject
赞(1) 打赏
未经允许不得转载:琼杰笔记 » Linux常用基础命令使用总结【六】——vim编辑器

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏