vi操作

合集下载

vi操作

vi操作

(1)撤消前一个命令:在最后一个命令之后立即输入u来撤消该命令
(2)重复某个命令:“.”
(3)撤消对一行的更改:输入U来撤消你对一行所做的所有更改,这个命令只有在你没将光标移动到该行以外时才生效。
4、删除文本
(1)删除一个字符:
(3)删除一行:将光标放置到该行的任意处并输入dd
(4)删除多行:ndd
(5)删除行的部分内容:将光标放置到该行要保存部分的右边,并输入D。为删除光标左边的所有内容,须将光标放置到该行要删除部分的右边,并输入d0(d-零)。
(6)删除到文件的结尾:为删除从当前行到文件结尾的所有内容,需输入dG
vi的三种模式
vi编辑器的启动与退出
1. vi的启动
输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式。
(1) vi
进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。
(2) vi file1
vi被运行时,通常处在命令模式下,键入以下命令 可以使vi退出命令模式,进入输入模式:I(i)、A(a)、O(o)。
3、末行模式(last line mode)—执行待定命令
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。不过一般我们在使用时把vi简化成两个模式,就是将末行模式(last line mode)也算入命令行模式command mode)。
vi编辑器的三种模式
1、命令模式(command mode)—执行命令
在该模式中,可以输入命令来执行许多种功能。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

vi使用技巧

vi使用技巧

vi使用技巧Vi是一款经典的文本编辑器,常被程序员和系统管理员使用。

下面是一些Vi使用的技巧,可以提高编辑效率和操作体验。

1. 模式切换:Vi有两种模式,命令模式和插入模式。

命令模式下可以进行复制、粘贴、删除等操作,插入模式下可以输入文字。

在命令模式按下 "i" 键进入插入模式,在插入模式按下"Esc" 键返回命令模式。

2. 光标移动:使用 "h"、"j"、"k"、"l" 键(分别对应左、下、上、右)可以在命令模式下移动光标。

使用 "gg" 和 "G" 键可以分别跳到文件开头和结尾。

使用 "0" 键可以跳到行首,使用"$" 键可以跳到行尾。

3. 复制和粘贴:在命令模式下将光标移到要复制的地方,按下"yy" 键复制当前行,或者按下数字 + "yy" 键复制多行。

然后将光标移到要粘贴的位置,按下 "p" 键粘贴。

4. 删除和撤销:在命令模式下按下 "dd" 键可以删除当前行,或者按下数字 + "dd" 键删除多行。

按下 "u" 键可以撤销最后的操作。

5. 查找和替换:在命令模式下按下 "/" 键可以进行查找操作,输入要查找的关键词并按下 "Enter" 键。

按下 "n" 键可以跳转到下一个匹配项。

按下 ":%s/old/new/g" 可以替换整个文件中的 "old" 字符串为 "new" 字符串。

6. 多文件编辑:使用 "vi filename" 的方式可以打开指定的文件。

linux文件编辑vi的常见操作命令

linux文件编辑vi的常见操作命令

linux文件编辑vi的常见操作命令vi是一款常用的文本编辑器,在Linux系统中被广泛使用。

下面将介绍vi的常见操作命令,帮助初学者快速掌握vi的基本使用。

1. 打开文件:使用vi命令加上要编辑的文件名,例如`vi filename`。

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

2. 保存文件:在正常模式下,按下`:w`命令可以将文件保存。

如果文件是新创建的,需要指定文件名,例如`:w newfilename`。

3. 退出vi:在正常模式下,输入命令`:q`可以退出vi。

如果文件有未保存的修改,vi会提示保存或放弃修改。

如果想强制退出vi,可以使用命令`:q!`。

4. 插入文本:在正常模式下,按下`i`命令可以进入插入模式,在光标位置前插入文本。

按下`a`命令可以在光标位置后插入文本。

按下`o`命令可以在下一行插入新行并进入插入模式。

5. 删除文本:在正常模式下,按下`x`命令可以删除光标所在位置的字符。

按下`dd`命令可以删除整行。

按下`dw`命令可以删除一个词。

按下`d$`命令可以删除光标位置到行尾的内容。

