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 删除⼀个单词。
Linux系统中vi命令的详细解释
Linux系统中vi命令的详细解释在Linux系统中,vi编辑器是个功能强大的富文本编辑器,那么下面由店铺为大家整理了linux系统中vi命令的详细解释的相关知识,希望对大家有帮助!Linux系统中vi命令的详细解释vi命令vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。
默认情况下,打开vi编辑器后自动进入命令模式。
从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。
常用内置命令如下:Ctrl+u:向文件首翻半屏;Ctrl+d:向文件尾翻半屏;Ctrl+f:向文件尾翻一屏;Ctrl+b:向文件首翻一屏;Esc:从编辑模式切换到命令模式;ZZ:命令模式下保存当前文件所做的修改后退出vi;:行号:光标跳转到指定行的行首;:$:光标跳转到最后一行的行首;x或X:删除一个字符,x删除光标后的,而X删除光标前的;D:删除从当前光标到光标所在行尾的全部字符;dd:删除光标行正行内容;ndd:删除当前行及其后n-1行;nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。
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常⽤快捷键x 删除光标处的字符dd 删除整⾏i 在光标前插⼊⽂本a 在光标后插⼊⽂本o 当前⾏下插⼊新⾏u 撤销最后⼀次修改:e! 放弃所有修改,从上次保存开始处再编辑:wq 保存退出:q! 不保存退出/pattern:从光标开始处向⽂件尾搜索patternpattern:从光标开始处向⽂件⾸搜索patternvi常⽤快捷键光标控制命令命令光标移动h或^h 向左移⼀个字符j或^j或^n 向下移⼀⾏k或^p 向上移⼀⾏l或空格向右移⼀个字符G 移到⽂件的最后⼀⾏nG 移到⽂件的第n⾏w 移到下⼀个字的开头W 移到下⼀个字的开头,忽略标点符号b 移到前⼀个字的开头B 移到前⼀个字的开头,忽略标点符号L 移到屏幕的最后⼀⾏M 移到屏幕的中间⼀⾏H 移到屏幕的第⼀⾏e 移到下⼀个字的结尾E 移到下⼀个字的结尾,忽略标点符号( 移到句⼦的开头) 移到句⼦的结尾{ 移到段落的开头} 移到下⼀个段落的开头0或| 移到当前⾏的第⼀列n| 移到当前⾏的第n列^ 移到当前⾏的第⼀个⾮空字符$ 移到当前⾏的最后⼀个字符+或return 移到下⼀⾏的第⼀个字符- 移到前⼀⾏的第⼀个⾮空字符在vi中添加⽂本命令插⼊动作a 在光标后插⼊⽂本A 在当前⾏插⼊⽂本i 在光标前插⼊⽂本I 在当前⾏前插⼊⽂本o 在当前⾏的下边插⼊新⾏O 在当前⾏的上边插⼊新⾏:r file 读⼊⽂件file内容,并插在当前⾏后:nr file 读⼊⽂件file内容,并插在第n⾏后escape 回到命令模式^v char 插⼊时忽略char的指定意义,这是为了插⼊特殊字符在vi中删除⽂本命令删除操作x 删除光标处的字符,可以在x前加上需要删除的字符数⽬nx 从当前光标处往后删除n个字符X 删除光标前的字符,可以在X前加上需要删除的字符数⽬nX 从当前光标处往前删除n个字符dw 删⾄下⼀个字的开头ndw 从当前光标处往后删除n个字dG 删除⾏,直到⽂件结束dd 删除整⾏ndd 从当前⾏开始往后删除db 删除光标前⾯的字ndb 从当前⾏开始往前删除n字:n,md 从第m⾏开始往前删除n⾏d或d$ 从光标处删除到⾏尾dcursor_command 删除⾄光标命令处,如dG将从当产胆⾏删除⾄⽂件的末尾^h或backspace 插⼊时,删除前⾯的字符^w 插⼊时,删除前⾯的字修改vi⽂本每个命令前⾯的数字表⽰该命令重复的次数命令替换操作rchar ⽤char替换当前字符R text escape ⽤text替换当前字符直到换下Esc键stext escape ⽤text代替当前字符S或cctext escape ⽤text代替整⾏cwtext escape 将当前字改为textCtext escape 将当前⾏余下的改为textcG escape 修改⾄⽂件的末尾ccursor_cmd text escape 从当前位置处到光标命令位置处都改为text在vi中查找与替换命令查找与替换操作/text 在⽂件中向前查找texttext 在⽂件中向后查找textn 在同⼀⽅向重复查找N 在相反⽅向重复查找ftext 在当前⾏向前查找textFtext 在当前⾏向后查找textttext 在当前⾏向前查找text,并将光标定位在text的第⼀个字符Ttext 在当前⾏向后查找text,并将光标定位在text的第⼀个字符:set ic 查找时忽略⼤⼩写:set noic 查找时对⼤⼩写敏感:s/oldtext/newtext ⽤newtext替换oldtext:m,ns/oldtext/newtext 在m⾏通过n,⽤newtext替换oldtext& 重复最后的:s命令:g/text1/s/text2/text3 查找包含text1的⾏,⽤text3替换text2:g/text/command 在所有包含text的⾏运⾏command所表⽰的命令:v/text/command 在所有不包含text的⾏运⾏command所表⽰的命令在vi中复制⽂本命令复制操作yy 将当前⾏的内容放⼊临时缓冲区nyy 将n⾏的内容放⼊临时缓冲区p 将临时缓冲区中的⽂本放⼊光标后P 将临时缓冲区中的⽂本放⼊光标前"(a-z)nyy 复制n⾏放⼊名字为圆括号内的可命名缓冲区,省略n表⽰当前⾏"(a-z)ndd 删除n⾏放⼊名字为圆括号内的可命名缓冲区,省略n表⽰当前⾏"(a-z)p 将名字为圆括号的可命名缓冲区的内容放⼊当前⾏后"(a-z)P 将名字为圆括号的可命名缓冲区的内容放⼊当前⾏前在vi中撤消与重复命令撤消操作u 撤消最后⼀次修改U 撤消当前⾏的所有修改. 重复最后⼀次修改, 以相反的⽅向重复前⾯的f、F、t或T查找命令; 重复前⾯的f、F、t或T查找命令"np 取回最后第n次的删除(缓冲区中存有⼀定次数的删除内容,⼀般为9)n 重复前⾯的/或?查找命令N 以相反⽅向重复前⾯的/或?命令保存⽂本和退出vi命令保存和/或退出操作:w 保存⽂件但不退出vi:w file 将修改保存在file中但不退出vi:wq或ZZ或:x 保存⽂件并退出vi:q! 不保存⽂件,退出vi:e! 放弃所有修改,从上次保存⽂件开始再编辑vi中的选项选项作⽤:set all 打印所有选项:set nooption 关闭option选项:set nu 每⾏前打印⾏号:set showmode 显⽰是输⼊模式还是替换模式:set noic 查找时忽略⼤⼩写:set list 显⽰制表符(^I)和⾏尾符号:set ts=8 为⽂本输⼊设置tab stops:set window=n 设置⽂本窗⼝显⽰n⾏vi的状态选项作⽤:.= 打印当前⾏的⾏号:= 打印⽂件中的⾏数^g 显⽰⽂件名、当前的⾏号、⽂件的总⾏数和⽂件位置的百分⽐:l 使⽤字母"l"来显⽰许多的特殊字符,如制表符和换⾏符在⽂本中定位段落和放置标记选项作⽤{ 在第⼀列插⼊{来定义⼀个段落[[ 回到段落的开头处]] 向前移到下⼀个段落的开头处m(a-z) ⽤⼀个字母来标记当前位置,如⽤mz表⽰标记z'(a-z) 将光标移动到指定的标记,如⽤'z表⽰移动到z在vi中连接⾏选项作⽤J 将下⼀⾏连接到当前⾏的末尾nJ 连接后⾯n⾏光标放置与屏幕调整选项作⽤H 将光标移动到屏幕的顶⾏nH 将光标移动到屏幕顶⾏下的第n⾏M 将光标移动到屏幕的中间L 将光标移动到屏幕的底⾏nL 将光标移动到屏幕底⾏上的第n⾏^e(ctrl+e) 将屏幕上滚⼀⾏^y 将屏幕下滚⼀⾏^u 将屏幕上滚半页^d 将屏幕下滚半页^b 将屏幕上滚⼀页^f 将屏幕下滚⼀页^l 重绘屏幕z-return 将当前⾏置为屏幕的顶⾏nz-return 将当前⾏下的第n⾏置为屏幕的顶⾏z. 将当前⾏置为屏幕的中央nz. 将当前⾏上的第n⾏置为屏幕的中央z- 将当前⾏置为屏幕的底⾏nz- 将当前⾏上的第n⾏置为屏幕的底⾏vi中的shell转义命令选项作⽤:!command 执⾏shell的command命令,如:!ls:!! 执⾏前⼀个shell命令:r!command 读取command命令的输⼊并插⼊,如:r!ls会先执⾏ls,然后读⼊内容:w!command 将当前已编辑⽂件作为command命令的标准输⼊并执⾏command命令,如:w!grep all:cd directory 将当前⼯作⽬录更改为directory所表⽰的⽬录:sh 将启动⼀个⼦shell,使⽤^d(ctrl+d)返回vi:so file 在shell程序file中读⼊和执⾏命令vi中的宏与缩写(避免使⽤控制键和符号,不要使⽤字符K、V、g、q、v、*、=和功能键)选项作⽤:map key command_seq 定义⼀个键来运⾏command_seq,如:map e ea,⽆论什么时候都可以e移到⼀个字的末尾来追加⽂本:map 在状态⾏显⽰所有已定义的宏:umap key 删除该键的宏:ab string1 string2 定义⼀个缩写,使得当插⼊string1时,⽤string2替换string1。
Vi命令详解
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。
由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。
Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式(command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insertmode下,或者到last line mode。
2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last linemode)也算入命令行模式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编辑器常用的命令及快捷键
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 将临时缓冲区中的文本放入光标后
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的快捷键一览表
:! command
暂时离开vi到指令列模式下执行command的显示结果!例如『:! ls /home』即可在vi当中察看/home底下以ls输出的文件信息!
:set nu
显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu
与set nu相反,为取消行号!
L
光标移动到这个屏幕的最下方那一行
G
移动到这个文件的最后一行(常用)
nG
n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合:set nu)
gg
移动到这个文件的第一行,相当于1G啊!(常用)
n<Enter>
n为数字。光标向下移动n行(常用)
一般模式:查找与替换
/word
向光标之下寻找一个字符串名称为word的字符串。例如要在文件内查找vbird这个字符串,就输入/vbird即可!(常用)
:1,$s/word1/word2/g
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2!(常用)
:1,$s/word1/word2/gc
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2!且在替换前显示提示字符给使用者确认(conform)是否需要替换!(常用)
?word
向光标之上寻找一个字符串名称为word的字符串。
n
这个n是英文按键。代表『重复前一个查找的动作』的意思。举例来说,如果刚刚我们执行/vbird去向下查找vbird这个字符串,则按下n后,会向下继续查找下一个名称为vbird的字符串。如果是执行?vbird的话,那么按下n则会向上继续查找名称为vbird的字符串!
linux下vi命令大全
linux下vi命令⼤全进⼊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:从光标开始处向⽂件尾搜索patternpattern:从光标开始处向⽂件⾸搜索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 vi命令详解-屏幕文本编辑器Vi
文本输入模式
在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、 取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入 的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本 输入过程中,若想回到命令模式下,按键即可。
末行模式
末行模式也称ex转义模式。
linux vi命令和Ex编辑器的功能是相同的,二者主要区别是用户界 面。在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以 按回车键结束的正文行。linux vi命令有一个专门的“转义”命令,可访问很 多面向行的Ex命令。在命令模式下,用户按“:”键即可进入末行模式下, 此时linux vi命令会在显示窗口的最后一行(通常也是屏幕的最后一行)显 示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令
linux vi命令是Linux系统的第一个全屏幕交互式编辑程序,它从诞生 至今一直得到广大用户的青睐,历经数十年仍然是人们主要使用的文本编 辑工具,足见其生命力之强,而强大的生命力是其强大的功能带来的。
本章中,我们将循序渐进地介绍如何使用linux vi命令来建立、编辑、 显示以及处理文件。(注:文中的大写字母为[shift]键+相应的小写字 母的组合)
linux vi命令没有菜单,只有命令,且命令繁多。Vi有三种基本工作模 式:命令行模式、文本输入模式和末行模式。
command-vi
b) 切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
2). 从插入模式切换为命令行模式
按「ESC」键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往"后"移动一页。
按「ctrl」+「f」:屏幕往"前"移动一页。
$
光标移动至行尾
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
i
在光标位置前插入字符
a
在光标所在位置的后一个字符开始增加
o
插入新的一行,从行首开始输入
ESC
从输入状态退至命令状态
x
删除光标后面的字符
#x
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
B) 跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
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 文书编辑器。
Vi的编辑命令
Vi的编辑命令Unix及其相似的操作系统中,为方便各种用户在各个不同的环境中使用,提供了一系列的编辑器,包括ex,edit,ed和vi,其中ex,edit,ed都是行编辑器,现在已很少有人使用,vi是linux中的全屏幕编辑器,其地位如同dos中的edit一样,它可以执行输出、删除、查找、替换、块操作等众多文本操作,它是一个文本编辑程序.Red hat Linux9中提供的是vim,vi是vim的一个符号链接.(8)vi的进入和退出建立新文件:输入命令vi,然后输入内容,最后存盘退出,给出文件名,使用命令:“:wq 文件名”输入命令“vi 文件名”,然后编辑内容,最后存盘退出编辑文件:输入命令“vi 文件名”,此文件已存在,编辑后存盘退出退出命令:存盘退出“:wq”,不存盘退出“:q”注意:vi有两种模式:指令模式和编辑模式,进入后为指令模式,此时输入相关编辑命令,即进入编辑模式,编辑完后按Esc即回到指令模式.(8)进入输入模式、删除和修改指令模式指令:a――从光标所在位置后面开始输入新文本A――从光标所在行的行尾开始输入新的文本i――从光标所在位置前面开始插入数据I――从光标行的第一个非空格字符前面开始插入文本o――在光标所在行下新增一行并进入输入模式O――在光标所在行上方新增一行并进入输入模式删除与修改:x――删除光标处的一个字符dd――删除光标所在行r――修改光标所在字符,r后接着要修正的字符R――进入替代状态,输入的文本会覆盖原来的数据s――删除光标所在字符,并进入输入模式S――删除光标所在的行,并进入输入模式(8)光标的移动光标除可以用方向键进行光标逐字符的移动外,同方向键等同的光标移动命令为h――左移一列, l――右移一列k――上移一列, j――下移一列,如果要快速移动光标,可以在移动命令前加数字,如:3j,6k,10l,3h以单词为单位进行移动:w――将光标移动到下一个单词的开头b――将光标向后移动到一个单词的开头,与w功能相反e――将光标移到下一个单词的末尾最后一个字符处可以在这些命令前加上数字,使光标进行多个单词的移动行内光标的快速移动:$――将光标移动到当前行的行末0――将光标移动到当前行的行首n|――将光标移动到当前行的第n个字符上fm――将光标移动到文本的下一个字符m上使用行号定位::set number――使编辑器显示行号:set nonumber――使编辑器不显示行号nG――将光标移动到第n行G――将光标移动到最后一行:n回车――将光标移动到第n行:$回车――将光标移动到文件的最后一行将光标移动到当前屏幕的某些位置:L――将光标移动到屏幕的最下面一行M――将光标移动到屏幕的中间一行H――将光标移动到屏幕的最上面一行将光标返回到原来位置:‘’――两个单引号,即击单引号两次,用于在一处进行修改后要返回原来的位置让屏幕显示文件的指定位置翻屏: ctrl+d――屏幕定位到文件的下半屏文本ctrl+u――屏幕定位到文件的上半屏文本ctrl+f――屏幕定位到文件的下一屏文本ctrl+b――屏幕定位到文件的上一屏文本(8)字符的查找从文件头向文件尾查找字符串:/字符串回车从文件头向文件尾查找下一个指定字符串: n 从文件尾向文件头反向查找字符串: 字符串回车从文件尾向文件头反向查找下一个指定字符串: N(8)文本的删除命令删除字符: x――删除光标处的一个字符3x――删除从光标开始的3个字符删除行: dd——删除当前行,光标移到下一行,并成为当前行10dd――删除当前行开始的10行,光标移到下一行,并成为当前行删除单词: dw——删除光标处的一个单词,也可以使用数字来扩充该命令注意:如果将光标定位在一个单词的中间某个字符上,使用dw 命令后,vi将删除从光标开始和空格字符结束的所有字符在vi中,所有除空格以外的非字母数字字符,都将视为一个单词.如果当前行的当前光标到行末的单词数不够删除时,vi将删除下一行的单词.删除一行的一部分内容: D――将光标置于一行的中间,输入D,则将删除从光标开始到行末的所有文字.不是整行删除光标至某一个字符之间的文本:dfm——该命令删除从光标到第一个m之间的所有文本包括光标处字母和字母m使用行号删除文本行: :5d——删除第5行的文本:5,10d——删除第5至10行的文本:3dd——删除从光标开始的3行内容:10,$d——删除从第10行开始到行末的内容6文本添加命令:i——在光标的左侧添加文本a——在光标的右侧添加文本I——将光标移到当前的行首,并切换到添加模式A——将光标移到当前的行尾,并切换到添加模式O--在光标的上方插入一个新行o——在光标的下方插入一个新行7撤消和重复命令对于Vi来说,它只能撤消最后一次操作,而vim是它的增强,因此它可以进行多次撤消.撤消命令: u--撤消最后一次修改U——撤消对当前行的所有修改,前提是光标没有移出当前行重复命令:.——英语的点命令“.”,它可以重复执行最后一次文本修改命令.(8)vi的替换命令文本替换命令:①替换字符: r——输入r后,不用切换到编辑模式,紧接着输入你用于替换的字符②逐字符替换文本: R——可以逐字符替换光标后面的文本③多个字符替换单个字符: s——实现删除光标处的一个字符,然后可以插入多个字符,相当于光标后添加,不会替换后面的字符④多个单词替换单个单词: cw——可以删除光标处的一个单词,并进入添加模式.⑤行替换: cc--删除当前行的所有字符,然后切换到插入模式.⑥修改行的剩余部分: C——删除从光标开始到行末的所有字符,进入添加模式删除和替换命令的对照命令类型删除替换字符x r单词dw cw行dd cc从光标到行尾之间的部分D C从光标到字符m之间的部分dfm cfm全局替换命令:①搜索当前行的第一个实例: :s——查找和替换命令:s/字符串——查找文本中的所有字符串:s/字符串1/字符串2——在文本中搜索字符串1,并将光标所在行的第一个字符串1替换成字符串2②搜索指定范围内的第一个实例::1,10s/字符串1/字符串2——搜索第1至10行,将每行内的第一个字符串1替换成字符串2③设置过滤条件进行搜索: :g/过滤条件/s/字符串1/字符串2——将文本内符合过滤条件的行的第一个字符串1替换成字符串2④在同一行中替换所有实例: :s/字符串1/字符串2/g――将光标所在行的所有字符串1替换成字符串2 :1,$s/字符串1/字符串2g ——将全文范围内所有行的字符串1替换成字串2注意:前面1-3命令都只能搜索和替换第一个实例,命令4因为加了参数g,它在末尾,可以替换范围内的所有实例9 移动和复制文本复制是指先将要复制的文本复制到缓冲区,再使用粘贴命令进行粘贴.复制和粘贴行: yy――将光标所在行复制到缓冲区p――将缓冲区的内容粘贴到光标所在位置,可以多次使用p命令将缓冲区内的文本进行粘贴到目标位置P——将复制的行粘贴到光标位置的上一行,而p命令是将复制的行粘贴到光标位置的下一行,总之这两个命令都不会粘到光标当前行剪切和粘贴行: 当删除文本行之后,相当于执行了“剪切”命令,然后再使用p或P命令进行文本粘贴复制字符和单词: yw——复制从当前光标到该单词结束的文字到缓冲区yl——复制当前光标处所在的一个字符到缓冲区yfm——复制当前光标处到第一个字符m处的文字到缓冲区包括m复制文本块: :行号,行号 copy 行号——将第一到第二行的文本复制到第三个行号指定行的后面将文本块复制到第三行号指定行的下面移动文本块: :行号,行号 move 行号——将第一到第二行的文本移动到第三个行号指定行的后面将文本块复制到第三行号指定行的下面注意:在文本块的复制和移动命令中,“.”表示当前行,“$”表示文件尾,“0”表示文件头.10 文件保存命令Vi不仅提供了文件存盘命令,用户也可以使用vi的放弃文件保存命令,或者在已有的文件尾添加内容的命令①保存对文件的修改不退出: :w②保存对文件的修改后退出编辑器::wq③保存新版本文件另存为: :w 文件名——将当前文件另存为文件名所指定的副本④取消对文件的修改: :q或者:q⑤保存文本块: :行号,行号 write 文件名――将指定范围内的文本块保存到一个新文件中,命名为指定的文件名注意:如果要保存到的新文件已存在,要进行覆盖,可在命令后加一个叹号“”⑥向文件追加文本: :行号,行号 write >>文件名――将文本块追加到一个文件的末尾.11vi编辑器和shell的交互①读入文本文件:在编辑文件时,经常需要读入另外一个文件的内容.格式: :行号 read 文件名――将指定的文件的内容读入到当前vi编辑器指定行号的下面②在vi中运行子shell:格式: :命令——在编辑中运行“”后指定的命令,将结果显示在vi中,按回车键后清屏,不影响原来的编辑③读入shell命令行的输出:前面的命令将结果输出到屏幕上,并不影响当前被编辑的文件,也可以将shell命令的输出读入到当前被编辑的文件中.格式: :行号 read 命令——将“”后的命令执行,将结果读入到指定的行后面。
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:取出寄存器?中的内容并将其放到光标位置处。
linuxVIM指令
linux下的vim编辑器常用的一些用法操作举例并说明作用。
没有花里胡哨的概念介绍仅以实际的使用方法举例。
一、vim常用快捷键和实用操作vim打开文件方式:**用法1:vim /tmp/myshell.sh表示打开tmp目录下的myshell.sh文件,不存在则创建一个,默认光标会定位到上次所在位置和高亮上次高亮的内容。
用法2:vim +10 /tmp/myshell.sh表示打开tmp目录下的myshell.sh文件并且将光标移动到第10行。
用法3:vim +/hello /tmp/myshell.sh表示打开tmp目录下的myshell.sh文件并且高亮显示文件里所有的hello内容。
用法4:vim /tmp/myshell.sh /home/my.sh /root/a.txt 表示同时打开tmp目录下的myshell.sh、home目录下的my.sh和root目录下的a.txt文件。
vim常用的三种模式:命令模式、编辑模式、末行模式(尾行模式)1.命令模式[命令模式下无法编辑文件,只允许删除,复制,粘贴,撤销,使用快捷键等操作,文件打开时默认进入此模式]光标移动操作:特别技巧:数字+上下左右按键可以向对应方向移动光标到指定位置,如:5+向上键表示是向上移动光标5行。
用法1:shift+6或^表示移动光标到所在行的行首位置。
用法2:shift+4或&表示移动光标到所在行的行尾位置。
用法3:gg表示将光标移动到文件内容的第一行位置,这里注意是小写字母。
表示将光标移动到文件内容的最后一行位置,这里注意是大写字母。
用法5:5G表示将光标移动到文件内容的第5行位置,这里注意是大写字母。
用法6:ctrl+b或pg up表示向上翻屏。
用法7:ctrl+f或pg dn表示向下翻屏。
复制、删除、粘贴、撤销操作:用法1:yy表示复制光标所在行的整行内容。
用法2:5yy表示复制包含光标所在行向下的5行内容。
Linux文件编辑命令详细整理
Linux⽂件编辑命令详细整理转载⾃--⼀、vi编辑器有3种基本⼯作模式⾸先需要知道vi编辑器有3种基本⼯作模式,分别是:命令模式、⽂本输⼊模式、和末⾏模式。
第⼀:命令⾏模式:该模式是进⼊vi编辑器后的默认模式。
任何时候,不管⽤户处于何种模式,按下ESC键即可进⼊命令模式。
在该模式下,⽤户可以输⼊vi命令,⽤户管理⾃⼰的⽂档。
此时从键盘上输⼊的任何字符都被当作编辑命令来解释。
若输⼊的字符是合法的vi命令,则vi在接受⽤户命令之后完成相应的动作。
但需要注意的是,所输⼊的命令并不回显在屏幕上。
若输⼊的字符不是vi命令,vi会响铃报警。
第⼆:⽂本输⼊模式:在命令模式下输⼊命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进⼊⽂本输⼊模式。
在该模式下,⽤户输⼊的任何字符都被vi当作⽂件内容保护起来,并将其显⽰在屏幕上。
在⽂本输⼊过程中,若想回到命令模式下,按ESC键即可。
第三:末⾏模式:末⾏模式也称ex转义模式。
在命令模式下,⽤户按“:”键即可进⼊末⾏模式下,此时vi会在显⽰窗⼝的最后⼀⾏(通常也是屏幕的最后⼀⾏)显⽰⼀个“:”作为末⾏模式的说明符,等待⽤户输⼊命令。
多数⽂件管理命令都是在此模式下执⾏的(如把编辑缓冲区的内容写到⽂件中等)。
末⾏命令在执⾏完后,vi⾃动回到命令模式。
如果要从命令模式转换到编辑模式,可以键⼊a或者i。
如果需要从⽂本模式返回,则按ESC即可。
在命令模式下输⼊“:”即可切换到末⾏模式,然后输⼊命令。
综上,⼀般我们使⽤命令打开⽂件的时候,是进⼊到命令模式。
在命令模式下,可以切换到⽂本输⼊模式和末⾏模式,但是⽂本输⼊模式和末⾏模式之间是不可以直接相互切换了,因此⽂本输⼊模式切换到末⾏模式,需要先回到命令模式再切换,反之亦然。
此外,编辑⽂本可以在⽂本输⼊模式下,键盘输⼊对⽂编进⾏编辑,或者在命令模式下使⽤vi命令也是可以起到编辑效果的。
实例演⽰⾸先我们使⽤命令 vi filename 打开⼀个⽂件,这个时候进⼊到的是命令模式接下来我们按i,然后键盘随便输⼊写内容。
linux下最全的快捷键大全
今天上网整理了想关资料,希望队大家有用:1.关于终端的快捷键:Tab:tab键是比较常用的一个快捷键,它的作用是补全文件名或者路径。
举例来说,输入”cd /ho”在按一下tab键,终端里就会显示”cd /home”了。
如果您的文件夹下,有两个名字开头部分相同的文件,比如有”picture001.bmp”和”picture002.bmp”两个文件,输入”rm pic”以后按下tab键,就会补全成”rm picture”,您可以接着输入剩下的名字。
使用tab键补全还支持对于扩展名的识别,比如您的文件夹下有”TH2AD_CHS.exe文件和TH2AD_CHS.ini文件,当您输入”wine TH”再按下tab后,会补全成”wine TH2AD_CHS.exe”而不会补全.ini文件,因为wine和.exe文件是关联的。
Ctrl+C:这个键可不是用来复制的,在中端下,按下Ctrl+C就代表结速当前终端执行的程序,按下的时候一定要慎重。
Ctrl+A:将光标移动到命令行的开始处。
Ctrl+E:将光标移动到命行令的结尾处。
Ctrl+U:删除行首到光标出的字符。
Ctrl+Z:把当前进程送到后台处理。
Ctrl+Alt+F1:切换到第一个文本终端。
在Linux下你可以有多达六个不同的终端。
Ctrl+Alt+F7:切换到第一个图形用户界面(一般来说X-window在第七个终端)。
~:~好像不能算一个快捷键吧?~的作用是代替您的主文件夹,比如您的用户名是user,那么“/home/user/桌面” 和“~/桌面” 是等价的。
CTRL+INSERT :复制SHIFT+INSERT:粘贴2.Gnome下的快捷键:Alt + F1:类似Windows下的Win键,在GNOME中打开”应用程序”菜单(Applications) (在KDE下同样适用。
)Alt + F2:类似Windows下的Win + R组合键,在GNOME中运行应用程序Ctrl + Alt + D:类似Windows下的Win + D组合键,显示桌面。
LinuxUnix简单快捷键整理
LinuxUnix简单快捷键整理Linux/Unix 简单快捷键汇总整理Ctrl + a 切换到命令行开始这个操作跟Home实现的结果一样的,但Home在某些unix环境下无法使用,便可以使用这个组合;在Linux下的vim,这个也是有效的;另外,在windows的许多文件编辑器里,这个也是有效的。
Ctrl + e 切换到命令行末尾这个操作跟END实现的结果一样的,但End键在某些unix环境下无法使用,便可以使用这个组合;在Linux下的vim,这个也是有效的;另外,在windows的许多文件编辑器里,这个也是有效的。
Ctrl + l 清除屏幕内容,效果等同于clearCtrl + u 清除剪切光标之前的内容这个命令很有用,在nslookup里也是有效的。
我有时看见同事一个字一个字的删除shell命令,十分崩溃!其实完全可以用一个Ctrl + u搞定。
Ctrl + k 剪切清除光标之后的内容Ctrl + y 粘贴刚才所删除的字符此命令比较强悍,删除的字符有可能是几个字符串,但极有可能是一行命令。
Ctrl + r 在历史命令中查找(这个非常好用,输入关键字就调出以前的命令了)这个命令我强烈推荐,有时history比较多时,想找一个比较复杂的,直接在这里,shell会自动查找并调用,方便极了Ctrl + c 终止命令Ctrl + d 退出shell,logoutCtrl + z 转入后台运行不过,由Ctrl + z转入后台运行的进程在当前用户退出后就会终止,所以用这个不如用nohup命令&,因为nohup命令的作用就是用户退出之后进程仍然继续运行,而现在许多脚本和命令都要求在root退出时仍然有效。
下面再被充下大家不是太熟悉,我用得比较多的`操作方式:!! 重复执行最后一条命令history 显示你所有执行过的编号+历史命令。
这个可以配合!编辑来执行某某命令↑(Ctrl+p) 显示上一条命令(Ctrl+n) 显示下一条命令!$ 显示系统最近的一条参数最后这个比较有用,比如我先用cat /etc/sysconfig/network-scripts/ifconfig-eth0,然后我想用vim编辑。
3vi基本操作
3vi基本操作unix/linux操作系统作者:孙素静教程3vi的基本操作1实验简介Linux本质上是一个文本驱动的操作系统。
VI是最基本的文本编辑工具。
它是一个全屏文本编辑器,具有文本编辑所需的所有功能。
对于学习Linux操作系统的人来说,掌握VI的命令和用法非常重要。
本次实验内容包括:vi三种模式之间的切换、vi基本指令的使用。
2实验目的(1)学习使用vi编辑器,掌握vi编辑器的一些常用说明。
(2)掌握各种命令的使用。
3.实验准备(1)熟练掌握vi三种工作模式的转换。
(2)熟练掌握vi的基本命令。
4vi使用过程实验步骤Unix/Linux操作系统作者:孙素静(3)输入完成后,保存并返回到命令模式。
若想在最后一行后面加上如下内容,如何只需要一个操作步骤完成。
穿得更久,也更好,不成熟的外表:stillwefeelthatsomethingsweetandwesighforitinvain;(4)“我们叹了一口气删除一句话。
思考:可以有几种方法实现操作,列出每一种方法。
(5)使用命令删除句子“wearestrogener and awailbetter”中的“will”一词。
思考:如果可以用多个命令完成,有几种实现方法,列出每一种方法。
(6)将第一行复制粘贴,成为文本的第二行。
并将其中的“gains”改为“balmss”,将“losses”改为“pain”。
要求修改每一个单词时,用一个命令实现。
思考:如果可以使用多个命令修改单词,有几种方法。
列出每种操作方法。
(7)将文件中的所有“is”修改为“are”。
思考:有几种方法可以实现这一点。
列出每种操作方法。
unix/linux操作系统作者:孙素静(8)将文本中所有行的第一个“and”改为“and”。
思考:可以有几种实现方法。
列出每一种实现方法。
(9)以上操作完成后,检查当前目录中的所有文件,不要退出VI.5通过熟练使用vi的操作命令,会发现vi的命令都简单易记,vi是一个方便快捷的文本编辑器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a 在光标后插入文本
A 在当前行插入文本
i 在光标前插入文本
I 在当前行前插入文本
o 在当前行的下边插入新行
O 在当前行的上边插入新行
:r file 读入文件file内容,并插在当前行后
:nr file 读入文件file内容,并插在第n行后
光标控制命令
命令 光标移动
h或^h 向左移一个字符
j或^j或^n 向下移一行
k或^p 向上移一行
l或空格 向右移一个字符
G 移到文件的最后一行
nG 移到文件的第n行
w 移到下一个字的开头
W 移到下一个字的开头,忽略标点符号
escape 回到命令模式
^v char 插入时忽略char的指定意义,这是为了插入特殊字符
在vi中删除文本
命令 删除操作
x 删除光标处的字符,可以在x前加上需要删除的字符数目
பைடு நூலகம் nx 从当前光标处往后删除n个字符
X 删除光标前的字符,可以在X前加上需要删除的字符数目
nX 从当前光标处往前删除n个字符
dw 删至下一个字的开头
ndw 从当前光标处往后删除n个字
dG 删除行,直到文件结束
dd 删除整行
ndd 从当前行开始往后删除
db 删除光标前面的字
ndb 从当前行开始往前删除n字
:n,md 从第m行开始往前删除n行
b 移到前一个字的开头
B 移到前一个字的开头,忽略标点符号
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
e 移到下一个字的结尾
E 移到下一个字的结尾,忽略标点符号
( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头
0或| 移到当前行的第一列
n| 移到当前行的第n列
^ 移到当前行的第一个非空字符
$ 移到当前行的最后一个字符
+或return 移到下一行的第一个字符
- 移到前一行的第一个非空字符
在vi中添加文本
命令 插入动作
d或d$ 从光标处删除到行尾
dcursor_command 删除至光标命令处,如dG将从当产胆行删除至文件的末尾
^h或backspace 插入时,删除前面的字符
^w 插入时,删除前面的字