文本编辑器vi和vim(3)


快速移动光标

1.在命令模式中,使用快捷键b,可以将光标快速移动到当前光标所在单词的前一个单词的首字母。如果要移动到当前光标所在位置的前3个单词的首字母处,可以使用3b;

2.如果要将光标快速移动到当前光标的后一个单词的首字母,可以在命令模式中使用w。与快捷键b相同,移动多个单词时,可以在快捷键w前加上数字。

3.如果要移动光标至后一个单词的尾字母,可以使用快捷键e。与前两个快捷键类似,移动多个字母只需要在快捷键前加上相应的数字即可。

4.与快捷键e功能相反的是ge。使用此快捷键时,vim编辑器会快速移动光标至前一个单词的尾字母。


####################################################


快速移动光标至行首和行尾

需要按行快速移动光标时,可以使用键盘上的编辑键Home,快速将光标移动至当前行的行首。除此之外,也可以在命令模式中使用快捷键"^"(即Shift+6)或0(数字0)。

如果要快速移动光标至当前行的行尾,可以使用编辑键End。也可以在命令模式中使用快捷键“$”(Shift+4)。与快捷键"^"和0不同,快捷键“$”前可以加上数字表示移动的行数。例如,使用"1$"表示当前行的行尾,"2$"表示当前行的下一行的行尾。

#####################################


移动光标至指定的行

调试脚本文件或程序时,可能会提示源代码的某一行有错误(大多数编译器都会以行号的形式提示)。这时就要快速定位至错误行,并执行编辑操作。

1.为了方便查看行号,vim编辑器提供了显示文本行号的功能,但默认情况下这个功能并没有启用,需要手动设置:

要显示行号,可以在命令模式中执行:

:set number

执行上诉命令后,编辑器就会显示行号



2.查看了行号之后,就可以在命令模式中,使用快速跳转到行快捷键跳转到制定位置。

#gg:跳转到文本的第一行,也可以使用1G。

#G:跳转到文本最后一行

#nG:跳转到第n行,其中的n应该是一个正整数

可以使用以上方法快速跳转到指定的行首。


3.如果不需要使用行号,可以在命令模式中使用以下命令取消行号:

#set nonumber


#######################################################


滚动屏幕

Vim没有滚动条,可以使用快捷键来完成这个功能:

在命令模式中,常用的滚动屏幕快捷键如下:

#Page Up:向前翻页

#Page Down:向后翻页

#Ctrl+B:向前翻页

#Ctrl+F:向后翻页

#Ctrl+U:向前翻半页

#Ctrl+D:向后翻半页

在插入模式中,不能使用快捷方式翻页,但可以使用编辑功能键Page Up、Page Down实现翻页。


####################################################


使用鼠标移动光标

vim编辑器也提供了鼠标支持,要使vim编辑器支持鼠标,可以使用以下命令:

#:set mouse=a

此时vim将会弹出鼠标并允许使用鼠标进行光标定位

#######################################################


其他常用移动光标技巧

1.快速跳转到编辑位置

快速跳转快捷键需要在快捷键模式下使用``,这时两个反引号,在键盘上位于数字键1和Tab键附近。如果按下多次快速跳转键,vim编辑器会在最后两个编辑位置之间跳转。


如果在编辑过程中执行了多次跳转,可以使用以下快速跳转键跳转到更多编辑过的位置:

#Ctrl+I:跳转到前一个编辑位置

#Ctrl+O:跳转到后一个编辑位置

#Tab:跳转到前一个编辑位置(与Ctrl+I功能相同)

默认情况下,vim将会记录所有的跳转位置,并且用户可以使用记录在多个编辑位置自由跳转。如果要查看vim编辑器记录的跳转位置,可以在命令模式中使用:

#jumps

note:虽然vim编辑器保存了许多不同文件的跳转点,但在使用跳转快捷键时,并不会因此跳转到其他文本文件中。


2.搜索字符并移动光标

搜索字符并移动光标功能与图形界面中的查找不同。搜索字符移动光标时,只能使用单个字符,并且搜索字符移动的范围为光标所在行(查找功能通常是全文查找)。

2.1.搜索字符命令为fs,其中f为搜索命令(可速记为find),s为需要搜索的单字符。这是一个非常有趣并且有用的命令。它会在当前光标之后查找单字符s,并将光标移动到单字符s之上。如果当前光标至行尾的范围内没有找到单字符s,则不移动光标。

与前面介绍的一些命令一样,搜索字符命令也可以与数字一起配合使用。例如2fn表示查找当前位置之后的第2个字符n并移动光标,4fs表示查找当前位置之后第4个字符并移动光标。

2.2.与搜索字符命令fs功能相反的是Fs。它的功能是在当前光标位置之前查找单字符s,并将光标移动到单字符s之上。(用虚拟机Linux系统试了以下,Fs命令没有用,fs命令可以)

2.3.与搜索字符命令功能类似的还有ts(Ts),这个命令可速记为to。其功能分别是在当前位置之后(之前)查找单字符s,并移动光标到单字符s之前(之后)。(没成功)


#################################################################


vim 编辑器的查找和替换功能

简单的查找功能

在vim编辑器中,实现简单查找功能的命令是"/",其格式如下:

#/pattern

在上面的格式中,pattern为要查找的字符串

