vi命令

合集下载

vi命令的使用方法

vi命令的使用方法

vi命令的使用方法嘿,朋友们!今天咱就来聊聊那个超厉害的 vi 命令!你可别小瞧了它,vi 命令就像是一把神奇的钥匙,能打开代码世界的大门呢!当你面对那一堆堆的代码时,vi 命令就能帮你在其中游刃有余地穿梭。

比如说,你想要编辑一段代码,那就像在纸上写字一样自然。

进入vi 模式,就仿佛进入了一个只属于你的代码小天地。

你可以在这里随心所欲地添加、删除、修改那些字符。

就好像你是个指挥家,而代码就是你的乐团,你想怎么指挥就怎么指挥,是不是很酷?然后呢,它还有各种快捷操作。

比如说,你想要快速移动到行首或者行尾,嘿,vi 命令就能轻松做到!这就好比你在代码的海洋里瞬间穿梭,一下子就到达了你想去的地方。

还有啊,复制粘贴什么的,也是小菜一碟。

你能想象吗?就那么几个简单的按键组合,就能完成这些复杂的操作。

再说说查找和替换功能吧。

哇塞,这可太方便啦!就好像你在一堆杂物里找一个特定的东西,vi 命令能帮你快速找到它。

而且还能帮你把它换成你想要的样子,这多厉害呀!这就好像给代码来了个大变身。

还有哦,vi 命令的稳定性那也是杠杠的!不管你面对的是多大的代码文件,它都能稳稳地应对,绝不会给你掉链子。

这就像一个可靠的老朋友,无论何时都在你身边支持你。

你说,这么好用的 vi 命令,咱能不好好掌握它吗?要是不会用,那不就像有宝贝却不知道怎么用一样可惜嘛!所以啊,大家都赶紧学起来吧,让 vi 命令成为你代码之旅的得力助手!相信我,一旦你掌握了它,你就会发现,哇,原来写代码可以这么轻松有趣!就像打开了新世界的大门一样!别再犹豫啦,赶紧去试试吧!。

vi操作命令大全完整版

vi操作命令大全完整版

v i操作命令大全HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】一vi的操作模式vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。

在输入模式下,用户可输入文本资料。

在指令模式下,可进行删除、修改等各种编辑动作。

在输入模式下,按Esc键切换到指令模式下。

在指令模式下,按输入指令(i、a、o等)进入输入模式。

二进入vi$ vi filename直接键入“vi + 所要编辑的文件名”,即可对指定的文件进行编辑。

如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。

$ view filename以只读方式打开文件filename三指令模式3.1进入输入模式a 在当前游标之后输入A 在当前行之末输入i 在当前游标之前输入I 在当前行之首输入o 在当前行之下新增一行,并在新增行输入O 在当前行之上新增一行,并在新增行输入输入结束后,按Esc键退出输入模式。

3.2游标移动h 向左移动一个字元 l 向右移动一个字元 j 向下移动一个字元 k 向上移动一个字元 b 左移一个单词,至词首 w 右移一个单词,至词尾 0 移到当前行行首 $ 移到当前行行尾 + 移至下一行的行首 - 移至上一行的行首 H 移至视窗的第一行 M 移至视窗的中间一行 L 移至视窗的最后一行 G 移至该文件的最后一行 nG 移至该文档的第n行 n+ 下移n行 n- 上移n 行3.3视窗移动*<Ctrl> + f 视窗下卷一页 *<Ctrl> + b 视窗上卷一页 <Ctrl> + d 视窗下卷半页<Ctrl> + u 视窗上卷半页 * <Ctrl> + e 视窗下卷一行 * <Ctrl> + y 视窗上卷一行3.4删除操作x 删除游标所在字元 X 删除游标前一字元 dw 从游标当前位置开始向后删除一个单词 db 从游标当前位置开始向前删除一个单词 d0 从行首删除至当前游标位置 d$ 从游标当前位置删除至行尾 dd 删除游标所在行 D 同d$3.5修改操作s 修改游标所在字元,修改完成后按Esc键结束 S 修改整行内容,修改完成后按Esc键结束 r 替换当前游标所在字元 R 进入替换状态,直至按Esc键结束 cw 修改一个单词(从游标位置至词尾) cb 修改一个单词(从词首至游标位置) cc 修改整行内容,完成后按Esc 键结束,同S c0 修改行首至游标位置的内容 c$ 修改游标位置至行尾的内容 ~ 游标所在字元大小写切换3.6指令重复在指令模式中,可在指令前面加入一个数字n,则该指令会重复执行n次。

vi命令详解(转)

vi命令详解(转)

vi命令详解(转)vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强⼤不逊⾊于任何最新的⽂本编辑器,这⾥只是简单地介绍⼀下它的⽤法和⼀⼩部分指令。

由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地⽅进⼀步了解它。

Vi也是Linux中最基本的⽂本编辑器,学会它后,您将在Linux的世界⾥畅⾏⽆阻。

1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插⼊模式(Insert mode)和底⾏模式(last line mode),各模式的功能区分如下:1) 命令⾏模式command mode) 控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode。

2) 插⼊模式(Insert mode) 只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到命令⾏模式。

3) 底⾏模式(last line mode) 将⽂件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出⾏号……等。

不过⼀般我们在使⽤时把vi简化成两个模式,就是将底⾏模式(last line mode)也算⼊命令⾏模式command mode)。

2、vi的基本操作a) 进⼊vi 在系统提⽰符号输⼊vi及⽂件名称后,就进⼊vi全屏幕编辑画⾯: $ vi myfile 不过有⼀点要特别注意,就是您进⼊vi之后,是处于「命令⾏模式(command mode)」,您要切换到「插⼊模式(Insert mode)」才能够输⼊⽂字。

初次使⽤vi的⼈都会想先⽤上下左右键移动光标,结果电脑⼀直哔哔叫,把⾃⼰⽓个半死,所以进⼊vi后,先不要乱动,转换到「插⼊模式(Insert mode)」再说吧!b) 切换⾄插⼊模式(Insert mode)编辑⽂件 在「命令⾏模式(command mode)」下按⼀下字母「i」就可以进⼊「插⼊模式(Insert mode)」,这时候你就可以开始输⼊⽂字了。

vi的常用命令

vi的常用命令

vi的常用命令
vi是Linux系统中一种常用的文本编辑器,它可以通过命令行界面进行操作。

对于初学者来说,掌握一些vi的常用命令是必不可少的。

下面是一些常见的vi命令:
1.打开文件:vi filename
2.保存文件:先按Esc键退出编辑模式,然后输入:wq
3.放弃修改:先按Esc键退出编辑模式,然后输入:q!
4.光标移动:
h:左移一个字符
j:下移一行
k:上移一行
l:右移一个字符
5.删除字符:
x:删除光标所在的字符
dd:删除光标所在的一整行
6.撤销上一步操作:u
7.查找字符:
/char:查找字符char(向下查找)
:查找字符char(向上查找)
n:继续查找下一个匹配项
N:继续查找上一个匹配项
8.替换字符:
:r filename:将filename文件的内容插入到当前光标所在位置 :s/old/new/g:将当前行的old替换为new
:%s/old/new/g:将整个文件中的old替换为new
以上是一些vi的常用命令,掌握了这些命令后,你可以更加方便地使用vi编辑器进行文本编辑。

Vi常用命令

Vi常用命令

