1:: 这是Vi的命令执行界面(最后行方式命令 )
set number //显示行号
all:列出所有选项设置情况
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
n:光标移至第n行首 (可以进行++++,------运算)
2:命令模式下
移动光标类命令
字符
h :光标左移一个字符
l :光标右移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
字
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
段落
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
·屏幕
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+b;向文件首翻一屏
Ctrl+f:向文件尾翻一屏
特殊
Backspace:光标左移一个字符 (跨行)
Enter :光标下移一行
命令模式删除:
删除一行,执行两次d或一次D
删除一个字符,x
3:编辑模式下
i :光标前
I :行首
a:光标后
A:当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键(顺序替换多个)
s:从当前光标位置处开始,以输入的文本替代指定数目的字符 例如:2s替换两个字符
S:删除指定数目的行,并以所输入文本代替之 例如:2S替换两行
(nCC:修改指定数目的行 和上面的功能类似)
ncw或nCW:修改指定数目的字 例如:2cw替换 两个组合字 中国人 和平 kk
删除命令
x或X:删除一个字符,x删除光标后的,而X删除光标前的
ndw或ndW:删除光标处开始及其后的n-1个字 《n为参数》
d0:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行 《多行删除功能》 和删除功能的差异
4:搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2:将当前行中第一个p1均用p2替代
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
下面的命令把整个文件中的old的每次出现都改为new:
:1, $s / old / new / g
我们知道%等价于1,$,所以上行命令也可以这样写:
:% s / old / new / g
确认替换
使用搜索替换命令有时候会出错,而得到不想要的结果。所以小心并确认文件中需要修改的内容是一个明智的做法
在替换命令尾部加上c (confirm用于确认),在替换每个old前都会提示并确认:
:1, 30 s /old/new/ gc
将会出现提示replace with hehe (y/n/a/q/l/^E/^Y)?
y替换,n不替换,a替换所有,q放弃,l替换第一个并进入插入模式,^E和^Y是提示你用Ctrl+e或Ctrl+y来滚动屏幕的。
上下文相关替换
除了直接使用一个单词(或短语)替换另一个,还有稍微复杂的全局替换语法。这些语法可以对一个模式进行搜索,一旦找到含有模式的行,就可以使用不同与模式的串进行替换,我们把这种替换叫做上下文相关替换。
语法格式如下:
:g /pattern/s/old/new/g 将会把包含pattern的行中,把所有old替换为new
第一个g表示是在文件的所有行上执行的命令,模式pattern识别要发生替换的行。在那些包含模式pattern的行上,ex将把old替换(s)为new。最后的g表示在该行上进行全部替换。
如果用来进行搜索的模式与想要修改的模式相同,那么就不必重复它:
:g/string/s//new/g 等价于 :g/string/s/string/new/g
还要注意:
:g/string/s//new/g 也等价于 :% s/string/new/g
5:文件操作命令
vi filename 打开一个文件,所涉及到的模式open edit recover quit abort
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
:w :保存当前文件
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:e filename:打开文件filename进行编辑 《在当前模式下 还可以继续打开其他的文件 》
: e ! 重新编辑当前文件,忽略所有的修改
:n1,n2 co n3 将 n1 行到 n2 行之间的内容拷贝到第 n3 行下。
:n1,n2 m m3 将 n1 行到 n2 行之间的内容移至第 n3 行下。
:n1,n2 d 将 n1 行到 n2 行之间的内容删除。
:n1,n2 w filename 将 n1 行到 n2 行之间的内容保存到文件 filename 中
:nr <文件> 把<文件>插入到第n行
:so <文件> 读取<文件>,再执行文件里面的命令(文件中的命令应该都是一些ex命令)
:w >> <文件> 添加到<文件>末尾. 也可以使用行号
:n1,n2 w ! Command 将文件中n1行到n2行的内容作为 Command的输入并执行之,
若不指定 n1、n2,则将整个文件内容作为 Command 的输入。
:r ! Command 将命令 Command 的输出结果放到当前行。
:! command:执行shell命令command
6:寄存器操作
传统软件的复制(copy),剪切(cut),粘贴(paste),在Vim中对应的是yank,delete和put。
在Vim中的复制,删除,替换等操作的临时内容,都会存储在寄存器中。
无名寄存器("") 复制专用寄存器("0) 删除专用寄存器("1-"9) 命名寄存器("a-"z) 黑洞寄存器("_d) +操作系统的剪贴板
:reg 显示所有当前的registers
yy 将当前行复制到缓冲区
yw 将当前单词复制到缓冲区
y1 将光标处的一个字符复制到缓冲区
p 将缓冲区的信息粘贴到光标的后面
"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
例如:ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
7:多个文件操作
在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件;
vim已经启动:open file :e file
同时显示多个文件: :split :vsplit
在文件之间切换: 文件间切换 Ctrl+6—下一个文件 :bn—下一个文件 :bp—上一个文件
在窗格间切换的方法 Ctrl+w+方向键——切换到前/下/上/后一个窗格 Ctrl+w+h/j/k/l ——同上 Ctrl+ww——依次向后切换到下一个窗格中
在多个个文件之间复制:
1. 在第一个文件中使用可视模式,就是VISUAL,然后选中要复制的文本,执行命令 "+y,或者“*y这就把内容复制到剪贴板。这里可以三个字符,而且一定要在可视化模式中,并存选中你要复制的代码以后,输入上面的命令,这时在VIM中 的下面并不显示你输入的这条命令。
2.在另一个文件中,执行命令"+p,或者"*p。就能复制过来,+指的是寄存器的意思,似乎也是操作系统的剪贴板,复制了之后,在别的地方,例如文本文件里就可以用ctrl+v了。这里也是在可视模式下,不需要输入冒号:,这里输入的命令也是看不到的。
相关推荐
vim编辑器中常用的命令总结,以图片和树状结构的形式完美的总结了vim中常用命令。如:查找名,修改命令,删除命令
对vim操作的命令 分类总结 1.打开文件操作... 2.存储及退出文件... 3.模式转换... 4.光标移动... 5.插入... 6.删除... 7.复制和黏贴... 8.查找... 9.替换... 10.编辑多个文件... 11.其他命令... 12分屏操作... 13 ...
这是一个linux下的超级强大的编辑器vim的使用入门,ppt格式。
总结了一些常用的vim命令,使用这些快捷命令可以简化和加快vim中的文本编辑。比如复制,粘贴,删除命令。
供IC设计者或使用Linux系统做项目,使用vim语句打开或编辑文件,入门以及总结学习使用
前言 作为开发者,有两个顶级编辑器,即使你不用,你也一定要知道它们是什么—— ·编辑器之神——Vim ·神的编辑器——Emacs 所以本文就来介绍vim以及它的...用户刚刚启动vim编辑文件时,便进入了命令模式 此
Linux vim实验报告
关于文本编辑器 vim 的使用 【注】里面的内容和自己跟着敲敲,文件名字换成自己的,可以套用我的模板和前言结论,代码最好跟着敲敲,里面的操作步骤我也说的非常明白。 1.vi 的三种模式:编辑模式,命令模式,最后行...
本文档主要总结vim编辑器重点知识内容,第一部分:vi介绍,第二部分:vim三种模式(命令模式、末行模式、编辑模式),第三部分:命令模式(光标移动,复制操作,剪切/删除操作,撤销/恢复操作,光标的快速移动),第...
vi 是visual edit 的缩写 文本编辑器是所有计算机系统中最常用的一...UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!
本文档是常用vim编辑器的一个总结,都是在写代码的时候经常用到的命令的总结。
今天在尝试修改Docker容器内文件时, 发现容器内并没有vim命令, 返回了: vim my.cnf bash: vim: command not found 本篇文章就来记录下如何解决此问题. 解决方案 仍然在docker容器内部, 首先运行以下命令, 并耐心...
vim 的常用命令。适合刚刚学习linux的新手,这里基本上总结了vim的最常用的命令
文档内包括常用Linux命令,vim编辑器,以及一些系统命令
vim编辑器介绍1.1 查看下vim在哪1.2 介绍一个技巧1.2 vim 的前身 vi2.vim操作2.1 vim的种模式2.2 vim命令操作技巧2.1 几种插入方式2.2 光标定位2.3 vim 文本编辑3. vim的视图模式批量注释和取消注释4. vim的命令行...
自己做的linux基础相关的知识点的总结,里面有各种博客的链接,细致讲解每一个知识点,适合非计算机专业学习,考研复习,面试前准备等
linux常用命令:基本命令、权限管理命令、用户管理命令、yum命令、ftp服务器、vim编辑管理等
VI编辑器命令大全,包括了VI的基本命令,用表格形式给出,便于查阅。