成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

vim编辑器常用命令

Q1:vim编辑器常用的命令

1. 进入vim编辑器的方式:(进入vim编辑器时,默认的模式是命令模式) 在终端输入vi:进入vim编辑器vi filename:进入vim编辑器,新建了一个filename文件,光标定位到文件的第一行vi在工作时,会在当前目录下创建.swp的临时文件,该临时文件也称为交换文件当vi结束对当前文件编辑且正常退出时,临时文件.swp会被自动删除当vi结束对当前文件编辑且非正常退出时,临时文件.swp会被残留下来vi + filename:进入vim编辑器,打开已存在的filename文件,光标定位到文件的最后一行vi在工作时,会在与被编辑文件相同的目录内创建一个名为.filename.swp的临时文件当vi结束对当前文件编辑且正常退出时,临时文件.filename.swp会被自动删除当vi结束对当前文件编辑且非正常退出时,临时文件.filename.swp会被残留下来vi +# filename:进入vim编辑器,打开已存在的filename文件,光标定位到文件的第#行(#必须用数字代替)vi -R filename:进入vim编辑器,以只读方式打开已存在的filename文件,被编辑的文件不能回存,但可以另存为vi -r filename:从vi crash或非正常退出中恢复文件vi -r .*.swp:从交换文件.*.swp中恢复文件vi -r:列出当前目录内所有因vi非正常退出而残留的交换文件,以便恢复vi -L:列出当前目录内所有因vi非正常退出而残留的交换文件,以便恢复2. vi有三种工作方式:命令模式、编辑模式及命令项模式。命令模式:在这种模式下,可以通过输入vi的命令对文件的内容进行处理(复制、删除、移动等),也可以通过按光标键来移动光标。编辑模式:在这种模式下,可以在光标处输入内容。命令项模式:在命令模式下,用户输入冒号后,光标会跳到底行,然后输入命令。命令模式 --> 输入a、A、i、I、o、O等命令 --> 编辑模式编辑模式 --> 按ESC键 --> 命令模式命令模式 --> 输入冒号 --> 命令项模式3. 退出vi的命令在命令模式下,输入::w 保存文件,不退出vi:w filename 把vi中的内容保存到不存在的filename文件,不退出vi:w! filename 把vi中的内容保存到已存在的filename文件,不退出vi:w>>filename 把vi中的内容追加到filename文件,不退出vi:n1,n2w filename 把n1行到n2行的内容保存到不存在的filename文件:n1,n2w! filename 把n1行到n2行的内容保存到已存在的filename文件:wq 保存文件,退出vi:x 保存文件,退出vi:ZZ 保存文件,退出vi:q 不保存文件,退出vi(若文件已改变,则不能退出):q! 不保存文件,退出vi:ZQ 不保存文件,退出vi4. 在命令模式下,可以输入以下命令:(1)光标移动命令h: 左l: 右k: 上j: 下向左光标键向右光标键向上光标键向下光标键(2)插入命令i:在光标处插入内容I:在第一行插入内容a:在光标后插入内容A:在当前行的尾部插入内容o:在当前行的下面插入新行O:在当前行的上面插入新行(3)删除命令x:删除光标处的字符X:删除光标前的一个字符d0:删除从当前光标所在行的第一个字符到当前光标的前一个字符的一串字符D:删除从当前光标所在的字符到当前光标所在行的最后一个字符的一串字符dd:删除光标所在行的所有字符dw:删除从光标处字符开始的一个单词例如:a boy girl pig如果光标在l处,dw后,结果是:a boy girpig如果光标在l和p之间的空格处,dw后,结果是:a boy girlpig如果光标在b处,dw后,结果是:a girl pig#dd:删除从光标所在的行到其后的#-1行(#必须用数字代替)#x:删除从光标所在的字符开始的#个字符(#必须用数字代替):n1,n2 d:删除n1行到n2行的内容(4)复制命令:n1,n2 t n3:把n1行到n2行的内容复制到第n3行的下一行(5)移动命令:n1,n2 m n3:把n1行到n2行的内容移动到第n3行的下一行(6)修改/替换命令r:输入一个字符替换光标处的一个字符R:从光标处的字符开始替换,后面的字符一个一个被输入的字符覆盖s:输入一串字符来替换光标处的字符S:先清除光标所在的行,你可以在当前行输入一串字符cc:先清除光标所在的行,你可以在当前行输入一串字符cw:修改一个单词例如:ab cdef ghijk光标在d处,输入cw后,结果是:ab cde$ ghijk,此时若输入pqghd后,结果是:ab cpqghd ghijk此时若输入p后按ESC键,结果是:ab cp ghijkC:修改从光标处开始及其该行后面的部分例如:ab cdef ghijk光标在d处,输入cw后,结果是:ab cdef ghij$,此时输入pqghd后,结果是:ab cpqghd(7)光标定位命令0:定位到光标所在行的行首$:定位到光标所在行的行末:#:定位到第#行的行首:$:定位到最后一行的行首/exp:向后定位到字符串exp?exp:向前定位到字符串exp/^exp:定位到行首为字符串exp的行/exp$:定位到行末为字符串exp的行n,m ?/exp:从n行到m行向前搜索字符串exp (此命令有待商榷)n,m/exp:从n行到m行向前搜索字符串exp (此命令有待商榷)(8)搜索替换命令:s/exp1/exp2/g:将当前行的字符串exp1替换成字符串exp2:n,m s/exp1/exp2/g:将n行到m行的字符串exp1替换成字符串exp2:g/exp1/exp2/g:将当前行的字符串exp1替换成字符串exp2:g/exp1/s//exp2/g:将全文中的字符串exp1替换成字符串exp2(9)撤销命令u(10)缓冲区命令默认情况下,vi使用无名缓冲区,例如:虽然将文件的某些部分删除了,但仍可以用u命名进行撤销。yy:将光标所在的行放入无名缓冲区Y:将光标所在的行放入无名缓冲区p:将缓冲区中的内容粘贴到光标所在的行的下一行P:将缓冲区中的内容粘贴到光标所在的行的上一行#yy:将光标所在的行放入缓冲区# (#必须用a~z代替)#p:将缓冲区#中的内容粘贴到光标所在的行的下一行 (#必须用a~z代替)#P:将缓冲区#中的内容粘贴到光标所在的行的上一行 (#必须用a~z代替)#d:删除当前行,将当前行的内容放入缓冲区#(11)其它命令:set nu:显示行号:set nonu:取消行号:n 定位到下一个文件:N 定位到上一个文件vi 1.c 2.c 3.c:一次打开3个文件首先会打开1.c,输入:n命令后,会打开2.c,再输入:n命令后,会打开3.c,再输入:N命令后,会打开2.c,再输入:N命令后,会打开1.c。Ctrl+G:显示当前编辑文件的信息Ctrl+L:刷新屏幕Ctrl+d:向后翻半屏Ctrl+u:向前翻半屏Ctrl+f:向后翻一屏Ctrl+b:向前翻一屏作者 aniyo

