Linux shell编程之vim编辑器

目录

①vim常用模式

②vim常用操作

高效的光标移动

高效的文本编辑

高效的文本搜索和替换

命令行常用操作

③Vim的恢复功能

④Vim高级技巧

多窗口功能

命令行与vim之间切换

⑤Vim实战

 


 

vim常用模式

>>>一般模式 :可光标移动删除、复制、粘贴

>>>编辑模式 :任意按“i、I、o、O、a、A、”进入插入模式,按下“r、R”进入替换模式 , 按【Esc】退出编辑模式
                       一般按“i”在当前光标进入插入模式,或按“o”在当前光标的下一行进入插入模式

>>>命令行模式 :一般模式中,输入任意“: /   ?”一个,进入命令行模式, 按【Esc】退出命令行模式

 


 

vim常用操作

 

高效的光标移动

操作单位

命令

说明

字符

i

在当前位置的字符之后进入到插入模式

字符

o

在光标所在行的下一行新建一行,光标移动到新的行,并进入插入模式

单词

w/W

光标移动到下一个单词的开头

单词

b/B

光标移动到上一个单词的开头

^ (shift + 6) 0

移动到光标所在行的行首

$ (shift + 4)

移动到光标所在行的行尾

Ctrl+f

向前翻滚一页

Ctrl+b

向后翻滚一页

Ctrl+u

向前翻滚半页

Ctrl+d

向前翻滚半页

文件

G :$

移动到文件的尾行

文件

gg :0

移动到文件的首行

文件

nG :n

移动到文件的第n

 

高效的文本编辑

功能

命令

说明

删除

x

删除光标位置的字符

删除

dw/dW

删除当前单词从光标至下一个单词的部分

删除

db/dB

删除当前单词从光标至单词开始的部分

删除

d^d0

删除当前光标至行首的内容,光标后面的内容不会被删除

删除

d$

删除当前光标至行尾的内容,光标之前的内容不会被删除

删除

dd

删除当前行

删除

ndd

删除n行字符,例:5dd  ,表示删除光标所在行和光标下面的四行

复制

yw

复制当前单词光标的后半部分

复制

yb

复制当前单词光标的前半部分

复制

yy

复制光标所在行的所有字符

复制

nyy

复制n行字符,例:3yy  ,表示复制光标所在行和光标下面的两行

粘贴

p

将最后复制的字符,粘贴在当前字符的后面

粘贴

P

将最后复制的字符,粘贴在当前字符的前面

交换相邻字符

xp

交换光标位置的字符和光标右边的字符

交换相邻的行

ddp

交换光标位置的行和光标所在行的下一行

撤销

u

撤销更改

重做

Ctrl+r

重做更改,取消撤销的操作

重复操作

.

重复上次操作

取得外部输入

:! cmd

执行外部命令<cmd>并输出结果输出到屏幕,可按enter键返回编辑器

去的外部输入

:r <file>

将文件<file>读入到当前光标所在位置

加入行号

:%!nl

在所有非空行前插入行号

加入行号

:%!nl -ba

在所有行前插入行号

显示行号

:set nu

在所有行前显示行号(并不是插入字符)

不显示行号

:set nonu

取消显示行号

缩进

>>

右缩进

缩进

<<

左缩进

显示当前编辑文件名

ctrl+g

显示当前编辑文件名和行数

 

高效的文本搜索和替换

功能

命令

说明

搜索

n/str

在文件中向下搜索字符串str,并把光标移动到第n个找到的字符串

搜索

n?str

在文件中向上搜索字符串str,并把光标移动到第n个找到的字符串

搜索下一个

n

可配合操作数,如3n表示搜索向下第三个匹配的字符串

搜索上一个

N

可配合操作数,如3N表示搜索向上第三个匹配的字符串

替换

:n1,n2s/old/new/g[c]

n1n2行的所有‘old’替换成‘new’(c可让用户确认操作)

显示搜索历史

q/q

显示搜索命令历史的窗口

显示命令行历史

q:

显示命令行命令历史的窗口

 

命令行常用操作

>>> :w     #保存文件

>>> :q     #退出

>>> :wq  #保存后退出

 


 

Vim的恢复功能

>>>在vim编辑时非正常断电(死机)情况下,vim会在同目录新建一个暂存文件 .filename.swp

重新vim filename时,会提示选项:

[O]:查阅暂存文件、[E]:编辑暂存文件、[R]:加载暂存文件、[D]:删除暂存文件、[Q]:离开Vim

 


 

Vim高级技巧

多窗口功能

>>>vim -o file1 file2   #向下扩展同时打开两个文件

:sp [filename]    #已经打开一个文件,可用sp命令向下再打开一个文件

>>>vim -O file1 file2   #向右扩展同时打开两个文件 (常用)

:vs [filename]     #已经打开一个文件,可用sp命令向右再打开一个文件

>>>输入 <Ctrl +w+w> 实现多窗口之间的切换

>>>关闭当前光标所在窗口 ——>:q

>>>关闭除关闭所在窗口之外的其他窗口——>:only

>>>关闭所有窗口——>:qa

 

命令行与vim之间切换

>>>在使用vim编辑文件时,要临时退回到命令行模式执行命令,可以在vim命令行模式下输入<:sh>即可切换到系统命令行

>>>需要切换回vim,输入<exit>即可

 

Vim实战

>>>mn行中的字符串str1全部替换成字符串str2

:m,ns/str1/str2/g

>>>打开一个文件,光标自动移动到文件第n

vim +n file

>>>打开一个文件,光标自动移动到文件的末尾

vim + file

>>>打开一个文件,光标移动到第一个满足某个匹配规则的位置上

vim +/pattern file

>>>将文件内容拷贝到一个新的文件

:w newfile

 

 


 

说明:

>>>以上内容是本人学习的总结

>>>如还有错误,请留言,指正

>>>亦可分享自己的想法,互相学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值