进入vi的命令 (1)移动光标类命令 (1)屏幕翻滚类命令 (2)编辑插入文本类命令 (3)删除命令 (5)搜索及替换命令 (6)选项设置 (8)组合命令 (10)最后行方式命令 (14)寄存器操作 (15)进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑移动光标类命令h :光标左移一个字符l :光标右移一个字符space:光标右移一个字符Backspace:光标左移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n :光标下移一行Enter :光标下移一行w或W :光标右移一个字至字首b或B :光标左移一个字至字首e或E :光标右移一个字至字尾) :光标移至句尾( :光标移至句首}:光标移至段落开头{:光标移至段落结尾nG:光标移至第n行首n+:光标下移n行n-:光标上移n行n$:光标移至第n行尾H :光标移至屏幕顶行M :光标移至屏幕中间行L :光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾^ 光标移到行首f 光标移到当前光标位置后面的第一个指定的字符下F 光标移到当前光标位置前面的第一个指定的字符下t 光标移到当前光标位置后面的第一个指定的字符前T 光标移到当前光标位置前面的第一个指定的字符前% 光标移动到与当前括号匹配的括号处:n 光标移动到指定行按数字:0:移到文章的开头。

按G:移动到文章的最后。

按w:光标跳到下个字的开头按e:光标跳到下个字的字尾按b:光标回到上个字的开头按:#l:光标移到该行的第#个位置,如:5l,56l。

Linux命令行中的文本编辑器vi和nano的使用技巧

Linux命令行中的文本编辑器vi和nano的使用技巧

Linux命令行中的文本编辑器vi和nano的使用技巧Linux操作系统广泛应用于服务器端和嵌入式设备,具有强大的灵活性和稳定性。

在Linux命令行中,文本编辑器是程序员和系统管理员经常使用的工具之一。

本文将介绍Linux命令行中常用的文本编辑器vi和nano的使用技巧。

一、vi文本编辑器的使用技巧vi是Linux系统中最常用的文本编辑器之一,虽然它具有一定的学习曲线,但一旦掌握了基本的使用技巧,它将成为你处理文本编辑的得力助手。

1. 打开文件:在命令行中输入vi命令,后跟要编辑的文件名。

例如,要编辑名为example.txt的文件,可以输入以下命令:vi example.txt。

如果文件不存在,则会创建一个新文件。

2. 进入编辑模式:打开文件后,vi默认处于命令模式,只能浏览文本,无法进行修改。

要进入编辑模式,按下键盘上的i键,即可开始编辑文本。

3. 保存并退出:在编辑模式下,对文本进行修改后,按下键盘上的Esc键,退出编辑模式。

然后输入冒号(:),即可看到光标出现在屏幕的底部命令行。

接下来,输入wq并按下回车键,即可保存修改并退出vi编辑器。

4. 取消修改并退出:在编辑模式下,对文本进行修改后,如果不想保存修改,可以按下键盘上的Esc键,退出编辑模式。

然后输入冒号(:),接着输入q!并按下回车键,即可取消修改并退出vi编辑器。

5. 移动光标:在命令模式下,可以使用方向键来移动光标,或使用h、j、k、l键分别向左、下、上、右移动光标。

此外,可以使用页键(Page Up和Page Down键)来进行快速翻页。

6. 复制、剪切和粘贴:在命令模式下,可以使用yy命令复制当前行,使用dd命令剪切当前行。

然后将光标移动到要粘贴内容的位置,按下p键即可将复制或剪切的内容粘贴到光标位置。

二、nano文本编辑器的使用技巧相较于vi而言,nano是一款更简单易用的文本编辑器,适合新手和不常使用命令行的用户。

下面介绍一些nano编辑器的基本使用技巧。

vi指令大全

vi指令大全

Vi指令大全1 进入vi的命令2 移动光标类命令3 屏幕翻滚类命令4 插入文本类命令5 删除命令6 搜索及替换命令7 选项设置8 最后行方式命令9 寄存器操作进入vi的命令vi filename: 打开或新建文件,并将光标置于第一行首vi +n filename: 打开文件,并将光标置于第n行首vi + filename: 打开文件,并将光标置于最后一行首vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename: 打开多个文件,依次进行编辑移动光标类命令h: 光标左移一个字符l: 光标右移一个字符space: 光标右移一个字符Backspace: 光标左移一个字符k或Ctrl+p: 光标上移一行j或Ctrl+n: 光标下移一行Enter: 光标下移一行w或W : 光标右移一个字至字首b或B : 光标左移一个字至字首e或E : 光标右移一个字至字尾): 光标移至句尾(: 光标移至句首}: 光标移至段落开头{: 光标移至段落结尾nG: 光标移至第n行首n+: 光标下移n行n-: 光标上移n行n$: 光标移至第n行尾H: 光标移至屏幕顶行M: 光标移至屏幕中间行L: 光标移至屏幕最后行0: 光标移至当前行首$: 光标移至当前行尾屏幕翻滚类命令Ctrl+u: 向文件首翻半屏Ctrl+d: 向文件尾翻半屏Ctrl+f: 向文件尾翻一屏Ctrl+b: 向文件首翻一屏nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令i: 在光标前I: 在当前行首a: 光标后A: 在当前行尾o: 在当前行之下新开一行O: 在当前行之上新开一行r: 替换当前字符R: 替换当前字符及其后的字符,直至按ESC键s: 从当前光标位置处开始,以输入的文本替代指定数目的字符S: 删除指定数目的行,并以所输入文本代替之ncw或nCW: 修改指定数目的字nCC: 修改指定数目的行删除命令ndw或ndW: 删除光标处开始及其后的n-1个字do: 删至行首d$: 删至行尾ndd: 删除当前行及其后n-1行x或X: 删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u: 删除输入方式下所输入的文本搜索及替换命令/pattern: 从光标开始处向文件尾搜索pattern?pattern: 从光标开始处向文件首搜索patternn: 在同一方向重复上一次搜索命令N: 在反方向上重复上一次搜索命令:s/p1/p2/g: 将当前行中所有p1均用p2替代:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代:g/p1/s//p2/g: 将文件中所有p1均用p2替换选项设置all: 列出所有选项设置情况term: 设置终端类型ignorance: 在搜索中忽略大小写list: 显示制表位(Ctrl+I)和行尾标志($)number: 显示行号report: 显示由面向行的命令修改过的数目terse: 显示简短的警告信息warn: 在转到别的文件时若没保存当前文件则显示NO write信息nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始mesg: 允许vi显示其他用户用write写到自己终端上的信息最后行方式命令:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下:n1,n2 d: 将 n1行到n2行之间的内容删除:w: 保存当前文件:e filename: 打开文件filename进行编辑:x: 保存当前文件并退出:q: 退出vi:q!: 不保存文件并退出vi:!command: 执行shell命令command:n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入:r!command: 将命令command的输出结果放到当前行寄存器操作"?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字"?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字"?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字"?p: 取出寄存器?中的内容并将其放到光标位置处。

VI命令大全

VI命令大全

VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。

本文旨在介绍VI的一些最常用命令和高级应用技巧。

一、基本命令介绍---- 1.光标命令k、j、h、l——上、下、左、右光标移动命令。

虽然您可以在Linux 中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。

这4个键正是右手在键盘上放置的基本位置。

nG——跳转命令。

n为行数,该命令立即使光标跳到指定行。

Ctrl+G——光标所在位置的行数和列数报告。

w、b——使光标向前或向后跳过一个单词。

---- 2.编辑命令i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。

cw、dw——改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。

x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。

---- 3.查找命令---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。

---- 4.拷贝复制命令---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。

二、常见问题及应用技巧---- 1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。

---- vi file---- :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。

---- 您也可以在指定的行号后读入文件内容,例如使用命令“:3r/etc/passwd”从新文件的第3行开始读入 /etc/passwd的所有内容。

---- 我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。

vi常用指令

vi常用指令

vi常用指令VI是一款非常实用的文本编辑器。

它经常被用于程序编写、文件编辑等方面。

VI的操作比较简单,只要掌握几个常用的指令,就可以轻松完成许多工作。

本文将会介绍VI的常用指令,帮助读者更好地使用VI。

一、VI的三种模式VI有三种模式:命令模式、插入模式和底行模式。

在命令模式下,我们可以用各种命令对文本进行编辑。

在插入模式下,我们可以直接输入文本。

在底行模式下,我们可以执行一些特定的命令,如保存文件、退出VI等。

二、进入/退出VI进入VI的方法有两种:一个是使用命令vi,另一个是使用命令vim。

两者的效果是一样的,只是vi是VIM的简称。

退出VI的方法有两种:一个是在命令模式下输入命令:wq!表示保存并退出;另一个是在命令模式下输入命令:q!表示不保存并退出。

三、命令模式下的常用指令1.移动光标:我们可以使用h、j、k、l命令将光标左移、下移、上移、右移。

2.插入文本:在命令模式下,我们可以按下i、a、o等指令,进入插入模式,开始编辑文本。

3.删除文本:我们可以使用命令x、dd等来删除文本。

其中x命令会删除光标所在位置的一个字符,而dd命令可以删除一整行。

4.复制/粘贴文本:我们可以使用命令y、p等来复制/粘贴文本。

其中y命令会复制选定的文本,而p命令会将文本粘贴到光标下方。

5.替换文字:我们可以使用命令:s/old/new/g,将old替换为new,其中g表示全局匹配。

6.查找替换:我们可以使用命令:%s/old/new/gc,将old替换为new,其中gc表示全局匹配并要求确认。

四、底行模式下的常用指令1.保存文件:我们可以在命令模式下输入命令:w,保存当前的编辑内容。

2.查找文本:我们可以在命令模式下输入命令:/text,用于查找text。

按下n可以继续查找下一个匹配项。

3.退出VI:我们可以在命令模式下输入命令:q,表示退出VI。

4.保存并退出VI:我们可以在命令模式下输入命令:wq,用于保存当前的编辑内容并退出VI。

vi基本操作

vi基本操作

vi基本操作一、什么是vivi是一种文本编辑器,广泛用于Unix和Linux系统中。

它是一个功能强大但学习曲线较陡峭的编辑器,对于初学者来说可能有些难以掌握。

但一旦熟悉了vi的基本操作,它将成为你在命令行环境中编辑文本的得力助手。

二、vi的三种工作模式vi有三种工作模式,分别是命令模式、插入模式和底行模式。

2.1 命令模式在打开文件时,vi默认进入命令模式。

在命令模式下,你可以执行各种编辑操作,如移动光标、删除字符、复制粘贴等。

以下是一些常用的命令:•h:向左移动光标•j:向下移动光标•k:向上移动光标•l:向右移动光标•x:删除光标所在位置的字符•dd:删除当前行•yy:复制当前行•p:粘贴复制的内容2.2 插入模式在命令模式下,按下i键可以进入插入模式。

在插入模式下,你可以输入文本。

以下是一些常用的插入模式命令:•i:在光标前插入文本•a:在光标后插入文本•o:在当前行下方插入新行并进入插入模式•O:在当前行上方插入新行并进入插入模式•Esc:退出插入模式,回到命令模式2.3 底行模式在命令模式下,按下冒号(:)键可以进入底行模式。

在底行模式下,你可以执行一些高级操作,如保存文件、退出vi等。

以下是一些常用的底行模式命令:•:w:保存文件•:q:退出vi•:wq:保存文件并退出vi•:q!:强制退出vi,不保存文件三、vi的高级操作除了基本的命令、插入和底行模式,vi还有一些高级操作,可以提高编辑效率。

3.1 查找和替换在命令模式下,按下/键可以进入查找模式。

在查找模式下,你可以输入要查找的文本,并按下回车键开始查找。

按下n键可以跳到下一个匹配项,按下N键可以跳到上一个匹配项。

在命令模式下,按下:键可以进入底行模式,并使用%s/old/new/g 命令进行全局替换。

3.2 多窗口操作在命令模式下,按下Ctrl+w键可以进入窗口操作模式。

在窗口操作模式下,你可以使用以下命令切换窗口:•Ctrl+w+h:切换到左边的窗口•Ctrl+w+j:切换到下方的窗口•Ctrl+w+k:切换到上方的窗口•Ctrl+w+l:切换到右边的窗口3.3 宏录制和回放在命令模式下,按下q键加一个字母可以开始录制宏。

vi 命令大全

vi 命令大全

一、vi基本命令1)光标命令左h 上j 下k 右lnG ——n为行数,该命令立即使光标跳到指定行;n为空,光标跳到文件最后一行。

