加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim编辑器

发布时间:2020-12-15 17:06:32 所属栏目:安全 来源:网络整理
导读:一、简介 1.vi:Visual Interface,是一种文本编辑器,所谓文本数据是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。 2. Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Em

一、简介

1.vi:Visual Interface,是一种文本编辑器,所谓文本数据是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。

2.Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

3.Vim的第一个版本由布莱姆?米勒在1991年发布。最初的简称是ViIMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放源代码方式下发行的自由软件。

二、文本编辑器的种类

1.行编辑器:所谓行编辑器是指一行一行来编辑处理的工具,如sed。

2.全屏编辑器:编辑空间占据整个屏幕,如nano,vi。

三、vim的使用

1.打开文件

2.语法:vim [OPTION]... [FILE]...

3.vim有以下几种打开方式:

①vim +#(后接数字):打开文件后,直接让光标处于第#行的行首;例如:vim +3 /etc/passed;

②vim +/PATTERN(正则表达式):打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首;例如:vim +/^U /etc/fstab;

③vim + file:直接打开file,光标在最后一行;例如:vim + /etc/fstab;

④vim -b file:二进制方式打开文件;例如:vim -b /bin/cat;

⑤vim -d file1 file2...:比较多个文件

⑥vim -m file:只读方式打开文件;例如:vim -m /etc/fstab;

4.如果该文件存在,文件被打开并显示内容;如果该文件不存在,当编辑后第一次存盘时创建它;

四、vim是一个模式编辑器

1.vim三种主要模式:

命令模式(默认):移动光标,剪切/粘贴文本;

插入模式(编辑):修改文本;

扩展命令模式:保存,退出等;

2.Esc键:可以从插入模式转换到命令模式

五、模式转换

1.从命令模式----->插入模式,可使用以下命令:

i:在当前光标所在处前面输入;

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

a:在当前光标所在处后面输入;

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

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

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

2.从插入模式----->命令模式:Esc键;

3.命令模式----->扩展模式:直接输入冒号(:)即可在窗口左下方显示冒号;

4.从扩展模式---->命令模式:Esc键;

5.锁定和解锁:ctrl+s,ctrl+q;

六、退出文件

1.扩展模式:

:q 退出;

:q! 不保存退出;

:wq 保存退出;

:x 保存退出;

:wq! 强制保存退出;

2.命令模式

ZZ:保存退出;

ZQ:不保存退出;

七、扩展模式

1.按冒号(:)进入扩展模式:

r filename:读文件内容到当前文件中;例如 :r /etc/issue;

w filename:将当前文件内容写入另一个文件;例如:w /testdir/f1;

!command:执行命令;例如:!ls;

r!command:读入命令的输出;例如:r!ls /root;

八、命令模式光标跳转

1.字符间跳转:

h:左

l:右

K:上

j:下

#command:跳转由#指定的个数的字符;例如:#h,#k;

2.单词间跳转:

w:下一个单词的词首;

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

b:当前单词或前一个单词词首;

#command:由#指定一次跳转的单词数;例如:3w,3e;

3.当前页跳转:

H:页首;

M:页中间行;

L:页底;

4.行首行尾跳转:

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

0:跳转至行首;

$:跳转至行尾;

5.行间移动:

#G:直接跳转至第#行;

G:最后一行;

1G,gg:第一行;

6.句子间移动:

):下一句;

(:上一句;

7.段落间移动:

}:下一段;

