vi常用指令详解

合集下载

VIM使用快捷键总结

VIM使用快捷键总结

VIM使用快捷键总结1.光标移动:-h:左移一个字符-j:下移一行-k:上移一行-l:右移一个字符-0:移动到行首-^:移动到行首第一个非空字符-$:移动到行尾- gg:移动到文件开头-G:移动到文件末尾-w:向前跳至下一个单词的开头-e:向后跳至下一个单词的结尾-b:向前跳至上一个单词的开头-(:向前移动一个句子-):向后移动一个句子-{:向前移动一个段落-}:向后移动一个段落2.插入、删除、复制与粘贴:-i:在当前光标处插入-I:在当前行首插入-a:在当前光标后插入-A:在当前行尾插入-o:在当前行下方插入新行-O:在当前行上方插入新行-x:删除当前光标处的字符- dd:删除当前行- dw:删除一个单词-d$:删除从光标到行尾的内容- yy:复制当前行- yw:复制一个单词-p:粘贴复制的内容-u:撤销上一步操作- Ctrl+r:重做上一步操作3.与替换:-/:-n:跳至下一个结果-N:跳至上一个结果- :s/old/new/g:在当前行替换第一个匹配项- :s/old/new/gc:在当前行替换所有匹配项,并进行确认4.文件操作:-:w:保存文件-:q:关闭文件-:q!:强制关闭文件- :wq:保存并关闭文件- :e filename:打开filename文件- :bn:下一个buffer- :bp:上一个buffer- :bd:关闭buffer- :sp filename:水平分屏打开filename- :vsp filename:垂直分屏打开filename- Ctrl+w:窗口切换5.撤销与重做:-u:撤销上一步操作- Ctrl+r:重做上一步操作-U:撤销对整行的修改6.选中与复制:-v:进入可视模式-V:可视行模式- Ctrl+v:可视块模式-y:复制选中内容-d:删除选中内容7.块操作:- Ctrl+v:进入可视块模式-I:在选中块行首插入-A:在选中块行尾插入-x:删除选中块-y:复制选中块-d:删除选中块8.折叠:- zf+光标移动:创建折叠- za:打开/关闭折叠- zc:关闭折叠- zo:打开折叠9.操作历史:- :earlier 10s:恢复到10秒前的状态- :later 10s:撤销到10秒后的状态10.多窗口操作:- Ctrl+w s:水平分割- Ctrl+w v:垂直分割- Ctrl+w j:光标移至下方窗口- Ctrl+w k:光标移至上方窗口- Ctrl+w h:光标移至左边窗口- Ctrl+w l:光标移至右边窗口- Ctrl+w =:调整窗口尺寸相等- Ctrl+w _:窗口最大化(水平方向)- Ctrl+w ,:窗口最大化(垂直方向)。

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。