Ctrl+G——光标所在位置的行数和列数报告w,b——使光标向前或向后跳过一个单词2)编辑命令(n)dd 删除(n)yy 复制i 光标前插入a 当前字母后插入r 在当前光标处替换cw 替换光标所在处的单词(从光标开始处)dw 删除光标所在处的单词x 删除(右)X 删除(左)u 撤销. 重复上次操作o 插入新行J 合并两行A 行尾:.,3w /tmp/xx:r /tmp/xx3)查找命令f 查找/ 查找4)复制粘贴命令(n)yy 拷贝n行到剪切板p 粘贴(后)P 粘贴(当前)二、vi选项设置vi是一个强大的编辑器,它不仅可以用来处理我们平时的文本工作,还可以用来写程序文件。

在用vi进行程序编辑时,它可以实现语法加亮显示、自动缩进、括号匹配等编辑功能。

为控制不同的编辑功能,vi 提供了很多内部选项。

利用:set 命令可以设置选项。

基本语法为:: set option 设置选项option常见的功能选项包括:autoindent 设置该选项,则正文自动缩进ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别number 设置该选项,则显示正文行号ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置tabstop 设置按Tab 键跳过的空格数。

例如:set tabstop=n,n默认值为81)语法加亮显示: syntax on 该命令在vi中打开语法加亮显示的功能。

这样以后在输入的字符中,vi就会自动的识别出关键字,字符串以及其他的一些语法元素,并以不同的颜色来显示出来。

2)自动缩进在vi中自动缩进的选项一般有以下的几种:autoindent: 在这种缩进形式中,新增加的行和前一行有相同的缩进形式。

smartindent: 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时能够正确的识别出{和},当遇到右花括号(}),则取消了缩进形式。

vi命令大全

vi命令大全

移动光标h将光标左移一格l将光标右移一格。

k或Ctrl+p光标上移一行j或Ctrl+n光标下移一行w将光标移到下一个小字的前面。

W将光标移到下一个大字的前面。

b将光标移到前一个小字的前面。

B将光标移到前一个大字的前面。

e将光标移到下一个小字的后面。

E将光标移到前一个大字的后面。

fc把光标移到同一行的下一个c字符处。

Fc把光标移到同一行的前一个c字符处。

tc把光标移到同一行的下一个字符c的前一格。

Tc把光标移到同一行的前一个字符c的后一格。

number|把光标移到递number列上。

+或Enter把光标移至下一行第一个非空白字符。