6. 复制和粘贴文本:在正常模式下,按下`yy`命令可以复制整行。

按下`yw`命令可以复制一个词。

按下`p`命令可以粘贴复制的内容。

7. 撤销和重做:在正常模式下,按下`u`命令可以撤销上一步操作。

按下`Ctrl + r`命令可以重做被撤销的操作。

8. 查找和替换:在正常模式下,按下`/text`命令可以向下查找匹配的文本。

按下`?text`命令可以向上查找匹配的文本。

按下`:%s/old/new/g`命令可以替换全文中的old为new。

9. 移动光标:在正常模式下,按下`h`命令可以将光标向左移动一个字符。

按下`j`命令可以将光标向下移动一行。

按下`k`命令可以将光标向上移动一行。

按下`l`命令可以将光标向右移动一个字符。

按下`gg`命令可以将光标移动到文件开头。

按下`G`命令可以将光标移动到文件末尾。

实验三 vi的基本操作

实验三 vi的基本操作

实验三 vi的基本操作一实验要求1 Vi是Linux中最基本的文本编辑器,熟悉并掌握vi命令模式、文本编辑模式和最后行模式三种工作模式之间的转换方法2 掌握利用vi新建和保存文件:熟悉光标的移动,文本的插入与删除等操作3 掌握字符串替换:行的复制、移动、撤消和删除等操作二实验内容及步骤(一)﷒新建文本文件(1)在shell命令提示符下,输入vi,启动vi编辑器,进入命令模式。

命令模式:前面有”~”的是空白区,无”~”的是编辑区,最下面会显示文件名,当前文件行数,字符数,光标位置(2)按“i”键,从命令模式,切换为文本编辑模式。

此时,屏幕最底端出现”----INSERT---“输入(编辑)模式:最下面会显示insert或replace字样(3)输入文本内容。

退格键或Delete键删除错误字符(4)按Esc键返回命令模式。

(5)按“:”键进入最后行模式,输入“w filename”,可以将正在编辑的内容保存为filename文件。

屏幕底部会显示文件相关信息。

Vi编辑模式下,只有回车键才认为是新的一行。

(6)在最后行模式下,输入”q”,退出vi编辑器。

(二)打开filename文件并显示行号(1)输入命令vi filename,启动vi文本编辑器打开filename文件。

(2)按“:”切换到最后行模式,输入命令“set nu”,每一行前出现行号(3)vi自动返回到命令模式,连续两次输入”Z”,就退出vi。

//保存退出:ZZ, 不保存退出:ZQ(三)在文件中添加内容(1)vi filename,打开文件(2)按“a”键,进入文本编辑模式(3)用方向键将光标标到第一行后,回车,另起一行。

添加文本内容。

将光标移到所需位置,添加内容。

(四)替换文本内容(1)进入最后行模式(2)输入命令1,5 s/string/replace/g ,并按回车键,将文中第1行到5行的string 替换成replace(五)移动文件和删除文件(1)“:”进入最后行模式下,输入命令:1,4 m 5 //将1到4行移动到第5行后面(2)在“:”后,输入命令1,3 d //删除第1到3行内容(3)u 可以恢复被删除部分(4)在“:”后,输入命令q! //退出vi,不保存对文件的修改(六)复制和删除(1)输入命令 vi filename,进入编辑器(2)“:”进入最后行模式,输入命令1,2 co 5 //将第1到2行的内容复制到第5行后面(3)移动光标到第2行,键入命令 dd ,将第2行删除(4)按“:”,输入”wq”,存盘并退出vi.。

Vi基本操作

Vi基本操作