浅析VI常用操作:i、x、:wq、dd、p(插入模式、删除光标字符、存盘退出、删除当前行、。。。

浅析VI常用操作:i、x、:wq、dd、p(插入模式、删除光标字符、存盘退出、删除当前行、。。。

浅析VI常⽤操作:i、x、:wq、dd、p(插⼊模式、删除光标字符、存盘退出、删除当前⾏、。

⼀、在 Insert / Normal 模式下编辑⽂档(五个命令:i,x,:wq,dd,p) 打开vim之后默认是Normal模式。

Normal模式下你可以操作你的光标,接下来是Normal模式中的⼀些简单命令,在Normal模式下,⼏乎所有的键都是功能键。

1、按下 i 键,进⼊Insert模式,你就可以输⼊⽂本了,就像⽤“记事本”⼀样。

2、按 esc 退出 insert 模式,进⼊ normal 模式。

3、5⼤命令i →Insert模式,按 ESC 回到Normal模式.x →删当前光标所在的⼀个字符。

:wq →存盘 + 退出 (:w 存盘, :q 退出) (注::w 后可以跟⽂件名)dd →删除当前⾏,并把删除的⾏存到剪贴板⾥p →粘贴剪贴板 i 进⼊ insert 模式修改了⽂件之后,记得 :wq 存盘+退出4、hjkl (强例推荐使⽤其移动光标,但不必需) ,你也可以使⽤光标键 (←↓↑→) 注: j 就像下箭头功能hjkl —— 效果等同于←↓↑→,⽤于移动光标:help<command> —— 显⽰相关命令的帮助5、除了i之外,还有别的插⼊模式可以选择a —— 在光标后插⼊o —— 在当前⾏后插⼊新⾏O —— 在当前⾏前插⼊新⾏⼆、VI 与 VIM 的区别 vi 编辑器是所有Unix及Linux系统下标准的编辑器,它就相当于windows系统中的记事本⼀样,它的强⼤不逊⾊于任何最新的⽂本编辑器。

它是我们使⽤Linux系统不能缺少的⼯具。

由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界⾥畅⾏⽆阻。

vim 具有程序编辑的能⼒,可以以字体颜⾊辨别语法的正确性,⽅便程序设计;因为程序简单,编辑速度相当快速。

vim 可以当作 vi 的升级版本,他可以⽤多种颜⾊的⽅式来显⽰⼀些特殊的信息。

vi常用使用技巧

vi常用使用技巧

vi常用使用技巧金融系统事业部—徐卓兴vi可以说是在Unix操作系统中最常用的文本编辑工具了,但是因为它的命令集众多,很多人都不习惯使用它,特别是习惯了使用windows操作系统下编辑工具的人,在初次接触vi时会觉得非常的不习惯而拒绝使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。

本文介绍了主要介绍使用vi的一些常用技巧。

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

注意:尽量不要使用四个箭头键来移动光标,一方面是四个箭头距离字母区比较远,使用不便,另一方面是在某些终端中不支持箭头的使用。

而k、j、h、l这4个键正是右手在键盘上放置的基本位置,移动非常快捷。

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

Ctrl+F ——向后翻一页。

Ctrl+B ——向前翻一页。

Ctrl+L ——刷新屏幕(乱屏时使用):n ——光标定位到第n行。

G ——光标移动到文件最后一行。

0 ——光标移动到行首。

$ ——光标移动到行尾。

2.编辑命令o ——在当前行下面新开一行。

O ——在当前行上面新开一行。

i、a ——在光标的前、后处插入字符。

cw ——改变光标所在处的单词。

dw ——删除光标所在处的单词的命令。

X ——删除一个字符。

D ——删除光标所在处到行尾的所有字符。

dd、ndd——删除整行、删除当前行开始的n行。

n<<、n>> ——从当前行开始的n行全部向左、右调整缩进格式,该命令用于调整源码的缩进格式。

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

n ——移动光标到下个匹配的位置。

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

二、常用技巧1.设置tab键和左移(<<)、右移(>>)命令的移动位置。

在登录用户的根目录中建立一新文件.exrc,在文件中添加如下两行set tabstop=4set shiftwidth=4第一行设置tab键的移动位置为4个空格长度,第二行设置左移或右移的单位为4个空格长度。

VI编辑器常用指令以及实践示例

VI编辑器常用指令以及实践示例

VI编辑器常⽤指令以及实践⽰例VI编辑器常⽤指令以及实践⽰例⼀.理论知识1.1 Vi编辑器vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强⼤不逊⾊于任何最新的⽂本编辑器, Vi也是Linux中最基本的⽂本编辑器.1.1.1vi的基本概念基本上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,也可以设置编辑环境,如寻找字符串、列出⾏号……等。

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

2) 切换⾄插⼊模式(Insert mode)编辑⽂件在「命令⾏模式(command mode)」下按⼀下字母「i」就可以进⼊「插⼊模式(Insert mode)」,这时候你就可以开始输⼊⽂字了。

3)Insert 的切换⽬前处于「插⼊模式(Insert mode)」,您就只能⼀直输⼊⽂字,如果您发现输错了字!想⽤光标键往回移动,将该字删除,就要先按⼀下「ESC」键转到「命令⾏模式(command mode)」再删除⽂字。

4)退出vi及保存⽂件在「命令⾏模式(command mode)」下,按⼀下「:」冒号键进⼊「Last line mode」,例如:: w filename (输⼊「w filename」将⽂章以指定的⽂件名filename 保存): wq (输⼊「wq」,存盘并退出vi): q! (输⼊q!,不存盘强制退出vi)1.1.3 命令⾏模式(command mode)功能键1)插⼊模式按「i」切换进⼊插⼊模式「insert mode」,按“i”进⼊插⼊模式后是从光标当前位置开始输⼊⽂件;按「a」进⼊插⼊模式后,是从⽬前光标所在位置的下⼀个位置开始输⼊⽂字;按「o」进⼊插⼊模式后,是插⼊新的⼀⾏,从⾏⾸开始输⼊⽂字。

vi编辑器常用的命令及快捷键

