vim 命令
- 格式:doc
- 大小:279.50 KB
- 文档页数:47
4.vim、head、tail命令⼀、vim编辑器安装Centos通常都已经默认安装好了 vi 或 Vim ⽂本编辑器,如果没有安装执⾏如下命令:yum install vim -y⼆、vim编辑器的四种模式命令模式使⽤VIM编辑器时,==默认处于命令模式。
==在该模式下可以移动光标位置,可以通过==快捷键==对⽂件==内容==进⾏复制、粘贴、删除等操作。
☆编辑模式或输⼊模式在命令模式下输⼊⼩写字母a或⼩写字母i即可进⼊编辑模式,在该模式下可以对⽂件的内容进⾏编辑☆末⾏模式在命令模式下输⼊冒号:即可进⼊末⾏模式,可以在==末⾏输⼊命令==来对⽂件进⾏查找、替换、保存、退出等操作☆可视化模式(了解)可以做⼀些列选操作(通过⽅向键选择某些列的内容)三、VIM四种模式的关系四、VIM编辑器的使⽤1、使⽤vim打开⽂件基本语法:# vim ⽂件名称①如果⽂件已存在,则直接打开②如果⽂件不存在,则vim编辑器会⾃动在内存中创建⼀个新⽂件案例:使⽤vim命令打开readme.txt⽂件# vim readme.txt2、vim编辑器保存⽂件在任何模式下,连续按两次Esc键,即可返回到命令模式。
然后按冒号:,进⼊到末⾏模式,输⼊wq,代表保存并退出。
3、vim编辑器强制退出(不保存)在任何模式下,连续按两次Esc键,即可返回到命令模式。
然后按冒号:,进⼊到末⾏模式,输⼊q!,代表强制退出但是不保存⽂件。
4、命令模式下的相关操作(重点)☆如何进⼊命令模式答:在Linux操作系统中,当我们使⽤vim命令直接打开某个⽂件时,默认进⼊的就是命令模式。
如果我们处于其他模式(编辑模式、可视化模式以及末⾏模式)可以连续按两次Esc键也可以返回命令模式☆命令模式下我们能做什么①移动光标②复制粘贴③剪切粘贴删除④撤销与恢复☆移动光标到⾸⾏或末⾏(重点)移动光标到⾸⾏ => gg移动光标到末⾏ => G☆翻屏向上翻屏,按键:ctrl + b (before)或 PgUp向下翻屏,按键:ctrl + f (after)或 PgDn向上翻半屏,按键:ctrl + u (up)向下翻半屏,按键:ctrl + d (down)☆快速定位光标到指定⾏(重点)⾏号 + G,如10G代表快速移动光标到第10⾏。
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的任意字母,可以完成多个复制任务。
Vim编辑指令基本命令Esc 或 Ctrl+[ 进⼊普通模式i (插⼊) a (附加) 进⼊插⼊模式wq 回车保存退出vim后⾯加上你要打开的已存在的⽂件名或者不存在(则作为新建⽂件)的⽂件名。
打开Xfce终端$ vim practice_1.txt直接使⽤vim也可以打开vim编辑器 vim进⼊命令⾏模式后输⼊:e ⽂件路径同样可以打开相应⽂件游标移动h左l右(⼩写L)j下k上w移动到下⼀个单词b移动到上⼀个单词在普通模式下使⽤下⾯的键将进⼊插⼊模式,并可以从相应的位置开始输⼊命令说明i在当前光标处进⾏编辑I在⾏⾸插⼊A在⾏末插⼊a在光标后插⼊编辑o在当前⾏后插⼊⼀个新⾏O在当前⾏前插⼊⼀个新⾏cw替换从光标所在位置后到⼀个单词结尾的字符请尝试不同的从普通模式进⼊插⼊模式的⽅法,在最后⼀⾏shiyanlou前⾯加上www.,注意每次要先回到普通模式才能切换成以不同的⽅式进⼊插⼊模式保存⽂档(命令⾏模式下保存⽂档)从普通模式输⼊:进⼊命令⾏模式,输⼊w回车,保存⽂档。
输⼊:w ⽂件名可以将⽂档另存为其他⽂件名或存到其它路径下退出vim(命令⾏模式下退出vim)从普通模式输⼊:进⼊命令⾏模式,输⼊wq回车,保存并退出编辑命令说明q!强制退出,不保存q退出wq!强制保存并退出w <⽂件路径>另存为saveas ⽂件路径另存为x保存并退出wq保存并退出普通模式下退出vim普通模式下输⼊Shift+zz即可保存退出vim删除⽂本(普通模式下删除vim⽂本信息)进⼊普通模式,使⽤下列命令可以进⾏⽂本快速删除命令说明x删除游标所在的字符X删除游标所在前⼀个字符Delete同xdd删除整⾏dw删除⼀个单词(不适⽤中⽂)d$或D删除⾄⾏尾d^删除⾄⾏⾸dG删除到⽂档结尾处d1G删⾄⽂档⾸部u撤销ndd删除光标所在位置起的多⾏n为数字yy复制光标当前所在的那⼀⾏nyy复制多⾏为n的数字p将已复制的内容粘贴到光标所在的位置的下⼀⾏⼤P将已复制的内容粘贴到光标所在位置的上⼀⾏np粘贴多⾏到光标的下⼀⾏为n的数字cttl+r重复上⼀次操作$跳到⼀⾏的尾部0跳到⼀⾏的头部gg移动到这个⽂件的第⼀⾏G跳到这个⽂件的最后⼀⾏nG跳到n⾏set nu显⽰⾏号H光标移动到屏幕的最上⽅那⼀⾏的第⼀个字符M光标移动到屏幕的中央那⼀⾏的第⼀个字符L光标移动到屏幕的最下⾯那⼀⾏的第⼀个字符vim重复命令重复执⾏上次命令在普通模式下.(⼩数点)表⽰重复上⼀次的命令操作拷贝测试⽂件到本地⽬录$ cd /home/shi$ cp /etc/protocols .游标的快速跳转普通模式下,下列命令可以让光标快速调转到指定位置,我们分别讨论快速实现⾏间跳转和⾏内跳转⾏间跳转命令说明nG(n shift+g)游标移动到第 n ⾏(如果默认没有显⽰⾏号,请先进⼊命令模式,输⼊:set nu以显⽰⾏号) gg游标移动到第⼀⾏G(Shift+g)到最后⼀⾏⼩技巧:你在完成依次跳转后,可以使⽤ Ctrl+o 快速回到上⼀次(跳转前)光标所在位置,这个技巧很实⽤,⽐如当你在写代码时,忽然想起有个 bug,需要修改,这时候你跳过去改好了,只需要按下 Ctrl+o 就可以回到你之前的位置。
在vim中,有多种查询命令可以用来查找文本,其中比较常用的有以下几种:1. "/pattern":这个命令可以用来在当前光标所在行中查找匹配的文本,其中"pattern"表示要查找的文本。
可以使用正则表达式来进行精确匹配。
例如,"/hello"可以查找当前光标所在行中包含字符串"hello"的文本。
2. "?pattern":这个命令与上面的命令类似,不同之处在于它是一个反向查找命令,可以在当前光标所在行之前查找匹配的文本。
例如,"?hello"可以查找当前光标所在行之前包含字符串"hello"的文本。
3. "/\p{L}":这个命令可以用来查找任何一个字符集,其中"\p{L}"表示任意一个字母字符。
例如,"/\p{L}"可以查找当前光标所在行中的任何一个字母。
4. "/\w":这个命令可以用来查找任何一个单词字符,其中"\w"表示任何一个单词字符,即字母、数字和下划线。
例如,"/\w"可以查找当前光标所在行中的任何一个单词字符。
5. "/\d":这个命令可以用来查找任何一个数字字符,其中"\d"表示任何一个数字字符。
例如,"/\d"可以查找当前光标所在行中的任何一个数字字符。
除了上述命令之外,还有一些其他的查询命令可以用来查找文本,例如"/\<pattern>"、"/=\<pattern>"、"/\zs\<pattern>"等。
具体使用方法可以参考vim的官方文档或者相关的教程。
Vim命令列表操纵文件Vim命令动作:e filename 打开一个新文件,可以用TAB键自动补全:w filename 保存更改。
如果不指定文件名,Vim会存为你正在编辑的文件。
如果要存为不同的文件,需要指定文件名:q 退出Vim。
如果有未保存的更改,Vim会拒绝退出。
:q! 强制退出!:wq 写文件并退出:x 几乎和:wq一样,如果你修改了文件,它会写文件并退出。
如果你没有修改文件,Vim会不写文件直接退出。
文件内的移动These Vim commands and keys work both in command mode and visual mode.Vim命令动作j or Up Arrow 向上移动一行k or Down Arrow 向下移动一行l or Right Arrow 向右移动一个字符h or Left Arrow 向左移动一个字符e 移动到一个词(word)尾E 移动到白空格(whitespace)分隔的词尾b 移动到一个词(word)的开头B 移动到白空格(whitespace)分隔的词头0 移动到行首^ 移动到一行的首个非白空格的字符$ 移动到行尾H 移动到屏幕的第一行M 移动到屏幕的中间一行L 移动到屏幕的最后一行:n 跳至屏幕的第n行插入和替换文本Vim命令动作i 在光标之前插入I 在该行行首插入a 在光标之后插入A 在该行行尾插入o 在下一行新建一行并插入O 在上一行新建一行并插入C Change the rest of the current line.r 覆盖一个字符。
在覆盖完成以后,回到命令模式。
R 进入插入模式,但是不再是插入文本,而是覆盖文本。
跟word 里insert键的作用类似ESC 退出插入/改写模式,回到命令模式。
删除文本Vim命令动作x 删除光标后的字符X 删除光标前的字符dd or :d 删除当前行进入可视模式(Visual mode)Vim命令动作v 开始定义高亮字符,用定位键(j or 向下键等)来选择要高亮的文本。
vim命令及快捷键[1. 关于Vim]vim是我最喜欢的编辑器,也是linux下第⼆强⼤的编辑器。
虽然emacs是公认的世界第⼀,我认为使⽤emacs并没有使⽤vi进⾏编辑来得⾼效。
如果是初学vi,运⾏⼀下vimtutor是个聪明的决定。
(如果你的系统环境不是中⽂,⽽你想使⽤中⽂的vimtutor,就运⾏vimtutor zh)[1.1 Vim的⼏种模式]正常模式:可以使⽤快捷键命令,或按:输⼊命令⾏。
插⼊模式:可以输⼊⽂本,在正常模式下,按i、a、o等都可以进⼊插⼊模式。
可视模式:正常模式下按v可以进⼊可视模式,在可视模式下,移动光标可以选择⽂本。
按V进⼊可视⾏模式,总是整⾏整⾏的选中。
ctrl+v进⼊可视块模式。
替换模式:正常模式下,按R进⼊。
[2. 启动Vim]vim -c cmd file: 在打开⽂件前,先执⾏指定的命令;vim -r file: 恢复上次异常退出的⽂件;vim -R file: 以只读的⽅式打开⽂件,但可以强制保存;vim -M file: 以只读的⽅式打开⽂件,不可以强制保存;vim -y num file: 将编辑窗⼝的⼤⼩设为num⾏;vim + file: 从⽂件的末尾开始;vim +num file: 从第num⾏开始;vim +/string file: 打开file,并将光标停留在第⼀个找到的string上。
vim --remote file: ⽤已有的vim进程打开指定的⽂件。
如果你不想启⽤多个vim会话,这个很有⽤。
但要注意,如果你⽤vim,会寻找名叫VIM的服务器;如果你已经有⼀个gvim在运⾏了,你可以⽤gvim --remote file在已有的gvim中打开⽂件。
[3. ⽂档操作]:e file --关闭当前编辑的⽂件,并开启新的⽂件。
如果对当前⽂件的修改未保存,vi会警告。
:e! file --放弃对当前⽂件的修改,编辑新的⽂件。
:e+file -- 开始新的⽂件,并从⽂件尾开始编辑。
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退出替换模式进入命令模式替换命令的作用就是在不用进入编辑模式,对文本进行轻量级修改。
窗口命令ctrl+w s 水平分割窗口ctrl+w w 切换窗口ctrl+w q 退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)ctrl+w v 垂直分割窗口其他vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。
:e file 把file加载到新的缓冲区中:bn 跳转到下一个缓冲区:bd 删除缓冲区(关闭文件):sp fn 分割窗口,并将fn加载到新的窗口中退出编辑器:w 将缓冲区写入文件,即保存修改:wq 保存修改并退出:x 保存修改并退出:q 退出,如果对缓冲区进行过修改,则会提示:q! 强制退出,放弃修改查找替换/pattern 向后搜索字符串pattern?pattern 向前搜索字符串patternn 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)N 上一个匹配(同上):%s/old/new/g 搜索整个文件,将所有的old替换为new:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换复制粘贴dd 删除光标所在行dw 删除一个字(word)若光标处在某个词的中间,则从光标所在位置开始删至词尾。
同dd 命令一样,可在dw之前加一个数字n 。
表示删除n 个指定的单词。
x 删除当前字符X 删除前一个字符D 删除到行末yy 复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行yw 复制一个字y$ 复制到行末p 粘贴粘贴板的内容到当前行的下面P 粘贴粘贴板的内容到当前行的上面]p 有缩进的粘贴,vim会自动调节代码的缩进"a 将内容放入/存入a寄存器,可以支持多粘贴板附:比如常用的一个寄存器就是系统寄存器,名称为+,所以从系统粘贴板粘贴到vim中的命令为"+p,注意此处的+不表示操作符,二十一个寄存器。
移动光标在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。
vim编辑命令linux中常见的⽂本除了vim还有nano gedit推荐使⽤vim⽂本编辑器的原因:1.⼏乎所有Linux发⾏版都内嵌有vim,但其他的编辑器不⼀定存在2.vim具有编辑程序的能⼒,可以利⽤不同的字体颜⾊来判断语法的正确性,⽅便程序设计,接⼝vi与vim之间的关系:vim是vi的升级版vim基本格式:命令选项⽂件vim [option] file例⼦:#vim passwd(直接进⼊passwd且光标出现在⾸⾏⾏⾸)#vim +10 passwd(进⼊passwd且光标出现在第⼗⾏⾏⾸)#!vim(回到上次编辑的⽂本)vim三种常见模式:1.命令模式:该模式下可以实现光标移动,剪切/粘贴⽂本2.插⼊模式:在命令模式的前提下输⼊a,i,o(包括⼤写),即可进⼊该模式,该模式⽤于修改⽂本,按ESC键回到命令模式3.末⾏模式:在命令模式下输⼊:键,即可进⼊该模式,该模式⽤于保存,退出等,按ESC键回到命令模式命令模式下的基本操作^键或0 跳⾄⾏⾸$键或end键跳⾄⾏尾1G或gg 跳⾄⽂件⾸⾏G 跳⾄⽂件末尾⾏#G 跳⾄⽂件第#⾏set nu 显⽰⾏号set nonu 不显⽰⾏号dd 删除光标所在的⼀整⾏#dd 从光标开始删除到第#⾏,包括光标所在的⾏d^ 删除光标所在之前⾄⾏⾸(不包括光标所在)d$ 删除光标所在之后⾄⾏尾(包括光标所在处)dw 删除光标处的单词yy 复制光标所在⾏#yy 复制光标所在处以下的#⾏p 粘贴⾄光标处下⼀⾏P 粘贴⾄光标处上⼀⾏u 撤销上⼀次操作,可多次使⽤U 撤销所有操作/字符向下查找字符向上查找n 向同⼀⽅向上重复上次输⼊的查找指令N 向相反⽅向上重复上次输⼊的查找指令插⼊模式:i 在当前光标处插⼊输⼊的⽂本,光标后的⽂本相应向右移动(常⽤)I ⾏⾸插⼊命令o 在光标所在⾏的下⾯插⼊新的⼀⾏。
光标停在空⾏⾸,等待输⼊⽂本(常⽤)O 在光标所在⾏的上⾯插⼊新的⼀⾏。
vim 命令(全) 收藏本章提供足够的信息使你用够使用Vim 来做基本的编辑。
这里提供的方法不一定是高效快捷的。
但起码是有效的。
花些时间去练习这些命令,这是后面的知识的基础。
|02.1| 第一次运行Vim|02.2| 插入文本|02.3| 移动光标|02.4| 删除字符|02.5| 撤销与重做|02.6| 其它编辑命令|02.7| 退出|02.8| 寻求帮助下一章:|usr_03.txt| 移动前一章:|usr_01.txt| 关于本手册目录:|usr_toc.txt|--------------------------------------------------------------------------------*02.1* 第一次运行Vim启动Vim 的命令如下:gvim file.txt在UNIX 操作系统中,你可以在任意命令提示符下输入这个命令。
如果你用的是Microsoft Windows, 启动一个MS-DOS 窗口,再输入这个命令。
无论哪一种方式,现在Vim 开始编辑一个名为file.txt 的文件了。
由于这是一个新建文件,你会得到一个空的窗口。
屏幕看起来会象下面这样:+---------------------------------------+|# ||~ ||~ ||~ ||~ ||"file.txt" [New file] |+---------------------------------------+('#"是当前光标的位置)以波纹线(~)开头的行表示该行在文件中不存在。
换句话说,如果Vim 打开的文件不能充满这个显示的屏幕,它就会显示以波纹线开头的行。
在屏幕的底部,有一个消息行指示文件名为file.txt 并且说明这是一个新建的文件。
这行信息是临时的,新的信息可以覆盖它。
VIM 命令gvim 命令建立一个新窗口用于编辑。
如果你用的是这个命令:vim file.txt则编辑在命令窗口内进行。
换句话说,如果你在xterm 中运行,编辑器使用xterm 窗口。
如果你用的是Microsoft Window 的MS-DOS 窗口,编辑器使用这个MS-DOS 窗口。
两个版本显示出来的文本看起来是一样的。
但如果你用的是gvim,就会有其他特性,如菜单条。
后面会有更多的描述。
--------------------------------------------------------------------------------*02.2* 插入文本Vim 是一个多模式的编辑器。
就是说,在不同模式下,编辑器的响应是不同的。
在普通模式下,你敲入的字符只是命令;而在插入模式,你敲入的字符就成为插入的文本了。
当你刚刚进入Vim,它处在普通模式。
通过敲入"i"命令(i是Insert 的缩写)可以启动插入模式,这样你就可以输入文字了,这些文字将被插入到文件中。
不用担心输错了,你还能够随后修正它。
要输入下文的程序员打油诗,你可以这样敲:iA very intelligent turtleFound programming UNIX a hurdle输入"turtle"后,你通过输入回车开始一个新行。
最后,你输入<Esc> 键退出插入模式而回到普通模式。
现在在你的Vim 窗口中就有两行文字了:+---------------------------------------+|A very intelligent turtle ||Found programming UNIX a hurdle ||~ ||~ || |+---------------------------------------+我在什么模式?要看到你在什么模式,输入如下命令::set showmode你会发现当你敲入冒号后,Vim 把光标移到窗口的最后一行。
那里是你输入“冒号命令” (以冒号开头的命令)的地方,敲入回车结束这个命令的输入(所有的冒号命令都用这种方式结束)。
现在,如果你输入"i" 命令,Vim 会在窗口的底部显示--INSERT--(中文模式显示的是--插入-- ——译者注),这表示你在插入模式。
+---------------------------------------+|A very intelligent turtle ||Found programming UNIX a hurdle ||~ ||~ ||-- INSERT -- |+---------------------------------------+如果你输入<Esc>回到普通模式,最后一行又变成空白。
解决问题Vim 新手常常遇到的一个问题是不知道自己在什么模式下,可能是因为忘了,也可能是因为不小心敲了一个切换模式的命令。
无论你在什么模式,要回到普通模式,只要敲<Esc> 就可以了。
有时你需要敲两次,如果Vim 发出“嘀”一声,就表示你已经在普通模式了。
--------------------------------------------------------------------------------*02.3* 移动光标回到普通模式后,你可以使用如下命令移动光标:h 左*hjkl*j 下k 上l 右这些命令看起来是随便选的。
无论如何,谁听说过用l 表示右的?但实际上,作这些选择是有理由的:移动光标是最常用的编辑器命令。
而这些键位是在你本位的右手。
也就是说:这种键位的设定使你可以以最快的速度执行移动操作(特别是当你用十指输入的时候)。
Note:你还可以用方向键移动光标,但这样会减慢你输入的速度,因为你必须把你的手从字母键移动到方向键。
想象一下,你在一个小时内可要这样做几百次,这可要花相当多的时间的。
而且,有一些键盘是没有方向键的,或者放在一些很特别的地方。
所以,知道hjkl 的用法在这些情况下就很有帮助了。
记住这些命令的一个方法是:h 在左边,l 在右边,j 指着下面。
用图表示如下:kh lj学习这些命令的最好方法是使用它。
用"i" 命令输入更多的文字。
然后用hjkl 键移动光标并在某些地方输入一些单词。
别忘了用<Esc> 切换回普通模式。
|vimtutor|也是一个练习的好办法。
--------------------------------------------------------------------------------*02.4* 删除字符要删除一个字符,把光标移到它上面然后输入"x"。
(这是对以前的打字机的一种回归,那时你通过在字符上输入xxxx删除它) 例如,把光标移到行首,然后输入xxxxxxx(七个x)可以删除"A very"。
结果看起来这样:+---------------------------------------+|intelligent turtle ||Found programming UNIX a hurdle ||~ ||~ || |+---------------------------------------+现在你可以输入新的字符了,例如,通过输入:iA young <Esc>这个命令启动一次插入操作(那个"i"),并插入"A young",然后退出插入模式(最后一个<Esc>)。
结果是:+---------------------------------------+|A young intelligent turtle ||Found programming UNIX a hurdle ||~ ||~ || |+---------------------------------------+删除一行要删除一整行,使用"dd" 命令,后一行会移上来填掉留下的空行:+---------------------------------------+|Found programming UNIX a hurdle ||~ ||~ ||~ || |+---------------------------------------+删除一个分行符在Vim 中你可以把两行连起来,这意味着两行间的换行符被删除了。
"J" 命令用于完成这个功能。
以下面两行为例子:A young intelligentturtle把光标移到第一行,然后按"J":A young intelligent turtle--------------------------------------------------------------------------------*02.5* 撤销与重做假设现在你删得太多了。
当然,你可以重新输入需要的内容。
不过,你还有一个更简单的选择。
"u" 命令撤销上一个编辑操作。
看看下面这个操作:先用"dd" 删除一行,再敲"u",该行又回来了。
再给一个例子:把光标移到第一行的A 上:A young intelligent turtle现在输入xxxxxxx 删除"A young"。
结果如下:intelligent turtle输入"u" 撤销最后一个删除操作。
那个删除操作删除字符g,所以撤销命令恢复这个字符:g intelligent turtle下一个u 命令恢复倒数第二个被删除的字符:ng intelligent turtle下一个u 命令恢复u,如此类推:ung intelligent turtleoung intelligent turtleyoung intelligent turtleyoung intelligent turtleA young intelligent turtleNote:如果你输入"u" 两次,你的文本恢复原样,那应该是你的Vim 被配置在Vi 兼容模式了。
看这里修正这个问题:|not-compatible|。
本文假定你工作在"Vim 的方式"。
你可能更喜欢旧的Vi 的模式,但是你必须小心本文中的一些小区别。
重做如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。
换句话说,它撤销一个撤销。
要看执行的例子,输入CTRL-R两次。