VI常用命令及快捷键

合集下载

Linux下的vi编辑器的简单使用操作方法

Linux下的vi编辑器的简单使用操作方法

Linux下的vi编辑器的简单使⽤操作⽅法vi编辑器的使⽤:vi编辑器有三种基本⼯作模式,分别是命令⾏模式、⽂本输⼊模式、末⾏模式。

1.命令⾏模式该模式是进⼊vi编辑器后的默认模式,任何时候,不管⽤户处于何种模式,按下esc键即可进⼊命令⾏模式。

在命令⾏模式下,可以输⼊vi命令来管理⾃⼰的⽂档。

此时在键盘上输⼊任何字符都被当作编辑命令,⽽不是输⼊字符。

输⼊的字符并不会在屏幕上显⽰,若是合法的vi命令,则会完成相应的动作,否则会响铃报警。

2.⽂本输⼊模式命令⾏模式下输⼊以下⼏个命令则会进⼊⽂本输⼊模式。

i: 插⼊命令,会将⽂本插⼊到光标所在位置之前I: 插⼊命令,会将⽂本插⼊到光标所在⾏的⾏⾸a: 追加⽂本命令,会将⽂本追加到光标当前位置之后A: 追加⽂本命令,会将⽂本追加到光标所在⾏的末尾o: 空⾏插⼊命令,将在光标所在⾏的下⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸O: 空⾏插⼊命令,将在光标所在⾏的上⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸c: 修改命令r: 取代命令s: 替换命令在该模式下,⽤户输⼊的任何字符都被当做⽂件内容保存起来,并显⽰在屏幕上。

3.末⾏模式命令⾏模式下,⽤户按下:键即可进⼊末⾏模式,此时vi会在显⽰窗⼝的最后⼀⾏显⽰⼀个:作为末⾏模式的说明符,等待⽤户输⼊命令。

多数⽂件管理命令都是在此模式下执⾏的。

末⾏命令执⾏完后,vi会⾃动回到命令⾏模式4.vi⽂本的删除命令:vi编辑器可以在编辑模式和命令⾏模式下删除⽂本。

命令⾏模式下,vi常⽤删除命令x 删除光标处的字符。

若在x之前加上⼀个数字n,则删除从光标所在位置开始向右的n个字符。

X 删除光标前⾯的字符。

若在X之前加上⼀个数字n,则删除从光标前⾯那个字符开始向左的n个字符。

dd 删除光标所在的整⾏。

前⾯加上数字n,则删除当前⾏以及其后的n-1⾏。

D 或 d$ 删除从光标所在处开始到⾏尾的内容。

d( 删除到上⼀句开始的所有字符d) 删除到下⼀句开始的所有字符d{ 删除到上⼀段开始的所有字符d} 删除到下⼀段开始的所有字符d0 删除从光标前⼀个字符开始到⾏⾸的内容dw 删除⼀个单词。

vim编辑器常用命令

vim编辑器常用命令

vim编辑器常⽤命令vi有3个模式:插⼊模式、命令模式、低⾏模式。

插⼊模式:在此模式下可以输⼊字符,按ESC将回到命令模式。

命令模式:可以移动光标、删除字符等。

低⾏模式:可以保存⽂件、退出vi、设置vi、查找等功能(低⾏模式也可以看作是命令模式⾥的)。

⼀、打开⽂件、保存、关闭⽂件(vi命令模式下使⽤)vi filename //打开filename⽂件:w //保存⽂件:w //保存⾄⽂件:q //退出编辑器,如果⽂件已修改请使⽤下⾯的命令:q! //退出编辑器,且不保存:wq //退出编辑器,且保存⽂件⼆、插⼊⽂本或⾏(vi命令模式下使⽤,执⾏下⾯命令后将进⼊插⼊模式,按ESC键可退出插⼊模式)a //在当前光标位置的右边添加⽂本i //在当前光标位置的左边添加⽂本A //在当前⾏的末尾位置添加⽂本I //在当前⾏的开始处添加⽂本(⾮空字符的⾏⾸)O //在当前⾏的上⾯新建⼀⾏o //在当前⾏的下⾯新建⼀⾏R //替换(覆盖)当前光标位置及后⾯的若⼲⽂本J //合并光标所在⾏及下⼀⾏为⼀⾏(依然在命令模式)三、移动光标(vi命令模式下使⽤)1、使⽤上下左右⽅向键2、命令模式下:h 向左、j 向下、k 向上、l 向右。