vi编辑器常用的命令及快捷键
Ftext 在当前行向后查找text
ttext 在当前行向前查找text,并将光标定位在text的第一个字符
Ttext 在当前行向后查找text,并将光标定位在text的第一个字符
vi的状态
选项 作用
:.= 打印当前行的行号
:= 打印文件中的行数
^g 显示文件名、当前的行号、文件的总行数和文件位置的百分比
E 移到下一个字的结尾,忽略标点符号
( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头
x 删除光标处的字符,可以在x前加上需要删除的字符数目
nx 从当前光标处往后删除n个字符
X 删除光标前的字符,可以在X前加上需要删除的字符数目
nX 从当前光标处往前删除n个字符
0或| 移到当前行的第一列
n| 移到当前行的第n列
^ 移到当前行的第一个非空字符
$ 移到当前行的最后一个字符
+或return 移到下一行的第一个字符
B 移到前一个字的开头,忽略标点符号
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
e 移到下一个字的结尾
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感
:s/oldtext/newtext 用newtext替换oldtext
:m,ns/oldtext/newtext 在m行通过n,用newtext替换oldtext
在vi中复制文本
命令 复制操作
yy 将当前行的内容放入临时缓冲区
nyy 将n行的内容放入临时缓冲区
p 将临时缓冲区中的文本放入光标后

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: 取出寄存器?中的内容并将其放到光标位置处。

Linux 中 V(Vim)常用命令使用说明

Linux 中 V(Vim)常用命令使用说明

Linux 中V(Vim)常用命令使用说明在linux发行版中vi 命令已经软链接到了vim一、vi的三种工作模式:命令模式、末行模式、编辑模式1. 末行模式命令w:(write)保存q:(quit)退出,如果没有保存不允许退出q!:(quit)强行退出,不保存退出wq:(write&quit)保存并退出x:保存并退出:e:(edit)会打开内置浏览器浏览当前目录下的文件,后面加文件名就会打开该文件:n文件名:(new)新建文件:w文件名:(write)另存为,但是仍然编辑当前文件,并不会切换文件二、打开或新建文件说明:打开一个文件,文件不存在则新建一个文件命令:vi 文件名1. 打开文件并且定位行说明:打开一个文件并且定位到指定行数,不指定行数则定位到文件末尾命令:vi 文件名+行数三、常用命令(命令模式下使用)1. 重复次数在命令模式下,先输入一个数字再跟上一个命令,可以让该命令重复执行指定次数。

2. 移动和选择2.1 移动行间移动命令:行内移动命令:行数移动命令:屏幕移动命令:段落移动命令:vi中用空行来区分段落,在程序开发过程中,通常一段功能相关的代码会放到一起(一个段落)。

括号切换命令:标记命令:2.2 选择(可视模式)可视模式下,esc可退出可视模式,还可和移动命令连用,例如ggVG能够选中所有内容。

3. 编辑操作3.1撤销和恢复撤销3.2 删除文本如果使用可视模式已经选中了一段字符,那么使用d或者x都可以删除选中字符。

删除命令可以和移动命令连用,例如3.3 复制粘贴复制粘贴是在一个文本缓冲区,没有使用系统的剪切板,所有用其他软件ctrl + c/x 复制剪切到系统的剪切板,再到vi中p粘贴是不能粘贴系统剪切板的内容的。

如果想将系统剪切板的内容粘贴到vi中,需要进入编辑模式使用ctrl + v才能将内容粘贴。

vi中的删除操作本质上就是剪切,只是没有使用p粘贴。

4. 撤销和重复4.1 缩排和重复5. 查找和替换5.1替换R命令可进入替换模式,替换完后esc退出替换模式进入命令模式替换命令的作用就是在不用进入编辑模式,对文本进行轻量级修改。

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。

Linux下vi编辑器常用命令

Linux下vi编辑器常用命令

Linux下vi编辑器常⽤命令之前做Linux实验的时候重装了⼀个新的Linux,这次想偷懒就没⽤vscode⽽是直接⽤起vi写,⼀开始还有点不习惯,多操作⼏次把常⽤命令掌握了就差不多了其实不⼀定要背下来,写下来然后要⽤的时候复习⼀下就可以了。

稍微总结⼀下⾃⼰常⽤的vi命令:1、打开命令:vi [filename] (⼀定要加⽂件名):打开[filename]⽂件2、退出命令::q :退出⽽且不保存修改的内容:q! :强制退出不保存修改的内容:wq :退出并且保存修改的内容:wq! :强制保存修改的内容然后退出(修改了只读⽂件会⽤到)ZZ :退出并且保存修改的内容,相当于:wq,看个⼈习惯3、光标移动命令上下左右⽅向键:移动光标,看别⼈字母 h (左) ,j (下), k(上),l(右)才是正统的不过顺⼿就⾏^ :光标移到⾏⾸$ :光标移到⾏尾shift+g:光标移动到⽂件最后⼀⾏gg :光标移动到⽂件第⼀⾏4、控制命令打开⼀个内容很多的⽂件的时候经常⽤到。

Ctrl+d:向下滚半屏Ctrl+u:向上滚半屏Ctrl+f :向下滚全屏Ctrl+b:向上滚全屏5、编辑命令主要是进⼊编辑状态,也就是insert状态i:光标当前位置开始编辑o:光标的下⼀⾏开始编辑shift+o:光标的上⼀⾏开始编辑6、删除命令dd:删除⼀⾏,可以带个数字,如6dd,表⽰向下删除6⾏d$:删除光标到⾏尾的内容(也可以使⽤ctrl+d)d^:删除光标到⾏⾸的内容x:删除光标位置的字符(向后删除)shift+x:删除光标位置的字符(向前删除)7、替换命令r:按esc退出insert状态再按个r,然后再输⼊⼀个字符,将会替换光标位置的字符R:跟r⼀样,只不过是可以替换多个字符:s/aa/bb/g:替换当前⾏的所有aa将会变成bb:%s/aa/bb/g:替换整个⽂件的,所有aa将会变成bb:n1,n2s/aa/bb/g:替换n1到n2⾏之间所有的aa变成bb8、查找命令/String:查找⼀个字符串(向下开始)String:查找⼀个字符串(向上开始)n:向后查找下⼀个shift+n:向前查找下⼀个9、粘贴复制命令yw:复制⼀个单词yy:复制⼀⾏,和删除dd⼀样可以带个数字,6yy复制六⾏(向下复制6⾏)p:粘贴到光标位置的下⼀⾏shift+p:粘贴到光标位置的上⼀⾏10、同时打开两个⽂件⽐如:aa.txt ss.txt打开第⼀个⽂件vi aa.txt然后输⼊下⾯的命令:sp ss.txt:此时就在同⼀个窗⼝打开另外⼀个ss.txtCtrl+w:进⾏两个⽂件上下窗⼝切换(需要再按上下⽅向键)11、其他常⽤命令:e!:重新加载⽂件,再查看⽇志⽂件的时候可以⽤,不断在变化的⽂件。

写出linuxvi编辑文档的几个常用命令

写出linuxvi编辑文档的几个常用命令

写出linuxvi编辑文档的几个常用命令Linux vi 是一款强大的文本编辑器,是Linux系统中最常用的文本编辑器之一。

在使用vi编辑器时,有一些常用命令是必须掌握的,下面将介绍几个常用的vi命令。

1. 光标移动命令在vi编辑器中,我们需要经常移动光标来定位到需要编辑的位置。

以下是一些常用的光标移动命令:- h:向左移动一个字符- j:向下移动一行- k:向上移动一行- l:向右移动一个字符- 0:移动到行首- $:移动到行尾- gg:移动到文件的第一行- G:移动到文件的最后一行2. 插入和编辑命令在vi编辑器中,我们可以使用插入和编辑命令来输入和修改文本内容。

以下是一些常用的插入和编辑命令:- i:在当前光标位置前插入文本- a:在当前光标位置后插入文本- o:在当前行的下方插入新行并进入插入模式- x:删除当前光标所在位置的字符- dd:删除当前行- yy:复制当前行- p:粘贴复制的内容3. 保存和退出命令在编辑文档时,我们需要保存修改的内容并退出vi编辑器。

以下是一些常用的保存和退出命令:- :w:保存修改的内容,但不退出vi编辑器- :q:退出vi编辑器- :wq:保存修改的内容并退出vi编辑器- :q!:放弃修改的内容并强制退出vi编辑器4. 查找和替换命令当我们在编辑长文档时,经常需要查找和替换特定的文本。

以下是一些常用的查找和替换命令:- /pattern:在文档中向下查找指定的模式- ?pattern:在文档中向上查找指定的模式- n:继续查找下一个匹配项- :s/old/new/:将当前行第一个匹配到的old替换为new- :s/old/new/g:将当前行所有匹配到的old替换为new- :%s/old/new/g:将整个文档中所有匹配到的old替换为new5. 撤销和重做命令在编辑文档过程中,我们可能会犯一些错误,需要撤销前面的操作或者重做已经撤销的操作。

以下是一些常用的撤销和重做命令:- u:撤销前一次操作- Ctrl + r:重做上一次撤销的操作这些是在使用vi编辑器时经常使用的一些常用命令。

Vi指令集

Vi指令集

Vi简介Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序。

Vi不是排版程序,只是一个纯粹的文本编辑程序。

Vi是全屏幕文本编辑器,它没有菜单,只有命令。

Vi不是基于窗口的,所以,这个多用途编辑程序可以用于在任何类型的终端上编辑各式各样的文件。

Vi的功能十分强大,但是命令繁多,熟练掌握起来有一定难度。

Vi的发明者:bill joyVi的启动$ Vi filename 或者$ Vi如果filename已经存在,Vi会打开现存文件如果是一个新文件,Vi会创建它Vi的退出在命令行模式下输入:q,:q!,:wq或者:x,可以退出Vi:w 保存:w filename 另存为filename:wq! 保存并退出:wq! filename 以filename为文件名保存后退出:q! 不保存退出:x 保存并退出,功能和:wq!相同Vi的工作模式Vi有三种工作模式,分别为:命令模式、插入模式(编辑模式)和末行模式,三种模式分别进行不同的操作,它们之间可以进行切换。

命令模式:进入Vi后,首先进入的就是命令模式,等待用户输入编辑命令,此时输入的字母将作为编辑命令来解释。

插入模式:在命令模式下输入插入命令i、附加命令a、打开命令o等命令可以进入插入模式,在插入模式下,用户输入可以对文本进行编辑,输入的任何字符都被当作文件内容保存起来。

【Esc】键可以返回命令模式。

末行模式:在命令模式下,按【:】键可以进入末行模式,Vi光标会显示在窗口的最后一行,以“:”作为末行模式的提示符,等待用户输入命令。

末行命令执行后,Vi自动回到命令模式。

Vi命令大全1、移动光标h或者向左方向键:光标向左移动一个字符l或者向右方向键:光标向右移动一个字符k或者向上方向键:光标向上移动一个字符j或者向下方向键:光标向下移动一个字符【Ctrl】+f:屏幕“向下”移动一页,相当于【PageDown】【Ctrl】+b:屏幕“向上”移动一页,相当于【PageUp】0:数字0,移动到这一行的最前面一个字符处$:移动到这一行的最后一个字符处G:移动到这个文件的最后一行gg:移动到这个文件的第一行n【Enter】:n是一个数字,光标向下移动n行2、搜索与替换/str:从光标开始,向下寻找一个名为str的字符串。

VI常用命令和快捷键

VI常用命令和快捷键

语法]:vi [-wn] [-R] 文件…[说明]: vi 是一个基于行编辑器ex 上的全屏幕编辑器,可以在vi 中使用ex,ed的全部命令,vi选项中-wn 指将编辑窗口大小置为n行,-R 为将编辑的文件置为只读模式,vi 工作模式分为命令模式和输入模式,一般情况下在命令模式下,可敲入vi命令,进入输入模式下时可以编辑要编辑的文本,命令a A i I o O c C s S R 可进入输入模式,在输入模式下按ESC 键可推出输入模式,回到命令模式,在命令模式中敲入:命令,则可进入ex方式,在屏幕底部出现提示符:,此时可使用任意ex命令,屏幕底行也用来作/ ? ! 命令的提示行,大多数命令可以在其前面加数字,表示命令执行的重复次数,下面简单介绍一下vi 的命令集:^ 表示(CTRL)键^B 退回前一页,前面加数字表示重复次数,每次换页时保留上一页的两行^D 在命令模式下,表示下滚屏幕的一半,在输入模式下,表示回退至左边的自动缩进处^E 显示屏幕底线之下的一行^F 前进一页,前面加数字表示重复次数,每次换页时保留上一页的两行^G 显示当前文件名,当前行号和文件总行数,并用百分号当前行在整个文件中的位置^H(退格) 在命令模式下,光标左移一格;在输入模式下,删去前面的字符^I(TAB) 在输入模式下,产生一串空格^J(LF) 光标下移一行^L 刷新屏幕,即将屏幕重新显示^M(回车) 在命令模式下,光标移动至下行开头;在输入模式下,开辟一新行^N 光标下移一行^P 光标上移一行^Q 在输入模式下,将其后的非打印字符作为正文插入^R 刷新屏幕^U 屏幕上滚一半,前面加数字时表示上滚的行数,此数字对以后的^D ^U 命令有效^V 在输入模式下,将其后的非打印字符作为正文插入^W 在输入模式下,使光标回退一个字^Y 显示屏幕底线之上的一行^Z 暂停编辑,退回上层Shell^[(ESC) 退出输入模式,回到命令模式! 暂时退出编辑,执行Shell命令(双引号) 用于标志有名缓冲区,编号缓冲区1-9用于保存被删去的正文,字母名缓冲区a-z供用户存放自定义的正文$ 将光标移动到当前行尾,前加数字则表示前移行数,如2$表示移动到下一行行尾% 将光标移动到配对的小括号()或大括号{}上去( 退回句子开头) 前移到句子开头- 退到上一行第一个非空格字符. 重复上一次改变缓冲区内容的命令/ 模式向前搜索模式,将光标移动到模式出现处,模式是一个正规表达式,(参看grep) :在屏幕底部提示:,其后可使用ex命令? 功能同/ ,但方向是向前查找[[ 光标回退至前一节分界处\ 转意符]] 光标前移至节分界处^(不是CTRL) 光标移至当前行第一个非空字符上‘ 连续两个'’表示将光标移至其移动前的位置,’后跟字母表示光标字母标记的行首(参看m 命令)A 在行尾插入正文,进入输入模式B 光标回退一个字C 替换光标后的内容D 删除光标后的内容E 光标前移到字尾F 字符在当前行向左查找指定字符G 光标移动到其前面数字指定的行,若未指定则移动到最后一行H 光标移动到屏幕顶行,若前面有数字,则移动到屏幕上该数字指定的行I 在行开头插入正文J 连接两行,若前面有数字则连接数字指定的行L 光标移动到屏幕底行,若前面有数字,则移动到屏幕底线往上数该数字指定的行M 光标移动到屏幕中线N 使用模式查找/或?时,重复找下一个匹配的模式,但方向与上次相反,其功能同n ,但方向相反O 在当前行上开辟一新行P 将上次被删除的正文插入光标前面,可在其前面加缓冲区编号,编号1-9用于保存被删去的正文,字母名缓冲区a-z供用户存放自定义的正文Q 从vi 推出进入ex命令状态R 替换字符串S 替换整行T 字符向左查找字符U 将当前行恢复至第一次修改前的状态W 光标移至下一个字首X 删除光标前的字符Y 将当前行存入无名缓冲区,前面加数字表示存入的行数,也可用有名缓冲区来保存,以后可用命令p或P将其取出ZZ 存盘退出via 光标后插入正文b 光标回退至上一个字首cw 替换当前字c) 替换当前句子dw 删除一个字dd 删除一行e 光标移到下一个字末f 字符在当前行向前查找字符h 光标左移一格i 在光标前插入正文j 光标下移一行k 光标上移一行l 光标右移一格m 字母用字母标记当前行,以后可用‘字母使光标移动到当前行,(参看’命令) n 重复上次/ 或? 命令o 在当前行下开辟一新行p 将用户缓冲区内容放到光标位置(参看P命令)r 替换当前字符s 用一串字符替换当前字符t 字符光标移动至字符前u 取消上次操作w 光标移至下一字首x 删除当前字符yw 将当前字存入无名缓冲区,前面可加x,表示存入名字为x的有名缓冲区(x为a-z),也可加数字表示存入的字数,以后可用P或p 命令取出yy 将当前行存入无名缓冲区,用法参看yw{ 光标移动至前一段开头| 光标移至行首,若前面加数字,则移到数字指定行的行首} 光标移至下一段开头在:提示符下,常用命令如下::w 当前文件存盘:w! 强制存盘:w 文件将内容写入指定文件:w! 文件强制写入指定文件:x,y w 文件将x至y 行写入指定文件中:r 文件将文件读到光标位置:r ! 命令将系统命令的输出读到光标位置:q 退出编辑:q! 强制退出:x 与命令ZZ相同:e 文件名编辑另一文件:e ! 重新编辑文件,放弃任何改变:sh 执行sh,结束后回到编辑:! 命令执行命令后回到编辑:n 编辑下一文件:n 文件表重新定义待编辑文件表:set 设置vi 的选项,例如set nu 表示每行前显示行号,在选项前加no则表示清除该选项,例如set nonu 表示每行前不显示行号,下面是一些常用的选项:ai 自动缩进aw 编辑下一文件前自动存盘ic 查找字符串时不区分大小写nu 每行前显示行号sm 输入)及}时显示与之配对的( 或{slow 插入时延迟屏幕刷新ws 使查找能绕过文件尾从头进行wa 写文件之前不作对文件的检查:s/old/new用new替换行中首次出现的old:s/old/new/g 用new替换行中所有出现的old:#,# s/old/new/g用new替换从第#行到第#行中出现的old:% s/old/new/g用new替换整篇中出现的old如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c 或s/old/new/gcu 取消操作i插入命令a附加命令o打开命令c修改命令r取代命令s替换命令Esc退出命令G文件尾行1G文件首行#G 文件的#行:set nu :set nonu 显示行号不显示行号Vi 是一个历史悠久且功能强大的UNIX 文书编辑器。

vim常用快捷键和命令

vim常用快捷键和命令

vim常⽤快捷键和命令vim编辑器上古神器,不记两个快捷键和命令,都不好意思出来写bug~常⽤操作常⽤快捷键i或a //进⼊可编辑的状态p //粘贴u //撤销ctrl + r //反撤销yy //复制光标所在的整⾏dd //删除当前⾏dG //删除所有⾏ (注意是同时按住d_shift_g)shift+d //删除当前⾏光标后的内容gg //光标到第⼀⾏GG //光标到最后⼀⾏00 //快速到⾏⾸shift+6 //快速到⾏⾸shift+4 //快速到⾏尾ctrl-f //下⼀页(forward)ctrl-b //上⼀页(backward):⾏号 //定位到指定⾏:命令窗输⼊⾏号/关键字 // 模糊查询:命令窗输⼊斜杠后接关键字即可(n查看下⼀个匹配,N查看上⼀个):set number //显⽰⾏号:set nonumber //隐藏⾏号查询操作主要是操作光标,快速定位到你需要的位置gg //光标到第⼀⾏GG //光标到最后⼀⾏00 //快速到⾏⾸shift+6 //快速到⾏⾸shift+4 //快速到⾏尾:⾏号 //定位到指定⾏:命令窗输⼊⾏号/关键字 //模糊查询:命令窗输⼊斜杠后接关键字即可(按下⼩写n查看下⼀个匹配):set number //显⽰⾏号:set nonumber //隐藏⾏号ctrl-f //下⼀页(forward)ctrl-b //上⼀页(backward)ctrl-e //下⼀⾏ctrl-y //上⼀⾏ctrl+d //下翻半页ctrl+u //上翻半页zz //让光标所杂的⾏居屏幕中央zt //让光标所杂的⾏居屏幕最上⼀⾏ t=topzb //让光标所杂的⾏居屏幕最下⼀⾏ b=bottom拷贝和粘贴yy //拷贝当前⾏nyy //拷贝当前后开始的n⾏,⽐如2yy拷贝当前⾏及其下⼀⾏。

p //在当前光标后粘贴,如果之前使⽤了yy命令来复制⼀⾏,那么就在当前⾏的下⼀⾏粘贴。

vim基本用法

vim基本用法

vim基本用法Vim基本用法Vim是一款强大的文本编辑器,它可以在Linux、Unix、Mac OS X等多种操作系统中使用。

它的灵活性和高效性使得它成为程序员和系统管理员的首选工具。

在本文中,我们将介绍Vim的基本用法。

一、命令模式当你打开Vim时,你将进入命令模式。

在这个模式下,你可以使用各种命令来编辑文本。

以下是一些常用的命令:1.移动光标h:向左移动一个字符j:向下移动一行k:向上移动一行l:向右移动一个字符2.删除文本x:删除光标所在位置的字符dd:删除整行文本3.复制和粘贴文本yy:复制整行文本p:粘贴复制的文本4.撤销和恢复u:撤销上一步操作Ctrl + r:恢复上一步操作二、插入模式在命令模式下,你可以使用i、a、o等命令进入插入模式,以便输入文本。

以下是一些常用的命令:1.插入文本i:在光标所在位置插入文本a:在光标所在位置的下一个字符插入文本o:在光标所在位置的下一行插入文本2.退出插入模式Esc:退出插入模式三、可视模式在命令模式下,你可以使用v、V、Ctrl + v等命令进入可视模式,以便选择文本。

以下是一些常用的命令:1.选择文本v:选择字符V:选择整行Ctrl + v:选择矩形区域2.复制和删除文本y:复制所选文本d:删除所选文本四、末行模式在命令模式下,你可以使用:命令进入末行模式,以便执行一些高级操作。

以下是一些常用的命令:1.保存文件:w:保存当前文件2.退出Vim:q:退出Vim:q!:强制退出Vim3.保存并退出Vim:wq:保存当前文件并退出Vim以上是Vim的基本用法,你可以通过阅读Vim的帮助文档来了解更多高级用法。

使用Vim需要一定的学习成本,但一旦掌握了它,你将获得无与伦比的编辑体验。

vi常用指令

vi常用指令

剪切到最后一行
字符 状态直到按【ESC】才
用 动一个字符 动一个字符 移动一行 移动一行 的最后一个字母 的第一个非空白字符 动N行 动N行 第N行 到第N行
达式 正则表达式 匹配的串进行,否则
用 档并退出 :wq“相同 :wq“相同
ห้องสมุดไป่ตู้
特征 查找
替换
作用 向下查找要查找的字符 向上查找要查找的字符 rang:要替换的范围 s:转入替换模式 string1:这是要查找一个正则表达式 :rang string2:这是希望把匹配串变成的模式的正则表达式 s/string1/string2/gc g:可选标志,带着个标志表示替换将针对行中每个匹配的串进行,否则 只替换行中的一个匹配串 c:可选标志,表示替换前询问
修改
R nyb nyw y$ nyy p u
复制
指令 0 $ ctrl+d ctrl+f H gg M L b w
vi中光标移动的指令 作用 作用 指令 移动到光标所在行的最前面 光标向前移动一个字符 h 移动到光标所在行的最后面 光标向后移动一个字符 l 光标向下移动半页 光标上向移动一行 k 光标向下移动一页 光标向下移动一行 j 光标移动到当前屏幕的第一行第一列 移动到下一个字的最后一个字母 e 光标移动到当前屏幕的第一行第一列 移动到光标所在行的第一个非空白字符 ^ 光标移动到当前屏幕的中间行第一列 向上移动N行 n光标移动到当前屏幕的最后行第一列 向下移动N行 n+ 移动到上一个字的第一个字母 移动到第N行 nG 移动到下一个字的第一个字母 光标移动到第N行 :n 表1-4 vi的查找与替换指令
特征
剪切
指令 nx ncb ncw c$ ndd s S r待修改字符

vi使用方法

vi使用方法

vi使用方法vi是一种常用的文本编辑器,特别适用于在终端环境下进行文本操作。

下面介绍一些vi的基本使用方法。

1. 打开文件:使用命令`vi 文件名`打开一个文件。

如果文件存在,则会直接打开;如果文件不存在,则会创建一个新文件。

2. 退出vi:按下`Esc`键,然后输入`:q`即可退出vi编辑器。

如果未保存文件,则需要输入`:q!`来强制退出。

3. 保存文件:在vi中编辑完成后,按下`Esc`键,然后输入`:w`,文件将被保存。

如果要保存为其他文件名,可以输入`:w 文件名`。

4. 插入和编辑文本:进入vi后,默认是命令模式(Command Mode),需要切换到插入模式(Insert Mode)才能编辑文本。

-在命令模式下,按下`i`键可进入插入模式,在光标所在位置开始插入文本。

-按下`a`键可在光标后插入文本。

-按下`o`键可在当前行的下方插入一行,并进入插入模式。

-按下`O`键可在当前行的上方插入一行,并进入插入模式。

5. 移动光标:-在命令模式下,可以使用`h`、`j`、`k`、`l`分别控制光标向左、下、上、右进行移动。

-使用`Ctrl+f`和`Ctrl+b`可以向前和向后翻页。

-使用`gg`命令可以跳转到文件的起始位置,使用`G`命令跳转到文件的末尾。

6. 删除和复制文本:-在命令模式下,可以使用`x`命令删除光标所在位置的字符。

-使用`dd`命令可以删除当前行。

-使用`yy`命令可以复制当前行。

7. 查找和替换:-在命令模式下,按下`/`键可以进行文本查找。

输入要查找的内容并按下回车后,vi会定位到第一个匹配的位置。

-按下`n`可以继续向下查找下一个匹配。

-使用`:%s/原字符串/新字符串/g`可以替换文本中的所有匹配项。

这些是vi的一些基本用法,通过熟练掌握这些操作,可以高效地进行文本编辑。

viubuntu中vi用法

viubuntu中vi用法

在Ubuntu中,vi是一个常用的文本编辑器,它有许多命令和功能。

以下是一些基本的vi命令:1. 打开文件:在终端中输入“vi 文件名”并按回车键,可以打开指定的文件。

2. 进入插入模式:在命令模式下,按“i”键可以进入插入模式,此时可以输入文本。

3. 退出插入模式:在插入模式下,按“Esc”键可以退出插入模式,返回到命令模式。

4. 移动光标:在命令模式下,可以使用以下命令移动光标:* h:向左移动光标* j:向下移动光标* k:向上移动光标* l:向右移动光标5. 删除文本:在命令模式下,可以使用以下命令删除文本:* x:删除当前字符* dd:删除当前行* dk:删除光标上方的字符* dl:删除光标下方的字符6. 复制和粘贴文本:在命令模式下,可以使用以下命令复制和粘贴文本:* yy:复制当前行* yk:复制光标上方的字符* yl:复制光标下方的字符* p:粘贴文本到当前光标位置7. 查找和替换文本:在命令模式下,可以使用以下命令查找和替换文本:* /:查找指定字符串* n:向下继续查找* N:向上继续查找* :s/原字符串/新字符串/g:在指定范围内将原字符串替换为新字符串8. 保存和退出vi:在命令模式下,可以使用以下命令保存和退出vi:* :w:保存文件但不退出vi* :wq:保存文件并退出vi* :q:退出vi(如果文件未保存,则无效)* :q!:强制退出vi并保存修改过的部分9. 设置编辑环境:在底行模式(last line mode)中,可以使用以下命令设置编辑环境:* :set number/nonumber:设置显示行号或不显示行号10. 其他常用命令:在命令模式下,还有一些其他常用命令,如复制剪切命令、光标命令等。

具体使用方法可以参考vi的帮助文档或在线教程。

linux vi 编辑器的三种模式和常用命令

linux vi 编辑器的三种模式和常用命令

linux vi文本处理器(模式转换,常用命令)vi分三种模式:一般模式,编辑模式,命令行模式。

1. 一般模式,一般在进入文件时就是该模式,在此模式中,可以通过上下左右键移动光标,可以删除字符或是删除整行,可以复制粘贴,但不能编辑。

2. 编辑模式:一般模式可以复制粘贴删除,但要编辑,需按下i,I,o,O,a,A,r,R等字母,才会进入编辑模式,按下按钮后,屏幕左下方会出现INSERT或REPACE等字样,如果要回到一般模式,按Esc键。

3. 命令行模式,在一般模式下输入“:”或“/”就可以将光标移到末行,在此模式中,可以搜寻数据,读取,存盘,大量字符替换,退出vi,显示行号等。

常用指令简介一般模式1. 光标:h 方向左键j 方向下键k 方向上键l 方向下键ctrl+f 向前翻动一页ctrl+b 前后翻动一页0 移动到此行的一个字符处$ 移动到此行的最后一个字符n《enter》光标下移n行2. 查找替换/word 在光标之后查找一个word的字符串?word 在光标之前查找一个word的字符串:n1,n2s/word1/word2/g 在第n1行和n2行之间查找word1,并将word1替换为word2 :1,$s/word1/word2/g 从第一行到最后一行查找word1并替换为word2:1,$s/word1/word2/gc 从第一行到最后一行查找word1并替换为word2,在替换前显示提示符,让用户确认3. 删除复制粘贴x,X x向后删除一个字符X向前删除一个字符nx 向后删除n个字符dd 删除光标所在的整列ndd 删除光标所在列的向下n列yy 复制光标所在行nyy 复制光标所在行的向下n行p ,P p复制的数据粘贴在光标下一行,P上一行u 恢复上一个动作编辑模式i ,I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退a,A 添加:由当前光标所在处的下一个字符开始输入,已存在的字符向后退o ,O 插入新的一行,从光标所在处的下一行行首开始输入r,R 替换:r会替换光标所指的那一个字符,R会一直替换光标所指的文字,知道案下escesc 返回一般模式命令行模式:w 保存:w!若文件为只读,强制写入:q 推出vi:wq 保存推出:w [filename]保存为另一文件。

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)。