在使用命令"/"之后,vim编辑器会将光标移动到找到的字符串的第1个字符处。例如使用命令/home查找字符串home,vim编辑器会从当前光标位置开始向下查找,并将光标移动到查找到的字符串的第1个字符处。

vim编辑器会将光标移动到找到的字符串的首字符处。如果当前查找到的字符串不是用户需要查找的字符串,可以使用以下快捷键:

#n:跳转到下一个字符串

#N:跳转到上一个字符串

使用上面两个快捷键跳转查找时,如果vim查找到的字符是第一个或最后一个字符串,vim将会提示用户

note:使用vim编辑器查找字符串时,可以使用命令set wrapscan和set nowrapscan开启、关闭跳过文件收尾查找功能


############################################################


反向查找

在vim编辑器中,除了使用命令“/”从当前位置开始向下查找外,还可以使用命令“?”反向查找:

#?pattern

反向命令“?”与正向查找命令的使用方法完全相同,主要不同之处在于跳转查找字符串快捷键用法不同。

#n:跳转到上一个字符串

#N:跳转到下一个字符串


#################################################


查找时忽略大小写

1

#:set ignorecase

在使用以上命令后,再使用字符串home进行查找,vim编辑器就能够匹配到以下字符串:

Home

home

HOme

HoMe

.......

2.

有时开启护绿大小写功能可能会不方便,这时可以使用以下命令关闭忽略大小写功能

#:set noignorecase


##############################################################


高亮显示查找结果

查找字符串时,让查找到的字符串都高亮显示,以便使用者自由查看,是一个非常好的方法

1.要高亮显示所有匹配的结果,可以在vim编辑器的命令模式中执行以下命令:

#:set hlsearch

使用高亮显示搜索结果后,vim会将所有匹配项都采用高亮显示

(试过,没有效)


2.再使用搜索结果高亮显示后,可能使用过的搜索项在下一个文本中也是高亮显示的,此时可以使用以下命令关闭搜索结果高亮显示功能:

#:set nohlsearch

使用以上命令关闭了搜索结果高亮显示功能后,如果需要再次使用此功能,必须要手动开启该功能。


################################################################

增量查找

增量查找是指用户输入需要查找的字符串的同时,vim编辑器按用户的输入同步进行查找。默认情况下,vim编辑器的增量查找功能处于关闭状态。

(1)要打开vim编辑器的增量查找功能,可以在命令模式中执行以下命令:

#set incsearch

(用过,系统无反应)

(2).使用以上命令开启增量查找功能之后,用户输入查找字符串的同时,vim编辑器也开始了查找工作(之前是用户输入命令并按Enter键后才开始查找)。

(3).关闭增量功能

#set noincsearch


#######################################################


简单的替换功能


在vim编辑器中,替换功能使用的命令是s,基本格式如下:

#s/pattern1/pattern2

在上面的示例中,pattern1为要查找的文本,pattern2为替换后的文本,"/"为分隔符

(1)虽然本例中使用了"/"作为分隔符,但实际上命令s并没有强行规定必须使用"/"作为分隔符。例如可以使用冒号作为分隔符

#:s:the:The:

在上面的命令中,s命令是哦国内冒号作为分隔符。上面的命令的功能是将光标所在行的第一个the替换为The

note:如果要使用特殊字符作为分隔符,或当替换的字符串中含有特殊字符时,应该使用符号'\'屏蔽其特殊含义


(2)使用s命令进行替换时,vim总会替换光标所在行第1个匹配到的字符串。如果当前行没有找到需要替换的字符串,vim将提示用户没有找到字符串,并终止替换(不会在下一行继续查找替换)。


######################################################


区域性查找替换

1.通常替换命令只会在当前行找到的第一个字符串,如果要替换当前行中找到的所有字符串(即全行替换),可以使用标记g:

#s/the/The/g

2.也可以制定一个要替换的范围。例如要替换第1行至第10行内的所有内容,使用如下命令:

#1,10s/the/The/g

3.指定范围时,使用符号“%”表示所有行,用“$”表示文本的最后一行。例如要替换第5行至最后一行的所有字符串,使用如下命令:

:5,$s/the/The/g

4.也可以使用"+"、"-"表示一个模糊的范围。例如要替换当前行以下至第10行和倒数第10行内的字符串,使用如下命令:

:+10,$-10s/the/The/g

5.如果要替换所有字符串,使用如下命令

:%s/the/The/g

在上面这个例子中,使用标记g的目的是替换每一行中的所有字符串


#########################################################


谨慎的查找替换

如果当前文本中需要查找替换的字符串很多,并且字符串分布的区域未知,通常建议使用全文替换(即替换文件中的所有字符串)。但也有可能并非所有的字符串都要替换,这时就需要谨慎的查找替换。

执行谨慎的查找替换时,需要使用标记c。

#%s/the/The/gc

执行上面的命令后,vim将会高亮显示找到的字符串,并提示用户



vim会询问用户应该如何处理当前找到的字符串。此时可供选择的几个选项的含义如下:

#y:直接输入y执行替换,继续查找字符串

#n:直接输入n跳过当前找到的字符串,继续查找字符串

#a:替换所有找到的字符串,并且不询问

#q:不执行替换并退出替换模式

#l:执行替换并退出替换模式

#Ctrl+E:向上滚屏一行

#Ctrl+Y:向下滚屏一行



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值