-把光标移至上一行第一个非空白字符。

)光标移至句尾(光标移至句首}光标移至段落开头{光标移至段落结尾nG光标移至第n行首n+光标下移n行n-光标上移n行n$光标移至第n行尾H把光标移到屏幕最顶端一行。

M光标移至屏幕中间行L光标移至屏幕最后行0(注意是数字零)光标移至当前行首$光标移至当前行尾space字符光标右移一个字符屏幕翻滚Ctrl+f向后滚一页。

Ctrl+d向后滚半页。

Ctrl+b向前滚一页。

Ctrl+u向前滚半页。

Ctrl+e屏幕向下滚一行。

Ctrl+y屏幕项上滚一行。

nz将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

"?nyl字符保存到寄存器?中,其中?为一个字母,n为一个数字将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字插入文本i在光标前I在当前行首a光标后A在当前行尾o在当前行之下新开一行O在当前行之上新开一行r字符替换当前字符R字符及其后的字符,直至按ESC键替换当前字符及其后的字符,直至按ESC键s字符从当前光标位置处开始,以输入的文本替代指定数目的字符S删除指定数目的行,并以所输入文本代替之ncw或nCW修改指定数目的字nCC修改指定数目的行修改ndw或ndW删除光标处开始及其后的n-1个字do删至行首d$删至行尾ndd删除当前行及其后n-1行x或X字符,x删除光标后的,而X删除光标前的删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u删除输入方式下所输入的文本cc或S修改一整行。

Linux--Vi编辑命令(跳到指定行、翻屏、缩进)

Linux--Vi编辑命令(跳到指定行、翻屏、缩进)

Linux--Vi编辑命令(跳到指定⾏、翻屏、缩进)1、设置⾏号如果编辑后,⼜想显⽰⾏号,同样操作按⼀下esc键,并输⼊:(冒号),输⼊set number ,并按回车键,完成后即显⽰⾏号。

不需要显⽰⾏号,同样操作按⼀下esc键,并输⼊:(冒号),输⼊set nonu,并按回车键,即可取消显⽰⾏号。

2、跳到指定⾏在知道所查找的内容在⽂件中的具体位置时可以使⽤以下命令直接定位:跳到⽂件指定⾏:⽐如跳到66⾏66+G(也就是66+shift+g)当然你可以选择另⼀种跳转⽅式:命令⾏输⼊“ : n ” 然后回车跳到⽂件第⼀⾏:gg (两个⼩写的G)跳到⽂件最后⼀⾏:shift+g (也就是G)3、⽂件上下翻转页翻转可以直接使⽤PgUp和PgDn向前滚动⼀屏:Ctrl+F向后滚动⼀屏:Ctrl+B向前滚动半屏:Ctrl+D(向下)向后滚动半屏:Ctrl+U(向上)向下滚动⼀⾏,保持当前光标不动:Ctrl+E向上滚动⼀⾏,保持当前光标不动:Ctrl+Y当前⾏滚动:当前⾏移动到屏幕顶部并滚动:Z+Enter滚动指定⾏到屏幕顶部: 10Z+Enter(指定第⼗⾏)当前⾏移动到屏幕中央并滚动:Z + .当前⾏移动到屏幕底部并滚动:Z + -当前屏幕操作:H:⼤写h,移动到当前屏幕⾸⾏;nH移动到⾸⾏下的第n⾏M:⼤写m,移动到当前屏幕中间⾏L:⼤写l,移动到当前屏幕末⾏;nL移动到末⾏上⾯的第n⾏4、多窗⼝功能【:sp [filename]】打开⼀个新窗⼝,显⽰新⽂件,若只输⼊:sp,则两窗⼝显⽰同⼀个⽂件【[Ctrl] + w + j】光标移动到下⽅窗⼝【[Ctrl] + w + k】光标移动到上⽅窗⼝【[Ctrl] + w + q】离开当前窗⼝5、缩进(1)批量缩进在程序代码界⾯,按esc,退出编辑模式,到命令模式,并在英语输⼊法下输⼊“:”将所要批量缩进的⾏号写上,按照格式:“⾏号1,⾏号2>”输⼊命令,如要将2⾄9⾏批量缩进⼀个tab值,则命令为“2,9>”输⼊完毕后,按回车可以执⾏,就可以看到2⾄9⾏全部缩进了⼀个tab值了,同样的,如果要缩回来⼀个tab值,则⽤命令“⾏号1,⾏号2<”即可(2)可视模式缩进⽅法⼆是在可视模式下选择要移动的列,操作为,esc从编辑模式退到命令模式,将光标移到需要缩进的⾏的⾏⾸,然后按shift+v,可以看到该⾏已被选中,且左下⾓提⽰为“可视”此时,按键盘上的上下左右⽅向键,如这⾥按向下的箭头,选中所有需要批量缩进的⾏选择好了之后,按shift+>,是向前缩进⼀个tab值,按shift+<,则是缩回⼀个tab值,。

vi命令记忆技巧

vi命令记忆技巧

vi命令记忆技巧
以下是vi命令记忆技巧:
1. 将命令和操作关联记忆:可以将vi命令和操作关联起来,形成一种记忆
技巧。

例如,将“q”命令与“退出”操作关联,将“w”命令与“存盘”
操作关联,将“e”命令与“打开新文件”操作关联等。

2. 记忆模式:vi有三种模式,分别是命令模式、输入模式和末行模式。

可以将这些模式与操作相关联,以便更容易记忆。

例如,在命令模式下,可以使用箭头键进行光标移动,在输入模式下,可以使用字母键进行文本输入等。

3. 记忆快捷键:vi有许多快捷键可以帮助记忆,例如Ctrl + f用于向前翻页,Ctrl + b用于向后翻页,Ctrl + u用于向前翻半页,Ctrl + d用于向后翻半
页等。

4. 记忆光标移动:vi的光标移动可以通过一些简单的快捷键实现,例如“h”表示左移一个字符,“j”表示下移一行,“k”表示上移一行,“l”表示右移一个字符等。

5. 记忆插入操作:在vi中,可以使用“i”键进入插入模式,使用“a”键
进入附加模式,使用“A”键进入行末模式等。

6. 记忆删除操作:在vi中,可以使用“x”键删除一个字符,使用“u”键
撤销上次操作等。

通过以上技巧,可以更轻松地记忆vi命令和操作,提高使用效率。

vi命令大全(完整版)

vi命令大全(完整版)

vi命令大全(完整版)根据个人多年的vi编程经验,总结出的vi命令实用语句,适用于linu某学习者如下是个人总结的vi命令全集:进入vi的命令vifilename:打开或新建文件,并将光标置于第一行首vi+nfilename:打开文件,并将光标置于第n行首vi+filename:打开文件,并将光标置于最后一行首vi+/patternfilename:打开文件,并将光标置于第一个与pattern 匹配的串处vi-rfilename:在上次正用vi编辑时发生系统崩溃,恢复filename vifilename....filename:打开多个文件,依次进行编辑移动光标类命令h:光标左移一个字符l:光标右移一个字符pace:光标右移一个字符Backpace:光标左移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n:光标下移一行Enter:光标下移一行w或W:光标右移一个字至字首b或B:光标左移一个字至字首e或E:光标右移一个字至字尾):光标移至句尾(:光标移至句首}:光标移至段落开头{:光标移至段落结尾nG:光标移至第n行首n+:光标下移n行n-:光标上移n行n$:光标移至第n行尾H:光标移至屏幕顶行M:光标移至屏幕中间行L:光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾屏幕翻滚类命令Ctrl+u:向文件首翻半屏Ctrl+d:向文件尾翻半屏Ctrl+f:向文件尾翻一屏Ctrl+b;向文件首翻一屏nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令i:在光标前根据个人多年的vi编程经验,总结出的vi命令实用语句,适用于linu某学习者I:在当前行首a:光标后A:在当前行尾o:在当前行之下新开一行O:在当前行之上新开一行r:替换当前字符R:替换当前字符及其后的字符,直至按ESC键:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之ncw或nCW:修改指定数目的字nCC:修改指定数目的行删除命令ndw或ndW:删除光标处开始及其后的n-1个字do:删至行首d$:删至行尾ndd:删除当前行及其后n-1行某或某:删除一个字符,某删除光标后的,而某删除光标前的Ctrl+u:删除输入方式下所输入的文本搜索及替换命令/pattern:从光标开始处向文件尾搜索patternpattern:从光标开始处向文件首搜索patternn:在同一方向重复上一次搜索命令N:在反方向上重复上一次搜索命令:/p1/p2/g:将当前行中所有p1均用p2替代:n1,n2/p1/p2/g:将第n1至n2行中所有p1均用p2替代:g/p1///p2/g:将文件中所有p1均用p2替换选项设置all:列出所有选项设置情况term:设置终端类型ignorance:在搜索中忽略大小写lit:显示制表位(Ctrl+I)和行尾标志($)number:显示行号report:显示由面向行的命令修改过的数目tere:显示简短的警告信息warn:在转到别的文件时若没保存当前文件则显示NOwrite信息nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符nowrapcan:禁止vi在搜索到达文件两端时,又从另一端开始meg:允许vi显示其他用户用write写到自己终端上的信息最后行方式命令:n1,n2con3:将n1行到n2行之间的内容拷贝到第n3行下根据个人多年的vi编程经验,总结出的vi命令实用语句,适用于linu某学习者:n1,n2mn3:将n1行到n2行之间的内容移至到第n3行下:n1,n2d:将n1行到n2行之间的内容删除:w:保存当前文件:efilename:打开文件filename进行编辑:某:保存当前文件并退出:q:退出vi:q!:不保存文件并退出vi寄存器操作"nyy:将当前行及其下n行的内容保存到寄存器?中,其中为一个字母,n为一个数字"nyw:将当前行及其下n个字保存到寄存器?中,其中为一个字母,n为一个数字"nyl:将当前行及其下n个字符保存到寄存器?中,其中为一个字母,n为一个数字"p:取出寄存器?中的内容并将其放到光标位置处。

vi命令——修改文件内容

vi命令——修改文件内容

vi命令——修改⽂件内容vi编辑器是所有Unix及Linux系统下标准的编辑器,介绍⼀下它的⽤法和⼀⼩部分指令。

由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地⽅进⼀步了解它。

Vi也是Linux中最基本的⽂本编辑器,学会它后,您将在Linux的世界⾥畅⾏⽆阻。

在所有的命令执⾏前,先按Esc1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插⼊模式(Insert mode)和底⾏模式(last line mode),各模式的功能区分如下:1) 命令⾏模式command mode) 控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode。

