vim命令(全)
vim命令大全
vim命令⼤全命令历史以:和/开头的命令都有历史纪录,可以⾸先键⼊:或/然后按上下箭头来选择某个历史命令。
启动vim在命令⾏窗⼝中输⼊以下命令即可vim 直接启动vimvim filename 打开vim并创建名为filename的⽂件⽂件命令打开单个⽂件vim file同时打开多个⽂件vim file1 file2 file3 ...在vim窗⼝中打开⼀个新⽂件:open file在新窗⼝中打开⽂件:split file切换到下⼀个⽂件:bn切换到上⼀个⽂件:bp查看当前打开的⽂件列表,当前正在编辑的⽂件会⽤[]括起来。
:args打开远程⽂件,⽐如ftp或者share folder:e ftp://192.168.10.76/abc.txt:e \\qadrive\test\1.txtvim的模式正常模式(按Esc或Ctrl+[进⼊)左下⾓显⽰⽂件名或为空插⼊模式(按i键进⼊)左下⾓显⽰--INSERT--可视模式(不知道如何进⼊)左下⾓显⽰--VISUAL--导航命令% 括号匹配插⼊命令i 在当前位置⽣前插⼊I 在当前⾏⾸插⼊a 在当前位置后插⼊A 在当前⾏尾插⼊o 在当前⾏之后插⼊⼀⾏O 在当前⾏之前插⼊⼀⾏查找命令/text 查找text,按n健查找下⼀个,按N健查找前⼀个。
text 查找text,反向查找,按n健查找下⼀个,按N健查找前⼀个。
vim中有⼀些特殊字符在查找时需要转义 .*[]^%/?~$:set ignorecase 忽略⼤⼩写的查找:set noignorecase 不忽略⼤⼩写的查找查找很长的词,如果⼀个词很长,键⼊⿇烦,可以将光标移动到该词上,按*或#键即可以该单词进⾏搜索,相当于/搜索。
⽽#命令相当于?搜索。
:set hlsearch ⾼亮搜索结果,所有结果都⾼亮显⽰,⽽不是只显⽰⼀个匹配。
:set nohlsearch 关闭⾼亮搜索显⽰:nohlsearch 关闭当前的⾼亮显⽰,如果再次搜索或者按下n或N键,则会再次⾼亮。
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的任意字母,可以完成多个复制任务。
Linux Vim编辑命令
vim(vi)是Linux中功能强大的编辑工具。
☆vim有3中主要的模式:1.normal mode:当进入vim时,默认的模式就是normal mode。
在此模式下,无法输入任何文字,不过可以利用按键命令来执行许多操作命令,例如移动光标位置、复制、删除。
2.insert mode:进入vim输入a、i、或o键。
即可进入insert mode,此模式下可以输入文字内容。
mand-line mode:在norma lmode中输入“:”即会进入command-line mode,在此模式下,可以做一些与输入文字无关的事,例如搜索字符串、保存文件或结束编辑等。
☆在normal mode下:h:将光标向左移动一格l:将光标向右移动一格j:将光标向下移动一格k:将光标向上移动一格ctrl+b:将页面向前卷动一页ctrl+f:将页面向后卷动一页0:将光标移到该行最前面$:将光标移到该行的最后面G:将光标移到最后一行的开头we或E:将光标移到本单字的最后一个字符;如果光标所在位置为本单子的最后一个字符,则跳到下一个单字的最后一个字符。
b:将光标移到本单词的第一个字符;如果光标所在位置为本单词的第一个字符,则跳到上一个单字的第一个字符。
ctrl+u:将光标向前移动半页ctrl+d:将光标向右移动半页ctrl+e:屏幕向下卷动一行,也可以说文章和光标向上卷动一行ctrl+y:屏幕向上卷动一行,也可以说文章和光标向下卷动一行☆在command-line mode下:e 文件的路径及名称:打开指定文件a:从当前光标所在的位置的下一个字符开始输入i:在光标所在的位置插入新输入的字符o:新增加的一行,并将光标移到下一行的开头w:文件的路径及名称保存文件q:退出vim☆Vim的常用操作命令★复制文字yy:可将光标目前所在位置的正行复制,复制时不会将文字反白显示nyy:其中n为数字键,表示要复制的行数,若按3yy,则连同光标所在的位置的一行,与下面2行一起复制yw:可复制光标所在位置到整个单词结束的字符nyw:n表示要复制的单词数目,若按3yw,则会将目前光标所在位置到单词结束,以及后面的2个字一起复制p:可将复制的文字粘贴到当前光标所在的位置。
Vim编辑指令
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 就可以回到你之前的位置。
Linux基本命令vim命令(一)
Linux基本命令vim命令(⼀)vim的三种⼯作模式命令模式、输⼊模式和编辑模式的相互转换,如图命令模式:使⽤ Vim 编辑⽂件时,默认处于命令模式。
在此模式下,可以使⽤上、下、左、右键或者 k、j、h、l 命令进⾏光标移动,还可以对⽂件内容进⾏复制、粘贴、替换、删除等操作。
输⼊模式:在输⼊模式下可以对⽂件执⾏写操作。
进⼊输⼊模式的⽅法是输⼊ i、a、o 等插⼊命令,编写完成后按 Esc 键即可返回命令模式。
编辑模式:如果要保存、查找或者替换⼀些内容等,就需要进⼊编辑模式。
编辑模式的进⼊⽅法为:在命令模式下按" :"键,Vim 窗⼝的左下⽅会出现⼀个" :"符号后,这时就可以输⼊相关的指令进⾏操作了。
操作完按Enter键执⾏,指令执⾏后会⾃动返回命令模式。
使⽤Vim打开⽂件为了避免误操作我们将/etc下的profile复制到/tmp下进⾏操作,命令如下:[root@localhost /]# cp /etc/profile /tmp/profile.vim使⽤vim 进⼊profile⽂件的命令模式操作功能描述vim profile.vim只是打开⽂件打开⽂件后,直接定位指定⾏数处,vim +20 /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接进⼊第 20 ⾏打开⽂件后,直接定位指定⾏数处,vim +/future /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接定位到"future"字符串所在⾏打开⽂件后,接下来开始对⽂件进⾏操作。
进⼊输⼊命令模式从命令模式进⼊输⼊模式可以按下 I、i、A、a 、O、o、等键来完成,不同的键只是光标所处的位置不同⽽已。
当进⼊输⼊模式后,在 Vim 编辑窗⼝的左下⾓会出现"INSERT"标志,这就代表我们可⾏写⼊操作了,在vim中光标是停留在字符上的,例如在光标后⾯插⼊就是指在光标所在的字符的后⾯插⼊;操功能描述作i在当前光标所在位置插⼊输⼊的⽂本,光标后的⽂本相应向右移动I在光标所在⾏的⾏⾸插⼊输⼊的⽂本,⾏⾸是该⾏的第⼀个⾮空⽩字符,相当于光标移动到⾏⾸执⾏ i 命令a在当前光标所在位置之后插⼊输⼊的⽂本A在光标所在⾏的⾏尾插⼊输⼊的⽂本,相当于光标移动到⾏尾再执⾏ a 命令o在光标所在⾏的下⾯插⼊新的⼀⾏。
vim操作
∙如果该文件存在,文件被打开并显示内容∙如果该文件不存在,当编辑后第一次存盘时创建它∙如果目录不存在,将无法保存编辑内容2. vim的三种模式vim是一款模式编辑器,对vim的操作进行在vim的三种模式之上。
所谓三种模式分别是:1.命令(Normal)模式,默认模式,主要作用是移动光标,剪切/粘贴文本。
2.插入(Insert)或编辑模式,主要作用是修改文本。
3.扩展命令(extended command )模式,主要作用是保存,退出等。
所以想要娴熟操作vim,在三种模式之间的切换是必不可少的。
vim的模式切换是以命令模式为基础的,也就是打开文件时的第一个界面,vim打开文件默认是在命令模式界面。
所以无论你是要进入扩展模式还是插入模式,都需要在命令模式进行切换,扩展模式和插入模式之间是不能直接切换的。
vim三种主要模式之间的切换:3.命令模式1.命令模式进入插入模式2.命令模式光标间跳转2.1字符间跳转:2.2单词间跳转:2.3当前页跳转:2.4行首行尾跳转:2.5行间移动:2.6句间移动2.7 段落间移动:3.命令模式翻屏操作4.命令模式编辑操作4.1字符编辑:4.2替换命令(r, replace)4.3删除命令(d,delete)4.4复制命令(y, yank):4.5粘贴命令(p, paste):4.6改变命令(c, change)4.7撤销更改4.2扩展命令模式:地址定界在扩展命令模式下进行地址定界方法一:利用行数进行定界格式|:开始#,结束#4.3扩展命令模式:查找查找命令:4.4扩展命令模式:查找并替换扩展命令模式下,在命令提示符后面输入字母―s‖,然后按格式输入要查找和替换的内容,便可进行查找替换。
格式:s/要查找的内容/替换为的内容/修饰符格式项作用要查找的内容分割符后输入要查找的内容,可使用模式,也就是正则表达式。
替换为的内容不能使用模式,但可以使用\1, \2, …等后向引用符号;还可以使用―&‖引用前面查找时查找到的整个内容修饰符:i 忽略大小写g 全局替换;默认情况下,每一行只替换第一次出现gc 全局替换,每次替换前询问如果查找和替换的内容中包含路径,再使用"/"作为分割符就不方便了,这时可以使用@、#等特殊符号来做分割符。
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命令及快捷键
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基础命令vim(底行模式)
Linux基础命令vim(底⾏模式)#只能从命令模式进⼊底⾏模式
#保存退出
:q #退出
:q! #强制退出
:w #保存
:wq #保存退出
:wq! #强制保存退出
:x #保存退出
#光标移动移动的⾏删除
:n #n 数字跳转到指定的⾏
:1d #删除第⼀⾏
:1,10d #删除多⾏
#替换跟sed⼀样
:%s#old#new#g #全局替换
:1s#admin#root#g #替换指定的⾏
:1,5s#bin#oldboy#g #替换多⾏
# ⽂件另存为
:w new1.txt #将⽂件的内容另存为⼀个新⽂件
:1,10w new2.txt #将⽂件的第⼀⾏到第⼗⾏内容另存为⼀个新⽂件
#导⼊其他⽂件内容进⼊这个⽂件
:$r /etc/hosts #导⼊/etc/hosts⽂件中的内容到此⽂件的结尾:0r /etc/hosts #导⼊/etc/hosts⽂件中的内容到此⽂件的⾏⾸
#搜索
/root #搜索root的字符串
n #向下查找
N #向上查找
/root\c #搜索的时候,忽略⼤⼩写
:noh #取消⾼亮。
Linux常用命令之文件编辑命令vim
Linux常⽤命令之⽂件编辑命令vimvi命令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:删除从当前光标到光标所在⾏尾的全部字符;:删除光标⾏正⾏内容;ndd:删除当前⾏及其后n-1⾏;nyy:将当前⾏及其下n⾏的内容保存到寄存器?中,其中?为⼀个字母,n为⼀个数字;p:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的下⽅;P:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的上⽅;/字符串:⽂本查找操作,⽤于从当前光标所在位置开始向⽂件尾部查找指定字符串的内容,查找的字符串会被加亮显⽰;?name:⽂本查找操作,⽤于从当前光标所在位置开始向⽂件头部查找指定字符串的内容,查找的字符串会被加亮显⽰;a,bs/F/T:替换⽂本操作,⽤于在第a⾏到第b⾏之间,将F字符串换成T字符串。
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退出替换模式进入命令模式替换命令的作用就是在不用进入编辑模式,对文本进行轻量级修改。
linux--VIM命令大全
基础在文件中移动剪切、复制和粘贴搜索替换大小写读写文件文件浏览器和 Unix 系统交互对齐Tabs/Windows分屏显示自动完成Marks缩写文本缩进语法高亮插入模式下的命令:一般使用Vim时都在正常模式下,但如果知道几个专门用于插入模式下的快捷命令,会感觉更快捷一些。
参考:help insert-index,事实上插入模式下的自动补全功能,那个才真正给力。
调整缩进在插入模式下如果希望调整行的缩进,可以<Esc>返回正常模式,>或者<调整缩进,然后使用i或者a返回插入模式下,要按3次键,下面的组合键能够实现在插入模式下的缩进调整,每次调整一个shiftwidth宽度。
这个尤其用在写if之类的缩进结构时候,很方便。
CTRL+D 减少缩进CTRL+T 增加缩进复制相邻行的内容写东西的时候经常出现相邻两行的内容很想近的情况,你可以用复制粘贴功能,也可以直接一个字符一个字符地复制。
CTRL+Y 复制上一行的相同列的字符CTRL+E 复制下一行的相同列的字符举个实际的例子,比如一行内容是:num1 is 数字在这一行下方新增加一个空白行(插入模式下在行尾回车或者正常模式下按o),光标在num1的n正下方,这时候按3下<ctrl+y>,num被复制到当前位置,输入数字2后继续<ctrl+y>,空格和汉字也能够正确被一个一个地复制下来。
粘贴剪贴板在插入模式下<CTRL+R> {0-9a-z"%#*:=}能够插入剪贴板的内容,如果想临时查看各个剪贴板的内容,可以使用<ctrl+o>:reg<回车>,会显示出各个剪贴板的内容。
当然输入这个命令很麻烦,做个快捷键吧,把下面这句放到你的vimrc里面,当然F3可以换成其他功能键,这样你在插入模式下就可以按F3列出所有剪贴板的当前内容,然后<CTRL+R>剪贴板名称吧,这样做的好处是粘贴完仍然在插入模式下。
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(⽂件的打开和编辑)VIM打开⽂件:Vi 使⽤的选项说明vim filename打开或新建⼀个⽂件,并将光标置于第⼀⾏的⾸部vim -r filename恢复上次 vim 打开时崩溃的⽂件vim -R filename把指定的⽂件以只读⽅式放⼊ Vim 编辑器中vim + filename打开⽂件,并将光标置于最后⼀⾏的⾸部vi +n filename打开⽂件,并将光标置于第 n ⾏的⾸部vi +/pattern filename打幵⽂件,并将光标置于第⼀个与 pattern 匹配的位置vi -c command filename在对⽂件进⾏编辑前,先执⾏指定的命令使⽤ Vim 进⾏编辑:快捷键功能描述i在当前光标所在位置插⼊随后输⼊的⽂本,光标后的⽂本相应向右移动I在光标所在⾏的⾏⾸插⼊随后输⼊的⽂本,⾏⾸是该⾏的第⼀个⾮空⽩字符,相当于光标移动到⾏⾸执⾏ i 命令o在光标所在⾏的下⾯插⼊新的⼀⾏。
光标停在空⾏⾸,等待输⼊⽂本O(⼤写)在光标所在⾏的上⾯插⼊新的⼀⾏。
光标停在空⾏的⾏⾸,等待输⼊⽂本a在当前光标所在位置之后插⼊随后输⼊的⽂本A在光标所在⾏的⾏尾插⼊随后输⼊的⽂本,相当于光标移动到⾏尾再执⾏ a 命令Vim 查找⽂本:Vim 查找⽬标⽂本快捷键功能描述/abc从光标所在位置向前查找字符串 abc/^abc查找以 abc 为⾏⾸的⾏/abc$查找以 abc 为⾏尾的⾏abc从光标所在为主向后查找字符串 abcn向同⼀⽅向重复上次的查找指令N向相反⽅向重复上次的查找指定Vim 替换⽂本:Vim替换⽂本快捷键功能描述r替换光标所在位置的字符R从光标所在位置开始替换字符,其输⼊内容会覆盖掉后⾯等长的⽂本内容,按“Esc”可以结束:s/a1/a2/g将当前光标所在⾏中的所有 a1 ⽤ a2 替换:n1,n2s/a1/a2/g将⽂件中 n1 到 n2 ⾏中所有 a1 都⽤ a2 替换:g/a1/a2/g将⽂件中所有的 a1 都⽤ a2 替换Vim删除⽂本:Vim 删除⽂本快捷键快捷键功能描述x删除光标所在位置的字符dd删除光标所在⾏ndd删除当前⾏(包括此⾏)后 n ⾏⽂本dG删除光标所在⾏⼀直到⽂件末尾的所有内容D删除光标位置到⾏尾的内容:a1,a2d函数从 a1 ⾏到 a2 ⾏的⽂本内容Vim复制和粘贴⽂本:Vim 复制⽂本快捷键功能描述p将剪贴板中的内容粘贴到光标后P(⼤写)将剪贴板中的内容粘贴到光标前y复制已选中的⽂本到剪贴板yy将光标所在⾏复制到剪贴板,此命令前可以加数字 n,可复制多⾏yw将光标位置的单词复制到剪贴板Vim 保存退出⽂本:常⽤保存退出命令命令功能描述:wq保存并退出 Vim 编辑器:wq!保存并强制退出 Vim 编辑器:q不保存就退出 Vim 编辑器:q!不保存,且强制退出 Vim 编辑器:w保存但是不退出 Vim 编辑器:w!强制保存⽂本:w filename另存到 filename ⽂件x!保存⽂本,并退出 Vim 编辑器,更通⽤的⼀个 vim 命令ZZ直接退出 Vim 编辑器。
vim 清除所有内容
vim 清除所有内容Vim 清除所有内容。
在使用 Vim 编辑器时,有时我们需要将文件中的所有内容清空,重新开始编辑。
这种情况可能是因为需要重新写入新的内容,或者是需要清空文件以便进行其他操作。
无论是哪种情况,Vim 都提供了简单而有效的方法来清除所有内容。
要清除 Vim 中的所有内容,首先需要打开需要清空的文件。
在命令模式下,输入以下命令:```。
:%d。
```。
这个命令中,“%”代表整个文件,“d”代表删除。
所以这个命令的意思就是删除整个文件的内容。
执行完这个命令后,文件中的所有内容都将被清空,只留下一个空白的文件。
除了使用“%d”命令外,我们还可以使用“gg”命令将光标移动到文件的开头,然后再输入“dG”命令来删除从当前行到文件末尾的所有内容。
这两种方法都可以达到清空文件内容的效果,可以根据个人习惯选择其中之一来操作。
需要注意的是,执行这些命令后,文件中的内容将无法撤销地被删除。
因此,在执行这些命令之前,请务必确认是否真的需要清空文件内容,以免造成不必要的损失。
另外,如果只是想临时隐藏文件内容而不是真正删除,也可以使用“:set modifiable”命令来设置文件为可编辑状态,然后使用“ggVGd”命令选中整个文件内容并删除,这样文件中的内容就会被清空,但是可以通过撤销操作来恢复之前的内容。
总的来说,Vim 提供了多种方法来清除文件中的所有内容,可以根据实际情况选择合适的方法来操作。
清空文件内容是一个简单而常见的操作,掌握这些方法可以帮助我们更高效地使用 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是一款强大的文本编辑器,它可以在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需要一定的学习成本,但一旦掌握了它,你将获得无与伦比的编辑体验。
VIM复制命令大全
4.1 指令说明
yy 复制游标所在行整行。或大写一个 Y。
2yy 复制两行,y2y 也可以。ㄟ,请举一反三好不好!:-)
y^ 复制至行首,或 y0。不含光标所在处字符。
y$ 复制至行尾。含光标所在处字符。
yw 复制一个 word。
y2w 复制两个字。
yG 复制至档尾。
y1G 复制至档首。
"ap 将 a 缓冲区的内容贴上。
这个缓冲区的术语在 Vim 称为 registers,Vim 扩充了相当多的功能。您用 d、c、s、x、y 等指令改变或删除的内容都是放在 registers 中的。例如:您用 dd 删除的一行,也是可以使用 p 来贴上的。只要是在缓冲区的内容都可以使用 p 来贴上,不是一定要 y 起来的内容才能用 p。因此您认为 p 是 paste 也可以,认为是 put 可能较正确。
在 Vim 里头,有许多不同种类的缓冲区,例如:置放一整个档案的 buffers 缓冲区(请参考第 6.2 节,页 );档案内容操作,如删除、yank、置换,给 Put 要用的 registers 缓冲区;另外还有给书签要用的 marks 缓冲区(请参考第 5.4 节,页 )。虽然这些内容不一定是放在 RAM 内存内,有的是置于硬盘档案上,需要时才从档案存取,但这里通通把他当做是缓冲区,以方便理解。
4.4.2 软件间互相 copy 时,常常都搞得天下大乱耶!
要设成 :set paste。这是 Vim 的扩充功能,elvis 没有。那在 elvis 怎么办?只好 :set noai4.1 了。在 GUI 的版本应不会有这种情形。
朋友!您睡着了吗?不要被吓到了,您只要开个档案,亲自操作一下就能心领神会。那用 mouse 不是更方便吗?不见得,yyp 来复制贴上一整行比较快,还是用 mouse 来拉比较快?您可以试看看。
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行内容。
ubuntu vim命令大全
ubuntu vim终端编辑命令,留着查用~~~一. VIM高亮进入vim后,在普通模式下输入如下命令,开启php代码高亮显示:syntax enable:source $VIMRUNTIME/syntax/php.vim二. VI常用命令_______________________________________________________一般模式光标移动__________________________________________________________h 或向左方向键光标向左移动一个字符j 或向下方向键光标向下移动一个字符k 或向上方向键光标向上移动一个字符l 或向右方向键光标向右移动一个字符Ctrl + f 屏幕向前翻动一页(常用)Ctrl + b 屏幕向后翻动一页(常用)Ctrl + d 屏幕向前翻动半页Ctrl + u 屏幕向后翻动半页+ 光标移动到非空格符的下一列- 光标移动到非空格符的上一列n<space> 接下数字后再按空格键,光标会向右移动这一行的n个字符,例如20<space>,则光标会向右移动20个字符0 (这是数字0) 移动到这一行的第一个字符处(常用)$ 移动到这一行的最后一个字符处(常用)H 光标移动到这个屏幕最上方的那一行M 光标移动到这个屏幕中央的那一行L 光标移动到这个屏幕最下方的那一行G 移动到这个文件的最后一行(常用)nG 移动到这个文件的第n行.例如20G,则会移动到这个文件的第20行(可配合:set nu)n<Enter> 光标向下移动n行(常用)________________________________________________________________ 一般模式查找替换________________________________________________________________ /word 在光标之前查找一个名为word的字符串?word 在光标之前查找一个名为的word字符串:n1,n2s/word1/word2/g 在第n1与n2行之间查找word1这个字符串,并将该字符串替换为word2(常用):1,$s/word1/word2/g 从第一行到最后一行查找word1字符串,并将该字符串替换为word2(常用):1,$s/word1/word2/ge 从第一行到最后一行查找word1字符串,并将该字符串替换为word2,且在替换前显示提示符让用户确认(confirm)(常用)_________________________________________________________________ 一般模式删除复制与粘贴_________________________________________________________________ x,X x为向后删除一个字符,X为向前删除一个字符(常用)nx 向后删除n个字符dd 删除光标所在的那一整行(常用)ndd 删除光标所在行的向下n行,例如,20dd则是删除20行(常用) d1G 删除光标所在行到第一行的所有数据dG 删除光标所在行到最后一行的所有数据yy 复制光标所在行(常用)nyy 复制光标所在行的向下n行,例如,20yy则是复制20行(常用) y1G 复制光标所在行到第一行的所有数据yG 复制光标所在行到最后一行的所有数据p,P p为复制的数据粘贴在光标下一行,P则为粘贴在光标上一行(常用)J 将光标所在行与下一行的数据结合成一行u 恢复前一个动作(常用)_________________________________________________________________ 编辑模式_________________________________________________________________ i,I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退(常用)a,A 添加:由当前光标所在处的下一个字符开始输入,已存在的字符会向后退(常用)o,O 插入新的一行:从光标所在处的下一行行首开始输入字符(常用) r,R 替换:r会替换光标所指的那一个字符:R会一直替换光标所指的文字,直到按下Esc为止(常用)Esc 退出编辑模式,回到一般模式(常用)_________________________________________________________________ 命令行模式_________________________________________________________________ :w 将编辑的数据写入硬盘文件中(常用):w! 若文件属性为只读,强制写入该文件:q 退出vi(常用):q! 若曾修改过文件,又不想保存,使用!为强制退出不保存文件:wq 保存后退出,若为:wq!,则为强制保存后退出(常用):w [filename] 将编辑数据保存为另一个文件(类似另存新文档):r [filename] 在编辑的数据中,读入另一个论据的数据,亦即将filename 这个文件内容加到光标所在行的后面:set nu 显示行号,设定之后,会在每一行的前面显示该行的行号:set nonu 与set nu相反,为取消行号n1,n2 w [filename] 将n1到n2的内容保存为filename 这个文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章提供足够的信息使你用够使用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两次。