四 Vi And Vim 简单使用

《四 Vi And Vim 简单使用》 目录说明

1 Vi 和 Vim 简介

vi编辑器是 Unix 和 Linux 系统中标配的纯文本编辑器,相当于 windows 系统中的记事本,但是在功能上要甩记事本几条街。 而 Vim 则是 Vi 的加强版,具有代码补全、错误提示及高亮显示等丰富的功能。

2 Vi 的使用

2.1 Vi 的三种模式

【1】一般模式

当使用 vi 处理一个文件时,打开文件就是处于一般模式。我们只可以移动光标、删除字符、复制和粘贴操作,但无法对文件进行编辑。

【2】编辑模式

在一般模式下,按下『i , I , o , O , a , A , r , R』中任意一个按键即可进行编辑模式,进入编辑模式的标志为 terminal 的左下角会出现【INSERT 或 REPLACE】,按下『ESC』后会退出编辑模式进入一般模式

【3】底行命令模式

在一般模式下,按下『 : , / , ? 』中任意一个按键进入底行命令模式,在该模式下可以对文件进行保存、退出以及将文件另存为等操作,还可以设置编辑环境,如列出行号等。

2.2 Vi 三种模式下常用的操作

【1】一般模式

<a>移动光标的方法</a>

操作说明
h 或 向左方向键(←)光标向左移动一个字符
j 或 向下方向键(↓)光标向下移动一个字符
k 或 向上方向键(↑)光标向上移动一个字符
l 或 向右方向键(→)光标向右移动一个字符
[Ctrl] + [f]屏幕『向下』移动一页,相当于 [Page Down]按键
[Ctrl] + [b]屏幕『向上』移动一页,相当于 [Page Up] 按键
0移动到这一行的最前面字符处
$移动到这一行的最后面字符处
G移动到这个文件的最后一行
gg移动到这个档案的第一行
n+<ENTER>n 为数字。光标向下移动 n 行

<a>搜索/替换内容</a>

操作说明
/word向光标之下查找一个字符串名称为 word 的字符串。
?word向光标之上查找一个字符串名称为 word 的字符串
n正向进行上一次的查找动作
N反响进行上一次的查找动作
:n1,n2s/word1/word2/g在第 n1 与 n2 行之间查找 word1 这个字符串,并将该字符串替代为 word2
:1,$s/word1/word2/g从第一行到最后一行查找 word1 字符串,并将该字符串替代为word2
:1,$s/word1/word2/gc从第一行到最后一行查找 word1 字符串,并将该字符串替代为word2 !且在替代前显示提示字符给使用者确认 (conform) 是否需要替代

<a>删除、复制、赞贴</a>

操作说明
x, X在一行字当中,x 为向后删除一个字符, X为向前删除一个字符
nx连续向后删除 n 个字符
dd删除游标所在的那一整列
ndd删除光标所在的向下 n 列
yy复制游标所在的那一行
nyy复制光标所在的向下 n 列
p,Pp 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行
u复原前一个动作(撤销)
[Ctrl] + r重做上一个动作 (反撤销)
.重复前一个动作

【2】编辑模式

操作说明
i, I插入:在目前的光标所在处插入输入之文字,已存在的文字会向后退; 其中, i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个非空格符处开始插入』
a, Aa 为『从目前光标所在的下一个字符处开始插入』, A 为『从光标所在行的最后一个字符处开始插入』
o, Oo 为『在目前光标所在的下一行处插入新的一行』; O 为在目前光标所在处的上一行插入新的一行
r, R取代:r 会取代光标所在的那一个字符;R 会一直取代光标所在的文字,直到按下 ESC 为止
Esc退出编辑模式,回到一般模式中

【3】底行命令模式

操作说明
:w保存
:w!强制保存
:q退出不保存
:q!强制退出不保存
:wq!强制保存退出
:w [filename]另存为
:set nu显示行号
:set nonu取消行号

3 Vim 额外的功能

3.1 vim 简单说明

目前大部份的 distribution 中的 vi 都已经被 vim 所取代,如果您使用 vi 后,发现右下角会显示当前光标所在的行号,那么您当前使用的已经是vim。

《四 Vi And Vim 简单使用》 vim

其中:

  • 左下角的 76L表示整个文件共有76行,2705个字符。
  • 右下角的 [ 7,11 ]表示当前光标所在的位置,Top 表示当前这个画面是整个文件的最上方。

3.2 vim 额外功能

【1】区块选择

操作说明
v字符选择,将光标经过的字符选中
V行选择,将光标经过的行选中
[Ctrl] + v区块选择
y将选中的字符复制
d将选中的字符删除

【2】多窗口功能

先看看多窗口长什么样

《四 Vi And Vim 简单使用》 三窗口

操作说明
:sp [fileName]将一个窗口分屏,如果有加 fileName, 表示开启一个新档案,否则显示同一个文件内容(同步显示)
[ctrl]+wj先按下 [ctrl] 不放, 再按下 w 后放开所有的按键,然后再按下 j ,则光标可移动到下方的窗口
[ctrl]+wk同上,不过光标移动到上面的窗口。
[ctrl]+wq结束当前窗口,先按住[ctrl]+w 再按 q

4 环境设置

操作说明
:set nu / nonu显示行号/取消行号
:set autoindent / noautondent是否自动缩排(换行后和上一行的第一个非空格符对齐)
:set backup / nobackup自动备份,当对一个文件(fileName)进行修改时,这个文件的源文件将会另存为 (fileName~)备份下来。
:set backspace=(0,1,2)进入编辑模式后,设置退格键(Backspace),当 backspace = 2 时,可以删除任意值,当 backspace=1或0时,只能删除刚刚输入的值,不能删除原本存在的字符。
:set all查看当前的环境设置参数
:syntax off / on是否根据程序的相关语法显示不同的颜色
    原文作者:司鑫
    原文地址: https://www.jianshu.com/p/518cf9bbb22b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