个人心得-vi编辑器的快捷使用
- 格式:docx
- 大小:27.57 KB
- 文档页数:17
vim编辑器心得体会作为一名使用者长期使用vim编辑器的用户,我想分享一些我对这个强大文本编辑工具的心得体会。
首先,vim是一个高度可定制的编辑器。
在初次接触vim时,我发现它被一些人形容为“令人无法理解的编辑器”。
事实上,vim的学习曲线确实相对陡峭,但一旦掌握了基本的操作和命令,它会成为你的得力助手。
通过简单的配置,我个人可以根据我自己的需求来个性化定制vim,使其更符合我的编辑风格和工作习惯。
其次,vim拥有丰富的命令和功能。
通过vim的命令模式,我可以快速进行文本的编辑和操作。
例如,使用:h[elp]命令可以查看vim的帮助文档,其中包含了众多的功能和命令的详细说明。
使用:find命令可以快速搜索指定的文本,而使用:substitute命令可以实现文本的替换。
此外,vim还支持多窗口布局、语法高亮和文本折叠等高级功能,这些功能大大提高了我的编辑效率和舒适度。
再次,vim支持大部分操作的快捷键。
通过合理利用vim的快捷键,我可以更加迅速地进行编辑操作。
例如,使用i进入插入模式,在此模式下可以编辑文本;使用ESC键回到命令模式,可以执行各种命令;使用:wq保存并退出文件等等。
这些快捷键的使用不仅可以减少移动手指的次数,也能提高编辑的流畅性和效率。
此外,vim具有极高的可扩展性。
通过使用各种插件和脚本,我可以进一步增加vim的功能和扩展它的能力。
例如,我可以安装AutoComplete插件,实现自动补全功能;我可以安装vim-airline插件,美化vim的界面;我还可以使用NERDTree插件来浏览文件系统。
这些插件的使用能够帮助我更好地管理和组织我的编辑工作,使vim变得更加强大和灵活。
最后,我想说的是,vim是一个需要耐心和实践的编辑器。
初次接触vim时,我可能会感到困惑和不知所措,但只要持之以恒地去使用和学习,掌握vim的技巧和技巧是完全可能的。
通过不断地练习和使用,我逐渐熟悉了vim的各种命令和操作,发现了它的便利和高效。
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 删除⼀个单词。
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用法
LinuxVI编辑器是一个非常强大的文本编辑器,通常用于在命令行界面中编辑文本文件。
它不仅可以编辑文本文件,还可以用于编写脚本,记笔记等。
以下是一些常用的Linux VI编辑器用法:
1. 打开文件:在终端中输入vi filename,即可打开一个名为filename的文件。
2. 插入模式:按下i键即可进入插入模式,此时可以开始编辑文本。
3. 保存并退出:按下Esc键,输入:wq即可保存并退出文件。
4. 放弃修改退出:按下Esc键,输入:q!即可放弃修改并退出文件。
5. 查找字符串:在命令模式下输入/字符串,即可查找当前文件中包含该字符串的位置。
6. 替换字符串:在命令模式下输入:s/old/new/g,即可将所有的old替换为new。
7. 删除一行:在命令模式下输入dd即可删除一行。
8. 撤销操作:在命令模式下输入u即可撤销上一次操作。
9. 复制粘贴:在命令模式下将光标移动到需要复制的文本上,按下yy即可复制,将光标移动到需要粘贴的位置,按下p即可粘贴。
总之,Linux 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是一款常用的文本编辑器,拥有强大的功能和灵活的操作方式。
它通常在Linux和其他UNIX系统中使用,可以用于编辑各种类型的文件。
vi的基本用法包括以下几个方面:1. 打开文件:在命令行中输入vi命令,后面跟上文件名,即可打开相应的文件。
如果文件不存在,则会创建一个新文件。
2. 三种工作模式:vi有三种工作模式:命令模式、插入模式和底线模式。
在命令模式下,可以使用各种命令进行文件的编辑、复制、粘贴等操作;插入模式下,可以输入和修改文本;底线模式下,可以保存文件、退出vi等。
3. 切换工作模式:在命令模式下,按下i键可以进入插入模式,可以在光标处插入文本;按下Esc键可以退出插入模式,回到命令模式。
4. 保存文件:在底线模式下,输入:w命令可以保存文件。
如果想要另存为其他文件名,可以使用另存命令,如:w newfile.txt。
5. 退出vi:在底线模式下,输入:q命令可以退出vi。
如果文件有改动并且未保存,需要使用强制退出命令:q!。
6. 光标移动:在命令模式下,可以使用h、j、k、l键来左移、下移、上移和右移光标。
也可以使用Page Up、Page Down等键进行页面的快速滚动。
7. 删除文本:在命令模式下,可以使用x命令删除光标所在位置的字符。
可以使用dd命令删除整行文本。
8. 复制和粘贴:在命令模式下,可以使用yy命令复制整行文本;使用p命令将复制的内容粘贴到光标位置下方。
9. 撤销操作:在命令模式下,可以使用u命令撤销上一次的操作。
以上是vi的基本用法介绍,掌握了这些基本操作,可以高效地使用vi进行文本编辑。
vi工作总结范文
Vi工作总结。
在过去的一段时间里,我一直在使用Vi编辑器进行工作。
在这个过程中,我
学到了很多关于Vi的技巧和技术,也积累了一些经验。
现在,我想通过这篇文章
来总结一下我在使用Vi编辑器时的一些体会和心得。
首先,Vi编辑器的快捷键是我最喜欢的地方之一。
通过熟练掌握Vi的快捷键,我可以在编辑文本的过程中更加高效地完成工作。
例如,我可以使用h、j、k、l
这四个方向键来进行光标的移动,而不需要频繁地使用鼠标或者方向键,这大大提高了我的编辑效率。
其次,Vi编辑器的命令模式也是我非常喜欢的地方。
在命令模式下,我可以通过输入简单的命令来完成一系列的编辑操作,比如删除、复制、粘贴等等。
这种命令式的编辑方式让我感到非常方便和快捷,也让我更加专注于编辑的内容本身。
另外,Vi编辑器的扩展性也是我非常喜欢的地方。
通过安装一些插件和配置一些设置,我可以让Vi编辑器变得更加强大和个性化。
比如,我可以安装一些语法
高亮插件,让编辑的代码更加清晰和易读;我也可以配置一些快捷键和自动补全功能,让编辑的过程更加顺畅和高效。
总的来说,Vi编辑器给我留下了非常深刻的印象。
通过使用Vi,我不仅学到
了很多关于编辑器的技巧和技术,也提高了自己的编辑效率和专注力。
我相信,在未来的工作中,我还会继续使用Vi编辑器,并且不断地探索和学习更多关于Vi的知识和技巧。
Vi编辑器,让我的工作变得更加高效和愉快!。
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 ,:窗口最大化(垂直方向)。
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编辑器的基本使用技巧。
linux实验报告二-vi编辑器的使用
实验名称:vi编辑器的使用
实验目的:掌握vi编辑器的基本用法,以及文件的保存和退出。
实验环境:ubuntu 16.04
实验内容:
1.进入vi编辑器
打开终端,输入vi命令进入vi编辑器。
例如:vi text.txt (text.txt是要编辑的文件名,如果文件不存在,会自动创建
一个新文件并打开)。
2.编辑文本
vi编辑器默认进入命令行模式,只能执行命令,不能编辑文本。
需要进入编辑模式才能输入文本。
在命令行模式下,按下i或a键即可进入插入模式。
其中i表
示插入光标左边,a表示插入光标右边。
在插入模式下,可以输入文本,也可以使用退格键、删除键、方向键等。
3.保存并退出
完成文本编辑后,需要保存并退出。
首先按下ESC键回到命令行模式,然后输入:wq保存并退出。
如果只是想退出而不保存,可以输入:q!强制退出。
实验心得:
vi编辑器是一种非常强大的文本编辑器,虽然刚开始使用时有些不习惯,但是通过不断的练习和操作,会慢慢地掌握其基本用法。
同时在使用vi编辑器时,一定要特别小心,避免误操作,否则会对文件造成不可逆的损坏。
个人心得-vi编辑器的快捷使用
光标控制命令
命令光标移动
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 将当前字改为text
Ctext escape 将当前行余下的改为text
cG escape 修改至文件的末尾
ccursor_cmd text escape 从当前位置处到光标命令位置处都改为text
在vi中查找与替换
命令查找与替换操作
/text 在文件中向前查找text
?text 在文件中向后查找text
n 在同一方向重复查找
N 在相反方向重复查找
ftext 在当前行向前查找text
Ftext 在当前行向后查找text
ttext 在当前行向前查找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。
当要插入文本时,键入string1然后按Esc键,系统就插入了string2
:ab 显示所有缩写
:una string 取消string的缩写
在vi中缩进文本
选项作用
^i(ctrl+i)或tab 插入文本时,插入移动的宽度,移动宽度是事先定义好的
:set ai 打开自动缩进
:set sw=n 将移动宽度设置为n个字符
n<< 使n行都向左移动一个宽度
n>> 使n行都向右移动一个宽度,例如3>>就将接下来的三行每行都向右移动一个移动宽度。