2) 插⼊模式(Insert mode) 只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到命令⾏模式。

3) 底⾏模式(last line mode) 将⽂件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出⾏号……等。

不过⼀般我们在使⽤时把vi简化成两个模式,就是将底⾏模式(last line mode)也算⼊命令⾏模式command mode)。

2、vi的基本操作a) 进⼊vi 在系统提⽰符号输⼊vi及⽂件名称后,就进⼊vi全屏幕编辑画⾯: $ vi myfile 不过有⼀点要特别注意,就是您进⼊vi之后,是处于「命令⾏模式(command mode)」,您要切换到「插⼊模式(Insert mode)」才能够输⼊⽂字。

初次使⽤vi的⼈都会想先⽤上下左右键移动光标,结果电脑⼀直哔哔叫,把⾃⼰⽓个半死,所以进⼊vi后,先不要乱动,转换到「插⼊模式(Insert mode)」再说吧!b) 切换⾄插⼊模式(Insert mode)编辑⽂件 在「命令⾏模式(command mode)」下按⼀下字母「i」就可以进⼊「插⼊模式(Insert mode)」,这时候你就可以开始输⼊⽂字了。

VI编辑器常用命令

VI编辑器常用命令

VI编辑器命令——天天笑笑整理三种工作模式,命令模式、插入模式和试图模式(老版本vi没有试图模式)命令模式下输入插入类命令或替换命令(cw)进入插入模式。