{:上一段;

九、命令模式翻屏操作

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

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

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

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

十、命令模式操作

1.字符编辑:

x:删除光标处字符;

#x:删除光标处起始的#个字符;

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

~:转换大小写;

2.替换命令:

r:替换光标所在处字符;

R:切换成REPLACE模式;

3.删除命令:

d:删除命令,可结合光标跳转字符,实现范围删除;

d$:删除到行尾;

d^:删除到非空行首;

d0:删除到行首;

dw:删除到下一个单词的词首;

de:删除到当前单词或下一单词的词尾;

db:删除到当前单词或前一单词的词首;

#command:删除多个单词;

dd:删除光标所在的行;

#dd:多行删除;

D:从当前光标位置一直删除到行尾,留空行,等同于d$;

4.复制命令:

y:复制,可结合光标跳转字符,实现范围复制;

y$:复制到行尾;

y0:复制到行首;

y^:复制到非空行首;

ye:复制到当前单词或下一单词的词尾;

yw:复制到下一个单词的词首;

yb:复制到当前单词或前一单词的词首;

#command:复制多个单词;

yy:复制行;

#yy:复制多行;

Y:复制整行;

5.粘贴命令:

p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面;

P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面;

6.改变命令:

c:修改,可结合光标跳转字符,实现范围修改;所谓修改就是先删除,再转换为插入模式;

c$:删除到行尾;

c^:删除到非空行首;

c0:删除到行首;

cb:删除到当前单词或前一单词的词首;

ce:删除到当前单词或下一单词的词尾;

cw:删除到下一个单词的词首;

#command:删除多个单词

cc:删除当前行并输入新内容;

#cc:删除多行

C:删除当前光标到行尾,并切换成插入模式

7.100iwu [Esc]:含义是粘贴“wu”100次;

8.语法:<start position> <command> <end position>

Command:

y:复制

d:删除

gU:变大写

gu:变小写

例如:0y$命令含义是:

0:跳到行首

y:从这里开始复制

$:复制到本行最后一个字符

十一、扩展模式

1.地址定界

:start_pos,end_pos

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

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

#,+#: 从左侧#表示的行起始,加上右侧#表示的行数;例如:2,+3表示2到5行;

.:当前行;

$:最后一行;

.,$-1:当前行到倒数第二行;

%:全文,相当于1,$;

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

#,/pat/:

/pat/,$:

使用方式:后跟一个编辑命令:

w file:将范围内的行另存至指定文件中;

r file:在指定位置插入指定文件中的所有内容;

2.查找:

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

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

n:与命令同方向;

N:与命令反方向;

3.查找并替换:

s:在扩展模式下完成查找替换操作;

格式:s/要查找的内容/替换为的内容/修饰符;

要查找的内容:可使用模式;

替换为的内容:不能使用模式,但可以使用1,2,... 等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容;

修饰符:;

i: 忽略大小写

g: 全局替换;默认情况下,每一行只替换第一次出现;

gc:全局替换,每次替换前询问;

注:查找替换中的分隔符/可替换为其它字符,例如:

s@/etc@/var@g;

s#/boot#/#i;

十二、命令模式

1.撤销更改:

u:撤销最近的更改;

#u:撤销之前多次更改;

U:撤消光标落在这行后所有此行的更改;

ctrl+r:重做最后的“撤消”更改 ;

.:重复前一个操作;

n.:重复前一个操作n次;

十三、vim的寄存器

1.有26个命名寄存器和1个无命名寄存器,常存放不同的 剪贴版内容,可以不同会话间共享。

2.用a,b,…,z表示,用“寄存器表示,放在数字和命令之间;

如:3"tyy 表示复制3行到t寄存器中 ;

"tp 表示将t寄存器内容粘贴;

3.未指定,将使用无命名寄存器;

4.有10个数字寄存器,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容。当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享。

十四、vim编辑二进制文件

步骤:

1.以二进制方式打开文件:

vim -b binaryfile

2.扩展命令模式下,利用xxd命令转换为可读的十六进制:

:%!xxd

3.编辑二进制文件;

4.扩展命令模式下,利用xxd命令转换回二进制:

:%!xxd ?Cr

5.保存退出;

十五、可视化模式

1.允许选择的文本块:

v:面向字符;

V:面向行;

ctrl+v:面向块;

2.可视化键可用于与移动键结合使用:

w, ) , } ,箭头等;

3.突出显示的文字可以被删除,复制,变更,过滤,搜索/替换等;

十六、多文件模式

1.格式:vim file1 file2 file3 ...

:next 下一个文件;

:prev 前一个文件;

:first 第一个文件;

:last 最后一个文件;

:wall 保存所有;

:qwall 退出所有;

:wqall 保存所有文件并退出;

十七、使用多个窗口

1.多文件分割:

格式:vim -o|-O FILE1 FILE2 ...

-o:水平分割;

-O:竖直分割;

在窗口间切换:ctrl+w,arrow(上下左右方向键)

2.单文件窗口分割:

ctrl+w,s: split,水平分割;

:wqall 退出;

十八、定制vim的工作特性

1.配置文件:

全局:/etc/vimrc

个人:~/.vimrc

2.扩展模式:只对当前vim进程有效:

(1)行号

显示:set nu;

取消显示:set nonu;

(2)括号成对匹配

匹配:set sm;

取消:set nosm;

(3)自动缩进

启用:set ai;

禁用:set noai;

(4)高亮搜索

启用:set hlsearch;

禁用:set nohlsearch;

(5)语法高亮

启用:syntax on;

禁用:syntax off;

(6)忽略字符大小写

启用:set ic;

禁用:ser noic;

(7)文件格式

启用Windows格式:set fileformat=dos;

启用Unix格式:set fileformat=unix;

(8)设置文本宽度

:set textwidth=65

:set wrapmargin=15

3.vim内置帮助

(1):help

(2)Use :q to exit help

4.vimtutor(使用手册)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读