2.9-vim编辑器

前端之家收集整理的这篇文章主要介绍了2.9-vim编辑器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

vim编辑器

vi:Visual Interface,文本编辑器

文本:ASCII,Unicode

文本编辑种类:

行编辑器:sed

全屏编辑器:nano,vi

VIM - Vi IMproved


使用VIM

vim:模式化的编辑

基本模式:

编辑模式,命令模式:

输入模式:

末行模式:

内置的命令行接口

打开文件

#vim [option]... FILE...

+#:打开文件后,直接让光标处于第#行的行首

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

模式转换:

编辑模式-->输入模式

i:insert,在光标所在处输入

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

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

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

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

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

c:

C:

输入模式-->编辑模式

ESC

编辑模式-->末行模式

:

末行模式-->编辑模式

Ctrl+c或两次ESC


关闭文件

:q 退出

:q! 强制退出,丢弃做出的修改

:wq 保存退出

:x 保存退出

:w /PATH/TO/SOMEWHERE

ZZ:保存退出(编辑模式下)


光标跳转

字符间跳转

h,j,k,l

h:左

j:下

k:上

l:右

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

单词间跳转

w:下一个单词的词首

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

b:当前或上一个单词的词首

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

行首行尾跳转

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

0:跳转至行首

$:跳转至行尾

行间移动:

#G:跳转至由#指定的行

G:最后一行

1G,gg:跳转至首行

句间移动:

):下一个句子

(:上一个句子

段间移动:

}:下一段

{:上一段

vim的编辑命令:

字符编辑:

x:删除光标所在处的字符

#x:删除光标所在处向后#个字符

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

替换命令:

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

删除命令:

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

d$:光标到行尾的内容

d^:光标到行首的内容

d0:光标到行首的内容

dw:

de:

db:

#COMMAND

#dw:

#de:

#db:

dd:删除光标所在处的整行

#COMMAND:删除#行

粘贴命令(p,put,paste):

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

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

复制命令(y,yank):

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

y$

y0

y^

ye

yw

yb

#COMMAND

yy:复制行

#yy:复制#行

改变命令(c,change)

c:修改

编辑模式-->输入模式

c$

c0

c^

ce

cw

cb

#COMMAND

cc:删除并输入新内容

#cc:删除#行


可视化模式:

v:按字符选定

V:按行选定

Note:经常结合编辑命令

d,c,y

撤销此前的编辑:

u(undo):撤销此前操作

#u:撤销此前#次操作

撤销此前的撤销:

Ctrl+r

重复前一个编辑操作:

.


翻屏操作:

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

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

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

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


vim自带的教程

vimtutor


vim中的末行模式:

内建的命令行接口

(1)地址定界

:start_pos,end_pos

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

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

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

.:当前行

$:最后一行

例如:.,$-1:从当前行到倒数第二行

%:全文,相当于1,$

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

常见的用法

#,/pattern/

/pattern/,$

使用方式:

后跟一个编辑命令

d

y

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

r/PATH/FROM/SOMEFILE:在指定位置插入指定文件中的所有内容


(2)查找

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

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

n:与命令同方向查找符合PATTERN的内容

N:与命令反方向查找符合PATTERN的内容


(3)查找并替换

s:在末行模式下完成查找替换操作

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

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

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

修饰符:

i:忽略大小写

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

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

:% s /\/var\/log\/message/\/etc\/passwd/g

可以写成:% s@/var/log/message@/etc/passwd@g


练习:

1.复制/etc/grub.conf至/tmp目录,用查找替换命令删除/tmp/grub.conf文件中的行首的空白字符

2.复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号

原文链接:https://www.f2er.com/bash/389919.html

猜你在找的Bash相关文章