首先,记住vi编辑器的两个模式:1、命令模式2、编辑模式。

在一个UNIX/Linux的shell命令或者一个以斜杠(/)、问号(?)或冒号(:)开始的vi 命令后面用户需要键入回车键,而要切换到vi命令模式需要按Esc键。

注意,以冒号(:)或者斜杠(/)开始的vi命令会显示在屏幕底部,但其他命令都不会显示在屏幕上。

打开、写入和关闭文件(使用Enter键)
vi file打开文件名为file的文件(UNIX shell命令)
:w将工作缓冲区的变化写入默认文件中
:w file将工作缓冲区的变化写入名为file的文件中
:q退出vi编辑器
:wq将工作缓冲区的变化写入文件并退出
:q!不将工作缓冲区的变化写入文件并退出vi编辑器
插入文本(vi命令模式下使用)
a在当前光标位置的右边添加文本
i在当前光标的左边插入文本
A在当前行的末尾添加文本
I在当前行的开始出添加文本
O在当前行的上面新建一行
o在当前行的下面新建一行
R替换(覆盖)当前光标位置以及以后的若干文本
J连接光标所在行以及下一行,成为一行
移动光标
上下左右方向键向箭头所示方向移动光标一个位置
h向左
j向下
k向上
l向右
空格键向右
Backspace向左
Enter向下移动到下一行的行首
-(连字符键)向上移动到上一行的行首
纠正错误(vi命令模式下使用)
x删除一个字符
dd删除当前行
n dd 上除当前行在内的n行
u撤销上一次操作(最后一步)
U撤销对当前行的所有操作
拼写检查(UNIX shell命令)
spell file显示问及那file中找到的拼写错误ispell file显示问及那file中找到的拼写错误
搜索(vi命令模式下使用)
/word向前搜索第一个出现的word
/继续向前搜索下一个word
?word向后搜索第一个出现的word
?继续向后搜索下一个word
跳跃到指定行(vi命令模式使用)
n+向前(向下)跳跃n行
n-向后(向上)跳跃n行
n G跳跃到行号为n的行,G为Go
G跳跃到文件的底部
设置行号(vi命令模式下使用)
:set nu在屏幕上显示行号
:set nonu取消行号
复制和粘贴(vi命令模式下使用)
"knyy复制n行到缓冲区"k
"kp将缓冲区"k的内容粘贴到当前行的下面
全局替换文本(vi命令模式下使用)
:%s/old/new/g用new替换文件中的所有old。

