2.9-vim编辑器

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

vim编辑器@H_403_1@

vi:Visual Interface,文本编辑器@H_403_1@

文本:ASCII,Unicode
@H_403_1@

文本编辑种类:
@H_403_1@

行编辑器:sed
@H_403_1@

全屏编辑器:nano,vi
@H_403_1@

VIM - Vi IMproved@H_403_1@


@H_403_1@

使用VIM@H_403_1@

vim:模式化的编辑
@H_403_1@

基本模式:
@H_403_1@

编辑模式,命令模式:
@H_403_1@

输入模式:
@H_403_1@

末行模式:
@H_403_1@

内置的命令行接口@H_403_1@

打开文件:@H_403_1@

#vim [option]... FILE...
@H_403_1@

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

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

模式转换:
@H_403_1@

编辑模式-->输入模式
@H_403_1@

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

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

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

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

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

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

c:
@H_403_1@

C:
@H_403_1@

输入模式-->编辑模式
@H_403_1@

ESC
@H_403_1@

编辑模式-->末行模式
@H_403_1@

:
@H_403_1@

末行模式-->编辑模式
@H_403_1@

Ctrl+c或两次ESC
@H_403_1@


@H_403_1@

关闭文件
@H_403_1@

:q 退出
@H_403_1@

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

:wq 保存退出
@H_403_1@

:x 保存退出
@H_403_1@

:w /PATH/TO/SOMEWHERE
@H_403_1@

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


@H_403_1@

光标跳转
@H_403_1@

字符间跳转
@H_403_1@

h,j,k,l
@H_403_1@

h:左
@H_403_1@

j:下
@H_403_1@

k:上
@H_403_1@

l:右
@H_403_1@

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

单词间跳转
@H_403_1@

w:下一个单词的词首
@H_403_1@

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

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

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

行首行尾跳转
@H_403_1@

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

0:跳转至行首
@H_403_1@

$:跳转至行尾
@H_403_1@

行间移动:
@H_403_1@

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

G:最后一行
@H_403_1@

1G,gg:跳转至首行
@H_403_1@

句间移动:
@H_403_1@

):下一个句子
@H_403_1@

(:上一个句子
@H_403_1@

段间移动:
@H_403_1@

}:下一段
@H_403_1@

{:上一段
@H_403_1@

vim的编辑命令:
@H_403_1@

字符编辑:
@H_403_1@

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

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

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

替换命令:
@H_403_1@

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

删除命令:
@H_403_1@

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

d$:光标到行尾的内容
@H_403_1@

d^:光标到行首的内容@H_403_1@

d0:光标到行首的内容
@H_403_1@

dw:
@H_403_1@

de:
@H_403_1@

db:@H_403_1@

#COMMAND@H_403_1@

#dw:@H_403_1@

#de:@H_403_1@

#db:@H_403_1@

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

#COMMAND:删除#行
@H_403_1@

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

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

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

复制命令(y,yank):
@H_403_1@

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

y$
@H_403_1@

y0
@H_403_1@

y^
@H_403_1@

ye
@H_403_1@

yw
@H_403_1@

yb
@H_403_1@

#COMMAND
@H_403_1@

yy:复制行
@H_403_1@

#yy:复制#行
@H_403_1@

改变命令(c,change)@H_403_1@

c:修改
@H_403_1@

编辑模式-->输入模式@H_403_1@

c$
@H_403_1@

c0
@H_403_1@

c^
@H_403_1@

ce
@H_403_1@

cw
@H_403_1@

cb
@H_403_1@

#COMMAND
@H_403_1@

cc:删除并输入新内容
@H_403_1@

#cc:删除#行@H_403_1@


@H_403_1@

可视化模式:@H_403_1@

v:按字符选定
@H_403_1@

V:按行选定
@H_403_1@

Note:经常结合编辑命令
@H_403_1@

d,c,y
@H_403_1@

撤销此前的编辑:@H_403_1@

u(undo):撤销此前操作
@H_403_1@

#u:撤销此前#次操作
@H_403_1@

撤销此前的撤销:@H_403_1@

Ctrl+r
@H_403_1@

重复前一个编辑操作:@H_403_1@

.
@H_403_1@


@H_403_1@

翻屏操作:
@H_403_1@

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

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

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

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


@H_403_1@

vim自带的教程@H_403_1@

vimtutor
@H_403_1@


@H_403_1@

vim中的末行模式:
@H_403_1@

内建的命令行接口
@H_403_1@

(1)地址定界
@H_403_1@

:start_pos,end_pos
@H_403_1@

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

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

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

.:当前行@H_403_1@

$:最后一行
@H_403_1@

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

%:全文,相当于1,$
@H_403_1@

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

常见的用法
@H_403_1@

#,/pattern/
@H_403_1@

/pattern/,$
@H_403_1@

使用方式:
@H_403_1@

后跟一个编辑命令
@H_403_1@

d
@H_403_1@

y
@H_403_1@

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

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


@H_403_1@

(2)查找
@H_403_1@

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

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

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

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


@H_403_1@

(3)查找并替换
@H_403_1@

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

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

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

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

修饰符:
@H_403_1@

i:忽略大小写
@H_403_1@

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

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

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

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


@H_403_1@

练习:@H_403_1@

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

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

猜你在找的Bash相关文章