例如,如果您要在第一行新增一行,您可以这样做:
1 按下 Esc 键,进入命令模式。
2 输入 gg 命令,将光标移动到文件的第一行。
3 输入 o 命令,新增一行。
4 按下 Esc 键,进入命令模式。
在插入模式下,您可以输入文本,新增的行就会包含您输入的文本。如果您希望在新增行的后面继续输入文本,可以按下 Esc 键,然后在命令模式下使用光标移动命令移动到下一行,再按下 i 键进入插入模式。
需要注意的是,如果您在第一行已经有了文本,那么新增的行将会出现在第二行,而不是第一行。如果您希望在第一行新增一行,可以使用 O 命令,该命令会在第一行的上面新增一行。
vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块 *** 作等众多文本 *** 作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 vi没有菜单,只有命令,且命令繁多。
1、你需要先做的是vi编辑器显示行号,命令模式下,输入 :set number
按esc进入命令模式
持久化行号:在/etc/vimrc(/etc/virc)文件中行首或者行尾新建一行然后写入set number
这样就清楚知道行号啦!
2、移动光标
键盘的上,下,左,右就可以直接移动光标
M(大写): 光标移动到中间行 ,屏幕的中间行
L(大写): 光标移动到屏幕最后一行行首
G(大写): 移动到指定行,行号+G
3、复制粘帖
yy: 复制当前行,n yy 复制 n 行
p: 在光标所在位置向下新开辟一行,粘贴
4、正确的步骤是:
按下v,左下角出现可视模式
光标移动将复制的选中
按一下 “y(小写)”,是一下就够了,左下角出现
将光标移动到需要粘帖的地方,按一下“p”
ok,图中虚线下面就是复制粘帖的内容。
Vim 里有几种类型的移动命令,概念比较容易混淆。
移动一般是指移动光标的位置。比如最基本的 j, k 就是移动命令,Vim 术语是“移动(Motion)”。对于比较长的行,在 Vim 里可能显示不下,根据是否自动换行(选项 wrap 控制),这些行可能会显示成许多行。这时 显示行(display line) 和 逻辑行(line) 就有可能不一致,j,k 是针对逻辑行移动的(因此可能看上去像是移动一个自然段),gj, gk 是针对显示行。
另一种“移动”是指移动屏幕,它不移动光标本身。而是类似上下翻页。比如 <ctrl-F>和 <ctrl-b>分别对应向下和向上翻页,是您说的 <ctrl-e>也是这类命令。Vim 术语叫“滚动(Scroll)”。
您既然这么问,那么所谓的“移动文本”,可能不是上面两种意思,而是交换当前行和其它行的位置。这种改变文本内容的行为,在 Vim 里都属于“编辑(Edit)”。
已经有人给出的 ddP 大约是对的,但应该是 ddkP。dd 是删除当前(逻辑)行。这时由于下面的行会向上补,光标实际会落到这行下面那行,因此在 P (粘贴)之前需要用 k 先向上先移动一下。
另外 Vim 命令
:move
是移动文本的,可以简写成 :m,m 后面可跟一个行号,表示移动到指定行号之后。行号也可以用相对行号,比如 +2, -4 之类的。这样
:m -2
就是把当前行移动到此行向上数 2 行之后。实际结果就是向上移动了一行。
用命令一般没 ddkP 方便,但好处是如果你想把连续几行向前挪,可以先选中要挪的部分,然后按 : 并输入上面的命令,这样 Vim 会自动变成:
:'<,'>m -2
m 前面那些是用来表示选中范围的。这个命令的实际效果是把选中的那些行一并向上移动一行。
由于 Vim 大部分命令都是针对逻辑行的,因此可以先关掉自动换行(方法是 :set nowrap),避免产生混乱。
如果您的需要不是这样,可以追问举例具体描述一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)