s为substitution,替换的意思。

g为global。

编辑另一个文件(vi命令模式下使用)
:e otherfile编辑文件名为otherfile的文件
为命令行编辑制定一个编辑器(UNIX shell命令)
bindkey -v指定vi编辑器(用于tcsh)
VISUAL=vi指定vi编辑器(用于ksh)
set -o vi指定vi编辑器(用于bash)
缓冲区:
前面讲过,vi编辑器设计上是对工作缓冲区的文件副本进行编辑。

在使用vi编辑器的时候,用户还可以访问其他缓冲区。

总共有36个缓冲区。

◆未命名缓冲区
◆已命名缓冲区"a、"b、"c、……、"z
◆已编号缓冲区 "1、"2、"3、……、"9
未命名缓冲区有时也叫做一般缓冲区。

在修改文本时,旧文本并没有被立刻删除。

vi将旧文本放在未命名缓冲区直到用户删除修改更多的文本。

这样就可以实现撤销,具体命令为u。

因为vi只有一个未命名缓冲区,所以只能撤销一次。

命令模式和编辑模式的切换:
如果不清楚当前所在的模式,可以连续按2次Esc键盘,主机会发出警报声,这样就肯定进入了命令模式。

在命令模式下面,输入a A i I O o R都会进入编辑模式。

所输入的这单个字符不会显示,也不会插入到文件中。

相关文档
最新文档