linux-vim命令

摘抄自: http://linux.vbird.org/linux_basic/

作者: 鸟哥的 Linux 私房菜

 

vi 编辑器有 3 种基本工作模式

 

vi filename

打开已存在的文件或者新建一个文件

 

vi +行号  filename

在进入 vi 后,光标处于文件中特定的某行上,可在 vi 命令上加上行号和文件名

 

vi + filename

如果希望在进入 vi 之后光标处于文件最末行,则只需去掉命令中+后面的数字 n 即可

 

vi +/匹配的关键字 filename

进入 vi 后,光标就处于文件中第一个与指定模式串相匹配的那行上

 

vi *.filename

使用 vi 可以同时编辑多个文件,只要在进入 vi 的命令中写入所要操作的文件即可,还可以使用通配符

 

插入文本命令:i 和 I

i 命令将文本插入到光标所在位置前

I 命令将文本插入当前行的行首。

 

追加文本命令:a 和 A

a 命令将新文本追加到光标当前所在位置之后

A 命令将新文本追加到所在行的行尾。

 

空行插入命令:o 和 O

o 命令将在光标所在行的下面插入一个空行,并将光标置于该行的行首。

O 命令在光标所在行的上面插入一个空行,并将光标置于该行的行首。

 

vi文本删除命令(删除文件内容)

文本删除命令

命令的意义

文本删除命令

命令的意义

x

删除光标处的字符

d(

删除到上一句开始的所有字符

X

删除光标前面的字符

d)

删除到下一句开始的所有字符

dd

删除光标所在的整行

d{

删除到上一段开始的所有字符

D 或 d$

删除从光标所在处开始到行尾 的内容

d}

删除到下一段开始的所有字符

d0

删除从光标前一个字符开始到 行首的内容

d<CR>

删除包括当前行在内的两行字符

dw

删除一个单词

 

 

 

vi文本复制命令(复制文件内容)

文本复制命令

命令的意义

文本复制命令

命令的意义

yy

复制光标所在的整行

y{

复制到上一段的开始

Y 或 y$

复制从光标所在处开始到行尾的内容

y}

复制到下一段的开始

y0

复制从光标前一个字符开始到行首的内容

y<CR>

复制包括当前行在内的两行内容

y(

复制到上一句的开始

yw

复制一个单词

y)

复制到下一句的开始

 

 

 

1. 文本粘贴命令

  • p 命令:粘贴命令,粘贴当前缓冲区中的内容。

2. 文本选择命令

  • v 命令:在命令模式下进行文本选择。在需要选择的文本的起始处按下 v 键进入块选择模式,然后移动光标到块尾处。这之间的部分被高亮显示,表示被选中。
  • V 命令:在命令模式下按行进行文本选择。在需要选择的文本的第一行按下 V 键,然后移动光标到块的最后一行。这之间的所有行被高亮显示,表示被选中。

 

vi撤销命令(u和U),撤销上一次的操作

撤销命令分为以下两种。

  • u 命令:该命令撤销上一次所做的操作。多次使用 u 命令会一步一步依次撤销之前做过的操作(在一次切换到文本输入模式中输入的所有文本算一次操作)。
  • U 命令:该命令会一次性撤销自上次移动到当前行以来做过的所有操作,再使用一次 U 命令则撤销之前的 U 命令所做的操作,恢复被撤销的内容。

 

vi重复命令(重复上次操作)

重复命令只能在命令模式下工作,在该模式下按下.键

 

vi退出命令

:q

当用户不清楚自己当前编译的文件是否被修改时,可以使用该命令进行测试,而不必担心因为误操作导致文件数据丢失。

 

:q!

该命令不论文件是否改变都会强行退出 vi 编辑器,对于此命令用户应当慎用。

 

:w  新文件名

vi 保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用 w 命令时,可以再给当前编辑文件起一个新的文件名。这个功能相当于将该文件另存为为一个新的文件。

 

:w!  新文件名