Vi基本操作首先看一下vi的三种模式的转换图:编辑模式下想进入命令模式,则需要先按Esc进入普通模式,这按“:”即进入了命令模式.再命令模式下想进入编辑模式,则需要先按Esc键,然后再按“i,a,o,O,s,S”等进入编辑模式.三种模式的简单说明:1、普通模式:使用Vi打开一个文件后,默认是普通模式,即不能进行输入,仅可以执行一些操作命令;2、编辑模式:在此模式下可以进行常规的输入操作,可以在左下角看到插入的标记“-- 插入--”或“-- INSERT --”;3、命令模式:在命令模式下,主要是执行保存、退出、搜索、替换等操作,则左下角可以看到“:”,并有光标闪烁等待输入命令.普通模式:普通模式转为编辑模式0:在光标所在行的上一行新增一行o:在光标所在行的下一行新增一行a:从当前光标所在的位置的下一个字符开始输入i:在光标所在的位置插入新输入的字符s:删除光标后的一个字符,然后进入插入模式;S:删除光标所在的行,然后进入插入模式;移动h:将光标向左移动一格l:将光标向右移动一格j:将光标向下移动一格k:将光标向上移动一格$:将光标移到当前行的最后面数字0:将光标移到当前行的最前面G :将光标移到最后一行的开头gg:将光标移到首行开头w或W:将光标移到下一个字e或E:将光标移到本单字的最后一个字符;如果光标所在位置为本单子的最后一个字符,则跳到下一个单字的最后一个字符.b:将光标移到本单词的第一个字符;如果光标所在位置为本单词的第一个字符,则跳到上一个单字的第一个字符.翻页ctrl+b:将页面向前卷动一页ctrl+f:将页面向后卷动一页ctrl+u:将光标向前移动半页ctrl+d:将光标向右移动半页ctrl+e:屏幕向下卷动一行,也可以说文章和光标向上卷动一行ctrl+y:屏幕向上卷动一行,也可以说文章和光标向下卷动一行复制文字yy:可将光标目前所在位置的正行复制,复制时不会将文字反白显示nyy:其中n为数字键,表示要复制的行数,若按3yy,则连同光标所在的位置的一行,与下面2行一起复制yw:可复制光标所在位置到整个单词结束的字符nyw:n表示要复制的单词数目,若按3yw,则会将目前光标所在位置到单词结束,以及后面的2个字一起复制p:可将复制的文字粘贴到当前光标所在的位置.若复制的是整行文字,则会将整行内容粘贴在光标所在位置的下一行shift+p 在光标之前粘帖删除文字d:先按d键,放开后按←键,可将光标位置前一个字符删除;按→键,则会将光标位置的字符删除;按↑键,可将当前光标所在的行与前一行一并删除.按↓键,可将当前的光标所在的行与下一行删除.D:可删除一行中光标所在位置之后的所有字符.dd:连续按2次d键可删除光标所在的那一行.dw:将光标停在某个字的第一个字符,按dw键时,会将此字整个删除.如将光标置在某个字中间的字符上,则会将此字中光标后面的字符删除.nd:n为数字,如按3d,再按下↑键,则删除光标上方的3行,再包括本身1行,共删除4行.若按下↓键,则删除光标下方3行再包括本身1行,共4行.ndd:若按3dd键,表示删除当前光标位置的1行和下面的2行. x:删除光标所在位置的字符X:删除光标所在位置的前一个字符,与d+←键一样nx:按4x键,表示删除光标位置后的3个字符和光标本身所在的字符nX:按4X键,表示删除光标位置之前的4个字符不包括光标的字符J:清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;命令行:欲进入命令模式,需要先进入普通模式,然后输入“:”即可w:保存文件q:退出wq:保存并退出q:不保存,强制退出wq ----强制保存退出x ----- 作用和:wq 一样ZZ ---- 作用和:wq一样,注意Z是大写的,并且不是在命令模式查找及替换文字/或:当药搜索文章中的某一个字符串时,可输入“/”或“”,然后在输入要查找的字符串.例如输入“/kuka”,然后按回车键,vim就会把所有的gz字符串标记起来,并自动将光标移到第一个找到的字符串上.n:将光标移到下一个找到的字符串上N:将光标移到上一个找到的字符串上r:替换光标所在的位置的字符.修改内容不一定要进入insert mode,在normal mode中,只要将光标移到要更改的字符上,然后按R键,就可以输入要查找的字符了.R:连续替换光标所在的位置的字符,按Esc键停止替换cc:按cc键可以替换光标所在的那一行替换字符串:当要将文章中的某一个字符串全部替换时例如将所有的temp替换成tmp,使用“:g/temp/s//tmp/g”或“:1,$stemp/tmp /g”命令,可立刻将所有的“temp”替换成“tmp”字符串.如果不是所有的“temp”字符串都要替换时,可用“:g/temp/s//tmp /gc”或“:1/,$stemp/tmp/gc”命令.则找到每一个“temp”字符串时,都会将整行显示在屏幕的下方,可输入“y”或“n”决定是否要替换.显示光标所在的行数、移到指定的行数^g、^G:按次组合键,则会在最下方处显示光标所造位置的行数,以及文章的总行数.nG 或 ngg:n为数字,若按下20G,则可将光标移到第20行.撤销和还原^u:按此键就是在执行undo命令,可取消前一次的操作^r:按此键就是执行redo命令,可以恢复刚才undo的操作注:^ 代表 ctrl 键.。

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各种快捷方式1、可直接输入的命令ctrl+v:进入列模式编辑;shift+g:跳至文档末尾;v:列模式(移动光标,全选);u:撤销;Ctrl+r:恢复刚才撤销的动作;Ctrl+w+w:切换到下一个窗口(多窗口操作);2、以冒号“:”开头的命令:set nu:显示行号:set nonu:取消行号显示:%s/字符串1/字符串2/g:全局替换,字符串2替换字符串1注:#也可以作为分隔符:%!sort -u:删除重复行:set noh:取消高亮显示3、以斜杠“/”开头的命令/输入字符:查找内容。

