博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux vi 命令详解
阅读量:4511 次
发布时间:2019-06-08

本文共 1610 字,大约阅读时间需要 5 分钟。

vi共分为三种模式:分别是一般模式,编辑模式与命令行模式

一般模式:以vi打开一个文件就直接了一般模式(这是默认的模式)

编辑模式:在指令模式下输入的按键“i, I, o, O, a, A, r, R”,vi即认为是在当前位置插入字符。而在输入模式下,vi则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处于什么模式,可以多按几次[ESC],vi跳转到指令模式。

 

1. 命令模式:

) 光标移至句尾( 光标移至句首} 光标移至段落开头{ 光标移至段落结尾

 

2. vi移动光标的方法:

G:移动到这个文件的最后一行(常用)nG:n为数字。移动到这个文件的第n行。gg:光标移动到第一行,相当于1GN[enter]:n为数字。光标向下移动n行N+[方向键上,下,左,右]:表示向那个方向移动行或字符到文件第一行:1到文件尾,利用正则里的语义:$另一些表达[[ 开头]] 结尾[[^  开头第一个字符]]$  结尾最后一个字符

 

3.vi查找与替换

/word 向下寻找一个名称word的字符?word 向上寻找一个字符串名称为word的字符串n: 这个n是英文键,代表重复前一个查找的操作。也就是查找下一个N: 这个N是英文键,与n刚好相反,为反向进行前一个查找操作。查找上一个

 vi高级查找与替换

:n1,n2s/word1/word2/g n1与n2为数字,在第n1行与n2行之间寻找word1,并将该字符串替换成word2:1,$s/word1/word2/g 从第一行到最后一行查找word1,并将该字符串替换成word2:1,$s/word1/word2/gc 从第一行到最后一行查找word1,并将该字符串替换成word2。替换之前显示提示字符给用户确认confirm

 

4. vi显示行号/取消显示

显示行号:set nu取消行号显示:set nonu

 

5. vi删除命令

dd: 删除光标所在的哪一行(常用)ndd: n为数字。删除光标所在的向下n行,例如20dd删除光标以下20行(常用)d1G:删除光标所在到第一行的所有数据dG: 删除冲贯标所在到最后一行的所有数据d$: 删除光标所在到第一行的所有数据d0: 那个数字的0,删除冲光标所在处到改行的最前面的一个字符x或X:删除一个字符,x删除光标后的,而X删除光标前的

 

6. vi复制命令 

yy: 复制光标所在的那一行(常用)nyy:n为数字,复制光标所在的向下n行,例如20yyy1G:复制光标所在行到第一行的所有数据yG: 复制光标所在行到最后一行的所有数据y0: 复制光标所在的那个子都到该行行首的所有数据y$:复制光标所在的那个字符到该行行尾的所有数据

 

7. vi黏贴命令

p: p为将已复制的数据在光标下一行黏贴P: 大写P则为黏贴在光标上一行

 

8. vi撤销命令:

u: 撤销    (常用)Ctrl + r: 撤销的撤销    (常用)

 

 9. vi小数点.

vi小数点.表示重复前一个操作的意思。重复删除,重复黏贴等操作,按下小数点"."

 

10.vim 的块选择功能(Visual Block)

v 字符选择,会将光标经过的地方反白选择V 行选择,会将光标经过的行反白选择[ctrl]+v  块选择,可以用长方形的方式选择数据配合命令:y 将反白的地方复制起来d 将反白的地方删除

 

11. vim 多窗口功能

:sp [filename] 打开新窗口,如果有家filename,表示在新窗口打开一个新文件[ctrl]+w 按住ctrl按键,按一下w键,会切换一个文档,再按一下切换下一个(貌似方向键没有用)

 

 

 

 

 

转载于:https://www.cnblogs.com/oldtrafford/p/3682015.html

你可能感兴趣的文章
古训《增广贤文》
查看>>
职场的真相——七句话
查看>>
xcode命令行编译时:codesign命令,抛出“User interaction is not allowed.”异常 的处理...
查看>>
[转载]开机出现A disk read error occurred错误
查看>>
STM32 C++编程 002 GPIO类
查看>>
无线冲方案 MCU vs SoC
查看>>
进程装载过程分析(execve系统调用分析)
查看>>
在windows 7中禁用media sense
查看>>
ELK-Elasticsearch安装
查看>>
anglar JS使用两层ng-repeat嵌套使用,分辨$index
查看>>
Android 模拟器(Emulator)访问模拟器所在主机
查看>>
删除字符串中指定子串
查看>>
day40-socket编程
查看>>
SpringBoot里mybatis查询结果为null的列不返回问题的解决方案
查看>>
为什么留不住优秀的员工
查看>>
Django后台管理admin笔记
查看>>
JavaScript中的变量
查看>>
从零开始搭建系统1.5——Redis安装及配置
查看>>
multipart/form-data和application/x-www-form-urlencoded的区别
查看>>
python管理Windows服务
查看>>