空格键向右、Backspace 向左、Enter 移动到下⼀⾏⾸、- 移动到上⼀⾏⾸。

四、删除、恢复字符或⾏(vi命令模式下使⽤)x //删除当前字符nx //删除从光标开始的n个字符dd //删除当前⾏ndd //向下删除当前⾏在内的n⾏u //撤销上⼀步操作U //撤销对当前⾏的所有操作五、搜索(vi命令模式下使⽤)/vpser //向光标下搜索vpser字符串vpser //向光标上搜索vpser字符串n //向下搜索前⼀个搜素动作N //向上搜索前⼀个搜索动作六、跳⾄指定⾏(vi命令模式下使⽤)n+ //向下跳n⾏n- //向上跳n⾏nG //跳到⾏号为n的⾏G //跳⾄⽂件的底部七、设置⾏号(vi命令模式下使⽤):set nu //显⽰⾏号:set nonu //取消显⽰⾏号⼋、复制、粘贴(vi命令模式下使⽤)yy //将当前⾏复制到缓存区,也可以⽤ "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

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中的快捷键
?text 在文件中向后查找text
n 在同一方向重复查找
N 在相反方向重复查找
ftext 在当前行向前查找text
Ftext 在当前行向后查找text
ttext 在当前行向前查找text,并将光标定位在text的第一个字符
Ttext 在当前行向后查找text,并将光标定位在text的第一个字符
:.= 打印当前行的行号
:= 打印文件中的行数
^g 显示文件名、当前的行号、文件的总行数和文件位置的百分比
:l 使用字母"l"来显示许多的特殊字符,如制表符和换行符
在文本中定位段落和放置标记
选项 作用
{ 在第一列插入{来定义一个段落
[[ 回到段落的开头处
]] 向前移到下一个段落的开头处
保存文本和退出vi
命令 保存和/或退出操作
:w 保存文件但不退出vi
:w file 将修改保存在file中但不退出vi
:wq或ZZ或:x 保存文件并退出vi
:q! 不保存文件,退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
vi中的选项
选项 作用
:set all 打印所有选项
:set nooption 关闭option选项
vi中的宏与缩写
(避免使用控制键和符号,不要使用字符K、V、g、q、v、*、=和功能键)
选项 作用
:map key command_seq 定义一个键来运行command_seq,如:map e ea,无论什么时候都可以e移到一个字的末尾来追加文本
:map 在状态行显示所有已定义的宏
:umap key 删除该键的宏
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。

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编辑器常用的命令及快捷键
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编辑器的使用(linux)

Vi编辑器的使用(linux)

《操作系统(linux)》实验指导书实验一Vi编辑器的使用一、实验目的●理解Vi的三种运行模式及切换方法;●学会使用Vi的各种操作命令进行文本文件的编辑;●用Vi编写Linux下C程序,会用gcc编译。

二、实验工具一台装有Linux的机器(这里默认是Red Hat Linux 9),系统里面有gcc编译器。

三、预备知识介绍一些常见的实验命令,相关说明可以参考本实验参考资料部分。

1、进入插入模式命令i从光标所在位置前开始插入文本;命令a 在光标当前所在位置之后追加新文本;命令o将在光标所在行的下面新开一行,并将光标置于该行行首,等待输入文本;2、编辑模式下操作命令h、j、k、l 进行光标左移、下移、上移和右移一个字符的定位;命令x 删除光标处字符;命令yy 将当前行的内容复制到缓冲区中;命令p 将缓冲区中的内容写到光标所在的位置;命令zz 存盘退出;3、命令模式下操作命令:n直接跳到n所指向的行(n指行号);命令:q退出vi;四、基本实验首先用合法用户名登陆系统。

1.不保存直接退出(1)在系统提示符下,输入vi,按回车键。

(2)我们会看到vi的界面。

(3)输入:q!不保存直接退出。

2.新建文件hello.c并编辑一段文字进行保存(4)在系统提示符下输入vi hello.c,按回车键。

(5)看到vi的界面,输入i,左下角会出现“插入”。

(6)输入一段文字。

(7)按Esc键,进入命令模式。

这时“插入”就不见了。

(8)输入:wq,按回车键,保存文件。

3.对文件hello.c进行增、删、改操作(9)在系统提示符下输入vi hello.c,按回车键。

(10)看到vi的界面。

输入i,进入插入模式。

(11)输入增加的文字:“vi is very easy to user~!”。

(12)用方向键将光标移到图文字行的任意处。

(13)按Esc键,进入命令模式。

(14)输入命令dd,删除光标所在一行(若连续输入d,d是将光标所在的行及以下所有行删除)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
H
移动到当前屏幕的首部
:set ai
打开自动缩进
nH
移动到当前屏幕首部下的n行
:setsw=n
将移动宽度设置为n个字符
M
移动到当前屏幕的中部
:set nu
每行前打印行号
L
移动到当前屏幕的尾部
:set list
显示制表符(^I)和行尾符号
nL
移动到当前屏幕尾部上的n行
0
移到当前行的首部
$
移到当前行的尾部
ESC
回到命令模式
"xp
粘贴x缓存区到光标后
:w
保存文件但不退出
"xP
粘贴x缓存区到光标前
:w file
保存修改到file,但不退出
u
撤消最后一次修改
:wq/:x
保存文件并退出
U
撤消当前行的所有修改
:q!
不保存文件退出
.
重复最后一次修改
:e!
放弃所有修改,回滚到最后保存
,
以相反的方向重复前面f/F/t/T查找命令
nG
移动到n行
:n
移动到n行
G
移动在最后一行
在m行通过n,用nt文本替换ot文本
dd
删除整行
&
重复最后的:s命令
ndd
从当前行开始往后删除
:g/t1/s/t2/t3
查找包含t1的行,用t3替换t2
db
删除光标前面的字
:g/text/cm
在所有包含text的行运行命令cm
ndb
从当前行开始往前删除n字
w
光标向前移动一个单词
:n,md
从第m行开始往前删除n行
b
光标向后移动一个单词
d或d$
从光标处删除到行尾
e
向前移动一个单词,游标定位单词末尾
yy
拷贝当前行
(
移到当前句子的首部
nyy
拷贝n行
)
移到下一个句子的首部
p
粘贴文本到光标后
Ctrl-F
移动到下一屏
P
粘贴文本到光标前
Ctrl-B
移动到上一屏
"xnyy
拷贝n行到x缓存区,x取a~z
Ctrl-D
向下移动半屏
"xndd
剪切n行到x缓存区,x取a~z
Ctrl-U
向上移动半屏
ye
拷贝当单词的末尾
^
移到当前行第一个非空白字符的地方
VI常用命令及快捷键
:set ts=8
为文本输入设置tabstops
+
移动到下一行的第一个字符
:set ic
查找时忽略大小写
-
移动到上一行的第一个字符
:set noic
查找时对大小写敏感
删除光标处1个或n个字符
Ftext
在当前行向后查找text
X/nX
删除光标前1个或n个字符
ttext
在当前行向前查找text,并定位光标
dw
删至下一个字的开头
Ttext
在当前行向后查找text,并定位光标
ndw
从当前光标处往后删除n个字
:s/ot/nt
用nt文本替换ot文本
dG
删除行,直到文件结束
:m,ns/ot/nt
a
在光标后插入文本
;
重复前面的f、F、t或T查找命令
A
在当前行后插入文本
/text
在文件中向前查找text
i
在光标前插入文本
?text
在文件中向后查找text
I
在当前行前插入文本
n
在同一方向重复查找
oቤተ መጻሕፍቲ ባይዱ
在当前行下边插入文本
N
在相反方向重复查找
O
在当前行上边插入文本
ftext
在当前行向前查找text
x/nx
相关文档
最新文档