4、行缩进在命令格式下,按住shift并连续点击两次>,不进入插入模式即可实现行缩进行操作1、删除行删除没有内容的空行:g/^$/d删除包含有空格组成的空行:g/^\s*$/d以空格或tab开头到结尾的空行:g/^[ |\t]*$/d:%s/r//g 删除DOS方式的回车^M:%s= *$== 删除行尾空白:%s/^(.*)n1/1$/ 删除重复行:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf:%s/<!--_.{-}-->//又是删除多行注释(咦?为什么要说「又」呢?):g/s*^$/d 删除所有空行:这个好用有没有人用过还有其他的方法吗?:g!/^dd/d 删除不含字符串'dd'的行:v/^dd/d 同上(译释:v == g!,就是不匹配!):g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行:v/./.,/./-1join 压缩空行:g/^$/,/./-j 压缩空行ndw 或ndW 删除光标处开始及其后的n-1 个字符。

d0 删至行首。

d$ 删至行尾。

ndd 删除当前行及其后n-1 行。

x 或X 删除一个字符。

Ctrl+u 删除输入方式下所输入的文本。

^R 恢复u的操作J 把下一行合并到当前行尾V 选择一行^V 按下^V后即可进行矩形的选择了aw 选择单词iw 内部单词(无空格)as 选择句子is 选择句子(无空格)ap 选择段落ip 选择段落(无空格)D 删除到行尾x,y 删除与复制包含高亮区dl 删除当前字符(与x命令功能相同)d0 删除到某一行的开始位置d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)dw 删除到某个单词的结尾位置d3w 删除到第三个单词的结尾位置db 删除到某个单词的开始位置dW 删除到某个以空格作为分隔符的单词的结尾位置dB 删除到某个以空格作为分隔符的单词的开始位置d7B 删除到前面7个以空格作为分隔符的单词的开始位置d)删除到某个语句的结尾位置d4)删除到第四个语句的结尾位置d(删除到某个语句的开始位置d)删除到某个段落的结尾位置d{ 删除到某个段落的开始位置d7{ 删除到当前段落起始位置之前的第7个段落位置dd 删除当前行d/text 删除从文本中出现“text”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容dtc 删除当前行直到下一个字符“c”所出现位置之间的内容D 删除到某一行的结尾d$ 删除到某一行的结尾5dd 删除从当前行所开始的5行内容dL 删除直到屏幕上最后一行的内容dH 删除直到屏幕上第一行的内容dG 删除直到工作缓存区结尾的内容d1G 删除直到工作缓存区开始的内容vi 列操作1、对列插入:1 定位光标位置2 ctrl+v进入visual-block模式(选定光标所在行对应的列)3 j移动光标选择列编辑行(按shift+g移动到文件底部)4 输入大写I5 输入输入要插入的文本6 esc7 保存完成eg:文件内容如下:123455678967755hghgh......45975现在需在第一列插入#,将光标定在第一行第一列处,ctrl+v选定第一列,输入命令I,之后按shift+g,光标跳至最后一行的第一列,此时选定了整个文件的第一列,输入要插入的字符#,此时,字符#只会显示在第一行第一列的位置上,按ESC退出,则其余行的第一列的#将显示出来。

vi操作方法

vi操作方法

vi操作方法一、概述vi是一种常用的文本编辑器,它在Unix和Linux系统中广泛使用。

通过vi,用户可以打开、编辑和保存文本文件。

本文将介绍vi的操作方法,帮助读者快速掌握vi编辑器的基本使用。

二、打开文本文件1. 打开终端:在终端中输入vi命令,后接文件名,按回车键。

2. 创建新文件:在终端中输入vi命令,后接新文件名,按回车键。

三、vi编辑模式1. 命令模式:打开文件后的默认模式,可以执行一些命令,如保存文件、退出编辑器等。

- 保存文件:按下Esc键,然后输入":w",按回车键。

- 退出编辑器:按下Esc键,然后输入":q",按回车键。

- 保存并退出:按下Esc键,然后输入":wq",按回车键。

- 强制退出:按下Esc键,然后输入":q!",按回车键。

2. 插入模式:在命令模式下,按下"i"键进入插入模式,可以编辑文本。

- 插入文本:在光标所在位置输入文本。

- 插入行:按下"o"键,在光标所在行下方插入新行。

- 插入行首:按下"I"键,在光标所在行的行首插入文本。

3. 可视模式:在命令模式下,按下"v"键进入可视模式,可以选择文本进行复制、剪切、粘贴等操作。

- 选择文本:移动光标选中文本。

- 复制文本:按下"y"键,复制选中的文本。

- 剪切文本:按下"x"键,剪切选中的文本。

- 粘贴文本:按下"p"键,将复制或剪切的文本粘贴到光标所在位置。

四、vi移动光标1. 基本移动:使用方向键或h(左)、j(下)、k(上)、l(右)进行光标的上下左右移动。

2. 行首行尾:按下"0"键,将光标移动到当前行的行首;按下"$"键,将光标移动到当前行的行尾。

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

Vi各种快捷方式1、可直接输入的命令ctrl+v:进入列模式编辑;shift+g:跳至文档末尾;v:列模式(移动光标,全选);u:撤销;Ctrl+r:恢复刚才撤销的动作;Ctrl+w+w:切换到下一个窗口(多窗口操作);2、以冒号“:”开头的命令:set nu:显示行号:set nonu:取消行号显示:%s/字符串1/字符串2/g:全局替换,字符串2替换字符串1注:#也可以作为分隔符:%!sort -u:删除重复行:set noh:取消高亮显示3、以斜杠“/”开头的命令/输入字符:查找内容。

4、行缩进在命令格式下,按住shift并连续点击两次>,不进入插入模式即可实现行缩进行操作1、删除行刪除沒有內容的空行:g/^$/d刪除包含有空格組成的空行:g/^\s*$/d以空格或tab開頭到結尾的空行:g/^[ |\t]*$/d:%s/r//g 删除DOS方式的回车^M:%s= *$== 删除行尾空白:%s/^(.*)n1/1$/ 删除重复行:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf:%s/<!--_.{-}-->//又是删除多行注释(咦?为什么要说「又」呢?):g/s*^$/d 删除所有空行:这个好用有没有人用过还有其他的方法吗?:g!/^dd/d 删除不含字符串'dd'的行:v/^dd/d 同上(译释:v == g!,就是不匹配!):g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行:v/./.,/./-1join 压缩空行:g/^$/,/./-j 压缩空行ndw 或ndW 删除光标处开始及其后的n-1 个字符。

d0 删至行首。

d$ 删至行尾。

ndd 删除当前行及其后n-1 行。

x 或X 删除一个字符。

Ctrl+u 删除输入方式下所输入的文本。

^R 恢复u的操作J 把下一行合并到当前行尾V 选择一行^V 按下^V后即可进行矩形的选择了aw 选择单词iw 内部单词(无空格)as 选择句子is 选择句子(无空格)ap 选择段落ip 选择段落(无空格)D 删除到行尾x,y 删除与复制包含高亮区dl 删除当前字符(与x命令功能相同)d0 删除到某一行的开始位置d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)dw 删除到某个单词的结尾位置d3w 删除到第三个单词的结尾位置db 删除到某个单词的开始位置dW 删除到某个以空格作为分隔符的单词的结尾位置dB 删除到某个以空格作为分隔符的单词的开始位置d7B 删除到前面7个以空格作为分隔符的单词的开始位置d)删除到某个语句的结尾位置d4)删除到第四个语句的结尾位置d(删除到某个语句的开始位置d)删除到某个段落的结尾位置d{ 删除到某个段落的开始位置d7{ 删除到当前段落起始位置之前的第7个段落位置dd 删除当前行d/text 删除从文本中出现“text”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容dtc 删除当前行直到下一个字符“c”所出现位置之间的内容D 删除到某一行的结尾d$ 删除到某一行的结尾5dd 删除从当前行所开始的5行内容dL 删除直到屏幕上最后一行的内容dH 删除直到屏幕上第一行的内容dG 删除直到工作缓存区结尾的内容d1G 删除直到工作缓存区开始的内容vi 列操作1、对列插入:1 定位光标位置2 ctrl+v进入visual-block模式(选定光标所在行对应的列)3 j移动光标选择列编辑行(按shift+g移动到文件底部)4 输入大写I5 输入输入要插入的文本6 esc7 保存完成eg:文件内容如下:123455678967755hghgh......45975现在需在第一列插入#,将光标定在第一行第一列处,ctrl+v选定第一列,输入命令I,之后按shift+g,光标跳至最后一行的第一列,此时选定了整个文件的第一列,输入要插入的字符#,此时,字符#只会显示在第一行第一列的位置上,按ESC退出,则其余行的第一列的#将显示出来。

2、vi列替换3、列模式编辑方法在使用i600w的编辑脚本时,只想使用其中的拷贝命令,但是还有其他很多行,如果一起运行的话,编译将会花费太多时间,但是如果一行行注释掉又比较麻烦,将来需要从新使用是还要一行行去掉注释,突然想到vi工具的强大,网上搜索看看有没有什么编辑命令,果然发现vi有个列编辑模式:编程的时候需要进行多行注释和删除多行注释,方法如下:1、注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"//",再按Esc,就会全部注释了。

2、删除:先按v,进入visual模式,横向选中列的个数(如"/ /"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光>标,选中注释部分,然后按d, 就会删除注释符号。

3、使用替换命令::%s/^/\/\//g来在全部内容的行首添加//号注释:2,50s/^/\/\//g在2~50行首添加//号注释反过来替换既是删除操作。

vi替换操作vi不支持模糊查询和混合查询1、全局替换字符串eg:/home/zhangyzh./evn/home/zhangyzh./evn/home/zhangyzh./evn.../home/zhangyzh./evn现在需去掉zhangyzh后的“.”,可采用字符串替换的方式::%s/zhangyzh./zhangyzh/g即可将.全部去掉。

其中,/g表示全局的意思。

可以用来去掉某一列的字符2、替换指定范围内的字符串eg:要替换14行至20行之间的所有TCL_PATH为REPORT_PATH,命令如下::14,20s/TCL_PATH/REPORT_PATH/替换行为将只发生在14~20行之间。

3、替换含指定字符串的字段4、多行串成一行即换行符替换成空格指令::%s/\n/ /g或:0,$s/\n/ /vi复制操作1、vi复制多行:vi复制多行文本的方法方法:方法1:光标放到第6行,输入:2yy光标放到第9行,输入:p此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。

方法2:命令行模式下输入6,9co12,复制第6行到第9行之间的内容到第12行后面。

方法3:有时候不想费劲看多少行或复制大量行时,可以使用标签来替代光标移到起始行,输入ma光标移到结束行,输入mb光标移到粘贴行,输入mc然后:'a,'bco'c 把co 改成m就成剪切了要删除多行的话,可以用:5,9de1.将光标移动到将要复制的行处,按yy进行复制当前行(按nyy复制n行),再移动到粘贴位置,按p进行粘贴。

2.将光标移到复制的首位置,按下v,用hjkl移动,按y复制,按p粘贴。

3.光标移到起始行,输入ma;光标移到结束行,输入mb;光标移到粘贴行,输入mc;然后:'a,'b co 'c,把co 改成m 就成剪切了。

4.光标移动到要复制的行,输入yny(n表示要复制该行以下n行);光标移动到粘贴行,按p粘贴。

5.直接输入:n1,n2 co n3。

(n1为起始行,n2为结束行,n3为粘贴行)6.不同文件之间的复制:用:sp [filename]打开另一文件,(用^ww在文件之间切换),然后按上述方法复制有关的命令如下:yy 将当前行复制到缓冲区yw 将当前单词复制到缓冲区y1 将光标处的一个字符复制到缓冲区p 将缓冲区的信息粘贴到光标的后面:行号1 ,行号2 copy 行号3 将行号1到行号2的内容复制到行号3所在行的后面。

:行号1 ,行号2 move 行号3 将行号1到行号2的文本内容移动到行号3所在行的后面。

2、vi多个文件之间复制、粘贴两个文件,假定分别位于不同的路径/home/zhangyzh/a.tcl/home/zhangyzh/temp/b.tcl1.打开a.tcl文件:vi /home/zhangyzh/a.tcl2.选中要复制的内容:(1)复制全部内容:在a文档开头(第一行开头)处做标记,直接输入命令mk;按shift+g跳到最后一行,在文档末尾处(最后一行的最后一个字符)做标记,输入指令”ay’k,之后光标将自动跳至文档开头,此时,a文档中的全部内容放入了缓冲区中;(2)复制部分内容3.打开b.tcl紧接以上操作(不关闭a.tcl),利用指令ex打开b.tcl,:ex /home/zhangyzh/temp/b.tcl,此时打开b.tcl4.移动光标至目标位置,输入指令”ap,内容复制成功。

3、快捷复制、粘帖有时候不想费劲看多少行或复制大量行时,可以使用标签来替代光标移到起始行,输入ma光标移到结束行,输入mb光标移到粘贴行,输入mc然后:'a,'b co 'c 把co 改成m 就成剪切了要删除多行的话,可以用:5, 9 devi 删除操作1、vi列删除方法一:ctrl+v进入列编辑模式;将光标定位子想要删除的起始列;移动光标至结束列(直接通过移动光标选中,对列不对齐时,可能比较长的行,无法全部选中,尤其是需要一直删除到行末,按end可直接到达,在列不对齐情况下也可将内容全部选择)方法二:1.定位光标;2.按d;3.按ctrl+v;4.按end(直接到行末)或数字+方向键(指定需删除的字符数)注:在第四步,按键后会直接删除选定内容。

2、vi 行删除1、单行删除单行删除:1(待删除行)d光标所在行,dd2、多行删除多行删除:1,10d3、查找关键字删除1、删除关键字所在行要删除文档中含有字符reset_reg的所有行::g/reset_reg/d会将含有reset_reg的全部行删除。

4、删除含有某些字符的行:g/string/deg:路径列表,删除含trash的路径:g/trash/d即可把列表中列出的含有回收站的统计的路径删除。

5、删除空白行方法一::g/^$/d方法二::%s/^\n/s//g方法三::g/^\n/s///g方法四:删除多行空白行,保留一行空白行:%s/^\n$//gvi 注释操作1、全文注销:%s/^/#/g2、指定行/段注销vi 取消各种操作1、取消查找操作:目的:取消查找操作后对找到字符的高亮显示方法一:输入一串永远无法找到的字符串;方法二:正确的方法应该是使用“:noh”或“nohlsearch”vi多窗口操作:1、如何打开多窗口:(1)不同文件在不同窗口打开打开方法:(1):e filename_path/filename此时可以通过Tab键查找目录下的文件,此时是重新打开选定的文件,前一个打开的文件将被关掉;不退出vi情况下打开另一个文件,一个窗口只显示一个文件。

相关文档
最新文档