Q2:学习vim编辑器教程之再识命令

教程:1、在上一节中,我们简单的认识了下vim我们可以通过vim进行的文字编写,和保存写好的文档。在这里再说一下上节文件保存的命令 :wq 这里是文件名从程序的上角可以发现这个文件没有命名。我们在里面敲一段代码 ,之后 我们保存其为hello.c 。。注意:命令模式只能在Normal mode 下使用2、我们在vim启动程序所在目录下,我们看到了我们刚刚保存的hello.c好了,上节的内容我们就说到这里。下面进入下一节。3、better,Better~首先我在这里先说几点概念,vim中的所有命令都是在Normal mode 下使用的。在windows 下我们已经习惯了ctrl+x键为功能键的情况,比如我们要复制就可以用ctrl + c ,我们要全选我们就要使用ctrl + a .而在vim下所有的键在Normal mode下都是命令,这一点我们一定要深入理解。若想知道当前使用的什么mode 我们可以看下程序左下角的文字提示,如果不懂,就多按几次Esc键,这们我们就回到了Normal mode 下。在Normal mode 下我们可以使用我们想使用的任何命令。4、我继续用刚刚说的hello.c为例来进行说明。首先我们要熟悉使用hjkl这几个功能键,这几个键是用来移动光标的,当然你也可以使用↑↓←→但是我还是比较推荐hjkl这几个h是左方向键←j是下方向键↓ 有没有发现j有点像↓k是上方向键↑l是右方向键→好了希望大家多敲点文字来练习使用hjkl希望大家练习的时间在5分钟左右。因为只有熟悉才能生巧。注意练习的时候 ,光标是进行移动 的5、好了再让我们学习一些命令吧,我们知道可以由Normal mode进入Insert mode .vim有多种Insert mode,就让我们一起来认识了解下吧。这也是我们这节课的核心,每天我们只学习一点,这样我们每天就会有进步,不要贪多,熟能生巧。a → 在光标后插入o → 在当前行后插入一个新行 这个是小写的英文oO → 在当前行前插入一个新行 这个是大写的字母Ocw → 替换从光标所在位置后到一个单词结尾的字符这几种插入命令都是在Normal mode下使用的。无论选择上面的哪 一种我们都进入了Insert mode 如果我们要使用其它的Insert mode 我们需要先用Esc返回到Normal mode。希望大家多练习下,最起码一个命令二遍吧,下节课开始的时候 ,我还要当大家练习 些命令。
以上就是专题栏小编带来的vim教程,更多教程请看“http://www.zhuantilan.com/zt/vim/”

Q3:vim编辑器命令

如果想获得光标所在行的行号,用 line(.)。如果是想获得列号是 col(.)。
map 的时候也许 execute 这个命令会比较有用。详见 :h 的说明。
如果楼主可以举个比较具体的例子,我们可以给你写一个参照。相信楼主看了会知道大概这些东西怎么使。

猜你喜欢

更多