插入模式下按ESC或ctrl+[进入命令模式命令模式下输入v进入视图模式。

1.打开文件命令:vi filename打开或新建文件,并将光标置于第一行首2.退出命令:q直接退出:q!不保存退出:wq保存退出:w保存当前文件3.光标移动命令(命令模式下):h光标左移一个字符l光标右移一个字符j光标下移一行k光标上移一行w光标右移一个字至字首b光标左移一个字至字首e光标右移一个字至字尾0光标移至当前行首^光标移至当前行首$光标移至当前行尾n+光标下移n行n-光标上移n行H光标移至屏幕顶行M光标移至屏幕中间行L光标移至屏幕最后行ctrl+g显示当前行号n shift+g跳转到第n行4.屏幕翻滚类命令Ctrl+u向文件首翻半屏Ctrl+d向文件尾翻半屏Ctrl+f向文件尾翻一屏Ctrl+b向文件首翻一屏5.插入类命令i在光标前a光标后I在当前行首A在当前行尾o在当前行之下新开一行O在当前行之上新开一行6.删除替换字符dw删除单词ndw删除n个单词dd删除当前行ndd删除n行d$删除至行尾d^或d0删除至行首cw删除单词,并进入插入状态ncw删除n个单词,并进入插入状态cc删除当前行,并进入插入状态ncc删除n行,并进入插入状态c$删除至行尾,并进入插入状态c^或c0删除至行首,并进入插入状态R替换当前字符及其后的连续多个字符,直至按ESC键r用输入的字符替换当前字符x x删除光标后的一个字符X x删除光标前的一个字符7.复制黏贴撤销y1将光标处的一个字符复制到缓冲区yw复制当前单词到缓冲区nyw复制n个单词到缓冲区yy复制当前行到缓冲区nyy复制n行到缓冲区y$复制当前位置至行尾到缓冲区y^或y0复制当前位置至行首到缓冲区p将缓冲区的信息粘贴到光标的后面将光标移到复制的首位置,按下v进入试图模式,用hjkl移动,按y复制,按p粘贴u撤消最后执行的命令Ctrl+R恢复命令,也就是撤消掉撤消命令。

VI 命令一览表

VI 命令一览表

VI 命令一览表进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑移动光标类命令h 或Backspace::?? 光标左移一个字符l? 或space::?????????? 光标右移一个字符k 或Ctrl+p:????????????? 光标上移一行j 或??Enter?或Ctrl+n :光标下移一行w :光标右移一个字至字首W :光标右移一个字至字首,忽略标点符号b 或 B :?光标左移一个字至字首e 或 E :?光标右移一个字至字尾) :光标移至句尾( :光标移至句首}:光标移至段落开头{:光标移至段落结尾nG:光标移至第n行首n+:光标下移n行n-:光标上移n行n$:光标移至第n行尾H :光标移至屏幕顶行M :光标移至屏幕中间行L :光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾屏幕翻滚类命令Ctrl+u:向文件首翻半屏Ctrl+d:向文件尾翻半屏Ctrl+f:?向文件尾翻一屏Ctrl+b;向文件首翻一屏nz:???将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令i :在光标前I :在当前行首a:光标后A:在当前行尾o:在当前行之下新开一行O:在当前行之上新开一行r:替换当前字符R:替换当前字符及其后的字符,直至按ESC键s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之ncw或nCW:修改指定数目的字nCC:修改指定数目的行删除命令ndw或ndW:删除光标处开始及其后的n-1个字do:删至行首d$:删至行尾ndd:删除当前行及其后n-1行x或X:删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u:删除输入方式下所输入的文本搜索及替换命令/pattern:从光标开始处向文件尾搜索pattern?pattern:从光标开始处向文件首搜索patternn:在同一方向重复上一次搜索命令N:在反方向上重复上一次搜索命令: s/p1/p2/g:将当前行中所有p1均用p2替代: n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代: g/p1/s//p2/g:将文件中所有p1均用p2替换选项设置all:列出所有选项设置情况term:设置终端类型ignorance:在搜索中忽略大小写list:显示制表位(Ctrl+I)和行尾标志($)number:显示行号report:显示由面向行的命令修改过的数目terse:显示简短的警告信息warn:在转到别的文件时若没保存当前文件则显示NO write nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的末行方式命令:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下:n1,n2 d :将n1行到n2行之间的内容删除:w :保存当前文件:e filename:打开文件filename进行编辑:x:保存当前文件并退出:q:退出vi:q!:不保存文件并退出vi:!command:执行shell命令command:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command 的输入:r!command:将命令command的输出结果放到当前行寄存器操作"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字"?p:取出寄存器?中的内容并将其放到光标位置处。

vi常用命令集锦

vi常用命令集锦

vi常⽤命令集锦vi编辑器有3种模式:命令模式、输⼊模式、末⾏模式。

掌握这三种模式⼗分重要: 命令模式:vi启动后默认进⼊的是命令模式,从这个模式使⽤命令可以切换到另外两种模式,同时⽆论在任何模式下只要按⼀下[Esc]键都可以返回命令模式。

在命令模式中输⼊字幕“i”就可以进⼊vi的输⼊模式编辑⽂件。

输⼊模式:在这个模式中我们可以编辑、修改、输⼊等编辑⼯作,在编辑器最后⼀⾏显⽰⼀个“--INSERT--”标志着vi进⼊了输⼊模式。

当我们完成修改输⼊等操作的时候我们需要保存⽂件,这时我们需要先返回命令模式,在进⼊末⾏模式保存。

末⾏模式:在命令模式输⼊“:”即可进⼊该模式,在末⾏模式中有好多好⽤的命令。

vim整理alias vi='vim'1)⽂件的打开与关闭vi filename : 打开或新建⽂件,并将光标置于第⼀⾏⾏⾸vi +n filename : 打开⽂件,并将光标置于第n⾏⾏⾸vi + filename : 打开⽂件,并将光标置于最后⼀⾏⾏⾸vi +/pattern filename: 打开⽂件,并将光标置于第⼀个与pattern匹配的串处vi -r filename : 在上次正⽤vi编辑时发⽣系统崩溃,恢复filenamevi filename...filename :打开多个⽂件,依次进⾏编辑:e filename : 打开filename编辑,编辑完后可⽤:hide退回之前编辑的⽂件:sav filename : 将当前⽂件另存为filename:w : 保存⽂件但不退出vi:w file : 将⽂件另存为file但不退出vi:wq或ZZ或:x : 保存⽂件并退出vi:q! : 不保存⽂件,退出vi:e : 放弃所有修改,从上次保存⽂件开始再编辑(重新载⼊⽂件,包含被其它编辑器修改过的):e! : 放弃所有修改,从上次保存⽂件开始再编辑:hide : 隐藏当前编辑的⽂件,回到上⼀次编辑的⽂件(在打开多⽂件时有效):b 2 : 在当前窗⼝切换到第⼆个打开的⽂件^w^w : 多窗⼝切换2)光标控制与屏幕调整h或^h : 将光标向左移⼀个字符j或^j或^n : 将光标向下移⼀⾏k或^p : 将光标向上移⼀⾏l或空格 : 将光标向右移⼀个字符0或| : 将光标移到当前⾏的第⼀列n| : 将光标移到当前⾏的第n列^ : 将光标移到当前⾏的第⼀个⾮空字符$ : 将光标移到当前⾏的最后⼀个字符n$ : 将光标移到当前⾏下第n-1⾏的最后⼀个字符+或return : 将光标移到下⼀⾏的第⼀个字符- : 将光标移到前⼀⾏的第⼀个⾮空字符gg : 将光标移动到⽂件第⼀⾏G : 将光标移到⽂件的最后⼀⾏nG或ngg或:n : 将光标移到⽂件的第n⾏w : 将光标移到下⼀个字的开头W : 将光标移到下⼀个字的开头,忽略标点符号b : 将光标移到前⼀个字的开头B : 将光标移到前⼀个字的开头,忽略标点符号e : 将光标移到下⼀个字的结尾E : 将光标移到下⼀个字的结尾,忽略标点符号L : 将光标移到屏幕的最后⼀⾏M : 将光标移到屏幕的中间⼀⾏H : 将光标移到屏幕的第⼀⾏H : 将光标移动到屏幕的顶⾏nH : 将光标移动到屏幕顶⾏下的第n⾏M : 将光标移动到屏幕的中间L : 将光标移动到屏幕的底⾏nL : 将光标移动到屏幕底⾏上的第n⾏( : 将光标移动到句⼦的开头) : 将光标移动到句⼦的结尾{ : 将光标移动到段落的开头} : 将光标移动到段落的结尾[[ : 将光标移动到函数(段落)开始处]] : 将光标移动到函数(段落)结尾处[{ : 将光标移动到块开始处}] : 将光标移动到块结束处m(a-z) : ⽤⼀个字母来标记当前位置,如⽤mz表⽰标记z'(a-z) : 将光标移动到指定的标记,如⽤'z表⽰移动到标记z处'' : 两个单引号,将光标移动到最近标记的位置`` : 两个反引号(Tab键上⾯那个),将光标移动到光标前⼀次停留的位置^e : 将屏幕上滚⼀⾏^y : 将屏幕下滚⼀⾏^u : 将屏幕上滚半页^d : 将屏幕下滚半页^b : 将屏幕上滚⼀页^f : 将屏幕下滚⼀页^l : 重绘屏幕z-return : 将当前⾏置为屏幕的顶⾏nz-return : 将当前⾏下的第n⾏置为屏幕的顶⾏z. : 将当前⾏置为屏幕的中央nz. : 将当前⾏上的第n⾏置为屏幕的中央z- : 将当前⾏置为屏幕的底⾏nz- : 将当前⾏上的第n⾏置为屏幕的底⾏3)插⼊⽂本a : 在光标后插⼊⽂本A : 在当前⾏尾插⼊⽂本i : 在光标前插⼊⽂本I : 在当前⾏前插⼊⽂本o : 在当前⾏的下边插⼊新⾏O : 在当前⾏的上边插⼊新⾏escape(Esc) : 回到命令模式^v : 切换到visual block模式,此时通过⽅向键选中block, 再按I,然后输⼊需要插⼊的字符,可以在选中块⾏⾸插⼊字符(同理可以将I换为X删除字符).4)修改⽂本rchar : ⽤char替换当前字符(r,即replace当前光标选中字符)Rtext escape : ⽤text替换当前字符直到换下Esc键(R,即进⼊Replace模式)stext escape : ⽤text代替当前字符(s,即删除当前光标选中字符,并进⼊插⼊状态)S或cctext escape : ⽤text代替整⾏(S,即删除当前光标选中⾏,并进⼊插⼊状态)cwtext escape : 将当前字改为text(cw,即删除当前光标后⼀个字,并进⼊插⼊状态)Ctext escape : 将当前⾏余下的改为text(C,即删除当前光标后字符直到⾏尾,并进⼊插⼊状态)cG escape : 修改⾄⽂件的末尾(cG,即删除当前光标后字符直到⽂件结束,并进⼊插⼊状态)ncw或cnw : 修改指定数⽬的字 (cnw,即删除当前光标后n个字符,并进⼊插⼊状态)nC : 修改指定数⽬的⾏ (nC,即删除当前光标后字符直到⾏尾,并删除之后的n-1⾏,并进⼊插⼊状态) ccursor_cmd text escape : 从当前位置处到光标命令位置处都改为text,如假设光标停留在u第10⾏,c5G text escape,即删除第5⾏到第10⾏,并进⼊插⼊状态,输⼊text,直到escape底⾏命令:n1,n2 co n3 : 将n1⾏到n2⾏之间的内容拷贝到第n3⾏下:n1,n2 m n3 : 将n1⾏到n2⾏之间的内容移⾄到第n3⾏下:n1,n2 d : 将n1⾏到n2⾏之间的内容删除:!command : 执⾏shell命令command:n1,n2 w!command : 将⽂件中n1⾏⾄n2⾏的内容作为command的输⼊并执⾏command:w!command : 将⽂件中的内容作为command的输⼊并执⾏之:r!command : 将命令command的输出结果放到当前⾏:1,10 w outfile : 保存⽂件第1⾏到第10⾏到outfile:1,10 w >> outfile : 将⽂件第1⾏到第10⾏追加到outfile⽂件结尾:r infile : 读取infile到当前光标下⼀⾏:nr infile : 读取infile到当前光标第n⾏的下⼀⾏J : 将下⼀⾏连接到当前⾏的末尾nJ : 连接后⾯n⾏5)删除⽂本x : 删除光标处的字符,可以在x前加上需要删除的字符数⽬nx : 从当前光标处往后删除n个字符X : 删除光标前的字符,可以在X前加上需要删除的字符数⽬nX : 从当前光标处往前删除n个字符dw : 删⾄下⼀个字的开头ndw : 从当前光标处往后删除n个字dG : 删除字符直到⽂件结束dd : 删除当前⾏ndd : 从当前⾏开始往后删除n⾏db : 删除光标前⾯的字ndb : 从当前⾏开始往前删除n字:n,md : 从第n⾏开始删除到第m⾏d$ : 从光标处删除到⾏尾dcursor_command : 删除⾄光标命令处,如dG将从当产胆⾏删除⾄⽂件的末尾dh : 删除光标前⼀个字符dl : 删除光标选中的那个字符dj : 删除光标选中⾏及下⼀⾏dk : 删除光标选中⾏及上⼀⾏dH : 从屏幕顶端删除⾄光标处dM : 删除屏幕中央⾏于光标之间的内容dL : 从光标处删除⾄屏幕末尾dk : 删除光标选中⾏及上⼀⾏dH : 从屏幕顶端删除⾄光标处^h或backspace : 删除前⾯的字符(插⼊状态下)^w : 删除前⾯的字(插⼊状态下)6)查找与替换:set ic : 查找时忽略⼤⼩写(ignorecase):set noic : 查找时对⼤⼩写敏感/text : 在⽂件中向前查找texttext : 在⽂件中向后查找text* : 在⽂件中向前查找当前光标选中的字n : 在同⼀⽅向重复查找N : 在相反⽅向重复查找fchar : 在当前⾏向前查找charFchar : 在当前⾏向后查找chartchar : 在当前⾏向前查找char,并将光标定位在text的第⼀个字符Tchar : 在当前⾏向后查找char,并将光标定位在text的第⼀个字符/\cstring : 查找STRING或string,⼤⼩写不敏感/jo[ha]n : 查找john或joan/\< the : 查找the,theatre或then等the开头的单词/the\> : 查找the或breathe等the结尾的单词/\< the\> : 查找 the(空格后紧跟the)/fred\|joe : 查找fred或joe/\<\d\d\d\d\> : 查找4个字符的单词/^\n\{3} : 查找连续3个空⾏:bufdo /searchstr/ : 在所有打开⽂件中查找bufdo %s/some/someelse/g : 在所有打开⽂件中查找some并⽤someelse代替& 重复最后的:s命令:g/text/command : 在所有包含text的⾏运⾏command所表⽰的命令:v/text/command : 在所有不包含text的⾏运⾏command所表⽰的命令:g/string/d : 删除所有包含string的⾏:v/string/d : 删除所有不包含string的⾏:g/text1/s/text2/text3 : 查找包含text1的⾏,⽤text3替换text2:v/text1/s/text2/text3 : 查找不包含text1的⾏,⽤text3替换text2:%s/old/new/g : 将⽂件中所有old替换为new(⼤⼩写敏感):%s/onward/forward/gi : 将⽂件中所有onward替换为forward(忽略⼤⼩写):%s/old/new/gc : 将⽂件中所有old替换为new,替换前需确认:%s/^/hello/g : 将⽂件中所有开头替换为hello:%s/$/Harry/g : 将⽂件中所有结尾替换为Harry:%s/ *$//g : 删除所有空格:%s/Bill/Steve/g : 将当前⽂件的所有Bill替换为Steve:%s/^M//g : 删除所有Dos回车符 (^M):%s/^M/\r/g : 删除所有Dos回车符转化成标准回车符:%s#<[^>]\+>##g : 删除所有HTML标记只留下内容:%s/^.∗\n\1$/\1/ : 删除重复⾏:s/Bill/Steve/ : 将当前⾏第⼀个Bill替换为Steve:s/Bill/Steve/g : 将当前⾏所有Bill替换为Steve:m,n s/Bill/Steve/ : 在m⾏和n⾏之间,将第⼀个Bill替换为Steve:m,n s/Bill/Steve/g : 在m⾏和n⾏之间,将所有Bill替换为Steve:2,35s/old/new/g : 将第2⾏到第35⾏之间所有old替换为new:5,$s/old/new/g : 将第5⾏到⽂件结尾之间所有old替换为newCtrl+a : 将光标选中的数字加1Ctrl+x : 将光标选中的数字减1ggVGg? : 将全⽂替换为回转13位⽂,变换2次可以回到原⽂.7)复制⽂本yw : 将光标后⼀个字放⼊临时缓冲区nyw或ynw : 将光标后n个字放⼊临时缓冲区y : 将当前⾏及下⼀⾏的内容放⼊临时缓冲区(命令模式下)y : 将当前光标选中的内容放⼊临时缓冲区(选择模式下)yy : 将当前⾏的内容放⼊临时缓冲区y$ : 将当前⾏光标之后的内容放⼊临时缓冲区D : 将当前⾏光标之后的内容剪切后放⼊临时缓冲区nyy : 将n⾏的内容放⼊临时缓冲区p : 将临时缓冲区中的⽂本粘贴在当前光标所在⾏下P : 将临时缓冲区中的⽂本粘贴在当前光标所在⾏上gh : 进⼊选择模式,通过光标选择内容,选择完毕后按y将选择内容删除并放⼊缓冲区,并插⼊y,进⼊插⼊模式gH : 进⼊选择模式,通过光标选择内容,选择完毕后按y将选择内容所在⾏删除并放⼊缓冲区,并插⼊y,进⼊插⼊模式gv : 进⼊选择模式,通过光标选择内容,选择完毕后按y将选择内容并放⼊缓冲区,不删除选择内容寄存器操作"(a-z)nyy : 复制n⾏放⼊名字为圆括号内的可命名缓冲区,省略n表⽰当前⾏"(a-z)ndd : 删除n⾏放⼊名字为圆括号内的可命名缓冲区,省略n表⽰当前⾏"(a-z)p : 将名字为圆括号的可命名缓冲区的内容放⼊当前⾏后"(a-z)P : 将名字为圆括号的可命名缓冲区的内容放⼊当前⾏前8)撤消与重复u : 撤消最后⼀次修改U : 撤消当前⾏的所有修改^r : 重新执⾏最近⼀次被撤消的操作. : 重复最后⼀次操作5. : 重复最后⼀次操作5次, : 以相反的⽅向重复前⾯的f、F、t或T查找命令; : 重复前⾯的f、F、t或T查找命令"np : 取回最后第n次的删除(缓冲区中存有⼀定次数的删除内容,⼀般为9)n : 重复前⾯的/或?查找命令N : 以相反⽅向重复前⾯的/或?命令9)vim中的选项:set all : 打印所有选项:set nooption : 关闭option选项:set nu : 每⾏前打印⾏号:set nonu : 每⾏前不打印⾏号:set showmode : 显⽰是输⼊模式还是替换模式:set ic : 查找时忽略⼤⼩写(另⼀种设置见下⽂):set noic : 查找时不忽略⼤⼩写:set list : 显⽰制表符(^I)和⾏尾符号:set ts=4 : 为⽂本输⼊设置tab stops:set ws=4 : 为⽂本输⼊缩进设置4字符:set window=n : 设置⽂本窗⼝显⽰n⾏:syntax on : 打开语法⾼亮:syntax off : 关闭语法⾼亮:set syntax=erlang : 强制语法⾼亮,并按erlang语法显⽰⾼亮10)vim的状态:.= 打印当前⾏的⾏号:= 打印⽂件中的⾏数^g 显⽰⽂件名、当前的⾏号、⽂件的总⾏数和⽂件位置的百分⽐:l 使⽤字母"l"来显⽰许多的特殊字符,如制表符和换⾏符11)shell转义命令:!command : 执⾏shell的command命令,如:!ls:!! : 执⾏前⼀个shell命令:r!command : 读取command命令的输⼊并插⼊,如:r!ls会先执⾏ls,然后读⼊内容:w!command : 将当前已编辑⽂件作为command命令的标准输⼊并执⾏command命令,如:w!grep all:cd directory : 将当前⼯作⽬录更改为directory所表⽰的⽬录:pwd : 显⽰当前⼯作⽬录:so file : 在shell程序file中读⼊和执⾏命令:!pwd : 执⾏pwd命令,然后回到vi!!pwd : 执⾏pwd命令,然后插⼊其输出结果到当前⽂件,并替换光标所在⾏:sh : 将启动⼀个⼦shell,使⽤^d(ctrl+d)返回vi^d或$exit : 退出临时开启的终端并回到vi12)宏与缩写(PS:避免使⽤控制键和符号,不要使⽤字符K、V、g、q、v、*、=和功能键):map key command_seq : 定义⼀个键来运⾏command_seq,如:map e ea,⽆论什么时候都可以e移到⼀个字的末尾来追加⽂本:map : 在状态⾏显⽰所有已定义的宏:umap key : 删除该键的宏:ab string1 string2 : 定义⼀个缩写,使得当插⼊string1时,⽤string2替换string1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