说明:该命令与:w命令相同,所不同的是,即使指定的新文件存在,vi 编辑器也会用当前编辑文件对其进行替换,而不再询问用户。

 

:wq

vi 将先保存文件,然后退出 vi 返回到 shell。如果当前文件尚未取名,则需要现指定一个文件名。

 

:x

说明:若当前编辑文件曾被修改过,则 vi 会保存该文件。否则 vi 直接退出,不保存该文件。

 

vi字符替换命令(r和R命令)

1. r 命令

该命令将当前光标所指的字符替换为提供的字符。可以在该命令之前加上数字 n,表示将从当前字符开始的 n 个字符替换为提供的字符

2. R命令

该命令会让 vi 进入 replace 模式。在此模式下,每个输入的字符都会替换当前光标下的字符,直到输入 <Esc> 结束该模式。

 

vi文本跨行移动(m命令)

vi 编辑器使用 m 命令实现文本的跨行移动。该命令的使用方法为:imj

表示把第 i 行移至第 j 行的下方。

 

vi屏幕滚动命令(滚屏命令)

在命令模式下和文本输入模式下均可以使用滚屏和分页命令。滚屏和分页命令如下表所示。

 

滚屏和分页命令

命令意义

Ctrl+u

将屏幕向前(文件头方向)翻滚半屏

Ctrl+d

将屏幕向后(文件尾方向)翻滚半屏

Ctrl+f

将屏幕向文件尾方向翻滚一整屏

Ctrl+b

将屏幕向文件首方向翻滚一整屏

 

可以在滚屏和分页命令之前加上一个数字 n,表示屏幕向前或向后翻滚 n 行,或者屏幕向前或向后移动 n 页。这些设置会被 vi 编辑器记住,下次用户在使用滚屏和分页命令时,还会滚动和上次设置相同的行数或者页数。

 

vi字符串检索(查找)命令

查找命令有 5 种

/string

/命令从光标处开始向后寻找字符串 string。

 

?string

? 命令从光标处开始向前寻找字符串 string。

 

n 命令重复上一条检索命令。

 

N 命令重复上一条检索命令,但检索方向改变。例如上次的检索命令是向前检索,那么此次检索的方向是向后;如果上次的检索命令是向后检索,那么此次检索的方向是向前。

 

g/string

检索 string。g/命令使光标停止在第一个检索到的 string 串的行首。

 

vi字符串替换命令

[range]s/s1/s2/ [option]

  • [range] 表示检索范围,省略时表示当前行。下面是一些检索范围的例子。
    • 1,10表示从第 1 行到 10 行。
    • %表示整个文件,同1, $。
    • . ,$从当前行到文件尾。
  • s 为替换命令。
  • s1 要被替换的串,s2 为替换的串。
  • option 表示选项:
    • /g表示在全局文件中进行替换。
    • /c表示在每次替换之前需要用户进行确认。
    • 省略时仅对每行第一个匹配串进行替换。

 

vi窗口切分命令(split命令)

在末行模式中,输入 split 命令即可实现窗口的切分,其命令格式 : split文件名

split 也可简写为 sp。这时窗口切分为上下两部分,下半部分对应原来的文件,上半部分对应新打开的文件。

 

有时用户需要在多窗口之间进行切换,vi 编辑器提供一组命令支持用户切换多个窗口,其命令如下表所示。

 

切换命令

命令的意义

Ctrl+w,然后 j

移动光标到下面的一个窗口

Ctrl+w,然后 k

移动光标到上面的一个窗口

Ctrl+w,然后 q

关闭当前窗口

Ctrl+w,然后 w

移动光标到另一个窗口

 

vi属性设置命令

:set nu (nonu)

该命令显示行号(或者不显示行号)。

 

:set hlsearch (nohlsearch)

该命令设定搜寻字符串反白显示(或者不反白显示)。

 

:set all

该命令显示所有的选项。

 

:syntax on (off)

该命令实现程序语法高亮显示(或者不高亮显示)。

 

:set ignorecase(noignorecase)

该命令忽略大小写(或者区分大小写)。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章