替换字符串中的&可以用 代替 替换字符串中的 可以用\0代替 可以用
:1,$s/[0-9][0-9]*/192.168.24.& 也可以用 :1,$s/[0-9][0-9]*/192.168.24.\0 host&/ host\0/
删除命令和剪贴板
注:被删除的内容进入剪贴版 删除字符
删除当前字符的命令 x 命令5x删除从当前光标开始的5个字符
删除行
删除当前行的命令 dd 命令3dd删除从当前行开始的3行
删除块
删除到配对括号命令:将光标定位在括号上 d%
复制到剪贴板yank(不删除,只拷贝到剪贴板) 不删除,只拷贝到剪贴板 复制到剪贴板 不删除
在正则表达式中圆括号,仍然代表它自身 在正则表达式中出现的\(和\)不影响匹配操作

[a-zA-Z_][a-zA-Z0-9_]*->number \([a-zA-Z_][a-zA-Z0-9_]*\)->number
替换字符串中的 \0 \1 \2 ……
更灵活的替换(2) 更灵活的替换
替换为“ 将“变量名->number”替换为“变量名 变量名 替换为 变量名->num”
模式查找
用“正则表达式”来描述一个字符串模式 查找命令
格式 例: /pattern /[0-9][0-9]*
继续查找命令
n 向下查找下一个next N 向上查找下一个 循环式搜索
模式替换(1) 模式替换
替换命令 (substitution)
格式 例 :n1,n2s/pattern/string/g
文件操作命令
存盘退出
ZZ :wq<CR>
存盘不退出
:w<CR>
不存盘退出
:q!<CR>
读入文件xyz.c插入到当前行之下 插入到当前行之下 读入文件
:r xyz.c<CR>
写文件,把第 行至文件尾的内容写到文件 写文件 把第50行至文件尾的内容写到文件 把第 行至文件尾的内容写到文件file1中 中
命令 i
在当前字符前插入正文段,直至按Esc键(insert)
命令 a
在当前字符后插入正文段,直至按Esc键(append)
命令 o
在当前行后插入正文段,直至按Esc键(open)
命令 O
在当前行前插入正文段,直至按Esc键(open)
光标单字符移动
单字符移动(四个字母键盘上相邻的按键) 单字符移动(四个字母键盘上相邻的按键)
:1,$s/\([a-zA-Z_][a-zA-Z0-9_]*\)->number/\1->num/g
将日期格式“ 日 年 改为“ 月 日 将日期格式“月-日-年”改为“年.月.日”, 比如: 替换为1997.04.26使用命令 使用命令: 比如:将 04-26-1997替换为 替换为 使用命令
:1,$s/\([0-9][0-9]\)-\([0-9][0-9]\)-\([0-9][0-9]*\)/\3.\1.\2/g
h 光标左移一列 j 光标下移一行 k 光标上移一行 l 光标右移一列 有的终端可以直接使用键盘上的方向键代替这四个字母
命令前加一整数, 命令前加一整数,表示这个命令连续执行多少遍
5h 光标左移5列 6j意:在vi命令状态下的按键命令没有回显
翻页
命令
Ctrl-b 向后翻页(Backward) Ctrl-f 向前翻页(Forward) Ctrl-u 向上翻半页(Up) Ctrl-d 向下翻半页(Down)
注意
vi把文件尾方向定义为向前,文件头方向定义为向后 有的键盘用PgDn键代替Ctrl-f,用PgUp键代替Ctrl-b 也可以使用下面的命令
模式替换中的转义符
尤其是编辑C语言源程序时需要 尤其是编辑 语言源程序时需要 替换为x[k]*y[n]的命令 将a[i]*b[j]替换为 替换为 的命令
:1,$s/a\[i]\*b\[j]/x[k]*y[n]/g
替为buffer.size/1024的命令 将buf.len/1000替为 替为 的命令
:1,50s/abc/xyz/ :1,50s/abc/xyz/g :50,80s/^// :50,80s/^// :1,$s/ *$// :1,$s/a[i]/b[j]/g :1,$/a*b/x+y/g
第50-75行右移4列 第50-75行左移4列 消除尾部多余的空格 不能把a[i]替换为b[j]
:5,10co56<CR>复制第5-10行到第56行之下
移动
:8,34m78<CR>移动第8-34行到第78行之下
行合并、 行合并、刷屏和状态显示
两行合并(Join) J 两行合并
当前行下面的行合并到当前行
刷新屏幕显示(load) Ctrl-l 刷新屏幕显示 状态显示 Ctrl-g
在屏幕最下面一行列出正在编辑的文件的名字,总 行数,当前行号,文件是否被修改过等信息
vi工作方式 工作方式
命令状态: 命令状态:键盘输入解释为命令
vi一启动就进入命令方式,键盘输入解释为命令 一般按键无回显 以冒号可以引入ex命令和查找命令 编辑命令 i a 等,可以从命令状态转到文本状态
按 Esc键 键 命令i,a等 命令 i,a等 i,a
编辑 命令
命令 状态
文本 状态
正文
正文插入
光标移动到指定行
移到指定的行
:476 将光标定位于第476行 :1 将光标定位于第1行(文件首) :$ 将光标定位于文件尾 :$-10将光标定位于文件倒数第10行
在描述行号时可以使用
圆点(.)代表当前行号, $ 代表最后一行的行号
括号配对 %
把光标移到一个花括号(或圆括号,或方括号)上, 按%键,则光标自动定位到与它配对的那一个括号
:1,$s/buf\.len\/1000/buffer.size\/1024/g 模式串和替换字符串中的斜线前加转义符\以区别 于替换命令格式中所必须的斜线
替换为&record 将*pointer替换为 替换为
:1,$s/\*pointer/\&record/g
更灵活的替换(1) 更灵活的替换
模式描述中增加\(和 模式描述中增加 和\)
yy与y% paste取出剪贴板中内容 p
字符替换
替换光标处字符 r
ra命令将当前光标处字符替换为a 将当前光标处开始的三个字符依次替换为abc,则 需要按命令rarbrc
替换若干字符 R
例:命令Rabcdef,然后按Esc键 该命令把从当前光标开始的字符依次替换为abcdef, 用Esc来结束多字符替换命令
模式替换(2) 模式替换
替换字符串中字符&代表被模式所匹配的那部分 替换字符串中字符 代表被模式所匹配的那部分
例 设文件当前只含有2行,每行为一个整数,内容为
5 6 10
执行命令 :1,$s/[0-9][0-9]*/192.168.24.& host&/
192.168.24.5 host5 192.168.24.6 host6 192.168.24.10 host10
:50,$w file1<CR> :50,$w! file1<CR> 强制覆盖
块操作
删除, 删除,并拷贝到剪贴板
:10,50d<CR> 删除第10-50行 :1,.d<CR> 删除文件首至当前行的部分 :.,$d<CR> 删除当前行到文件尾
不删除, 不删除,拷贝到剪贴板
:10,50y<CR>
复制
6Ctrl-f 向前翻6页 15Ctrl-b 向后翻15页
光标行内快速移动
行尾行首
将光标移至当前行首 将光标移至当前行尾 ^ $
移动一个单词
移到右一个单词 w W 移到左一个单词 b B 也可以使用6w 3W 5b 10B命令
wb与WB区别:对“单词”分界符的定义不同 与 区别: 单词” 区别
wb命令:非字母,数字,下划线之外的字符 WB命令:仅以空白符(空格/制表符/回车)
取消和重复
取消上一次的编辑操作(undo) u 取消上一次的编辑操作
如:误删了一段正文,用u命令可撤销删除 如:把文件中的所有abc字符串替换成xyz字符串, 用u命令可撤销替换
重复上一次的编辑操作 .
按圆点键,可以重复上一次的编辑操作 例如:按3dd命令删除了三行,然后按圆点键就再 删除三行,接着连续按圆点键,每按一次删三行
相关文档
最新文档