vi、vim编辑器

所有的 Unix Like 系统都会内置 vi 文书编辑器,vim 可以看作 vi 的进阶版本。

vi编辑器的基本使用

基本上 vi 共分为三种模式 这三种模式分别是:
一般指令模式 (command mode):以 vi 打开一个文件就直接进入一般指令模式了。
编辑模式 (insert mode):在一般指令模式中可以进行删除、复制、粘贴等等的动作,但是却无法编辑文件内容的! 要等到你按下“i, I, o, O, a, A, r, R”等任何一个字母之后才会进入编辑模式。
命令行命令模式 (command-line mode):在一般模式当中,输入“ : / ? ”三个中的任何一个按钮,就可以将光标移动到最下面那一列,这就是命令行模式。
三者的关系如下图:
vi三种模式的关系
当你使用vi来打开一个文件时,如果文件不存在,则文件会被创建。
命令:/bin/vi test.txt

vi的常用按键如下:

一般模式

常用一般模式下按钮说明:

按键作用
h 或 向左方向键(←)光标向左移动一个字符
j 或 向左方向键(↓)光标向下移动一个字符
k 或 向上方向键(↑)光标向上移动一个字符
l 或 向右方向键(→)光标向右移动一个字符
x, X在一列字当中,x 为向后删除一个字符 (相当于 [del] 按键),X 为向前删除一个字符
dd删除光标所在的那一整列
yy复制光标所在的那一列
p, Pp 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列
u复原前一个动作
[Ctrl]+r重做上一个动作
.小数点!意思是重复前一个动作的意思
H光标移动到这个屏幕的最上方那一行的第一个字符
M光标移动到这个屏幕的中央那一行的第一个字符
L光标移动到这个屏幕的最下方那一行的第一个字符
G移动到这个文件的最后一行

编辑模式

一般指令模式切换到编辑模式

按键作用
i, Ii 为“从目前光标所在处插入”, I 为“在目前所在行的第一个非空白字符处开始插入”。
a, Aa 为“从目前光标所在的下一个字符处开始插入”, A 为“从光标所在行的最后一个字符处开始插入”
o, Oo 为“在目前光标所在的下一行处插入新的一行”; O为在目前光标所在处的上一行插入新的一行
r, Rr 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止
[Esc]退出编辑模式,回到一般指令模式中

上面这些按键中,在 vi 画面的左下角处会出现“–INSERT–”或“–REPLACE–”的字样。

命令行命令模式

一般指令模式切换到命令行界面的可用按钮说明:
其中w,q指令后可加!进行强制操作,但能否执行得看用户对文件的执行权限。

按键作用
:w将编辑的数据写入硬盘文件中
:q离开vi
ZZ
:w [filename]将编辑的数据储存成另一个文件
:r [filename]在编辑的数据中,读入另一个文件的数据。亦即将 “filename” 这个文件内容加到光标所在列后面
:! command暂时离开 vi 到命令行界面下执行 command 的显示结果!例:“:! ls /home”
:set nu显示行号,设置之后,会在每一列的字首显示该列的行号
:set nonu与 set nu 相反,为取消行号

vim编辑器的使用

目前大部分的 distributions 都以 vim 取代 vi 的功能了!如果你使用 vi 后,却看到画面的右下角有显示目前光标所在的行列号码,那么你的 vi 已经被 vim 所取代。

1.多文件编辑功能

我们可以使用 vim 后面同时接好几个文件来同时打开喔!相关的按键有:

多文件编辑的按键
:n编辑下一个文件
:N编辑上一个文件
:files列出目前这个 vim 的打开的所有文件

2.多窗口功能

当我有一个文件非常的大,我查阅到后面的数据时,想要“对照”前面的数据。或者我有两个需要对照着看的文件,不想使用前一小节提到的多文件编辑功能,这就可以使用多窗口功能了。

按键作用
:sp [filename]打开一个新窗口,如果有加 filename, 表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示)
[ctrl]+w+j [ctrl]+w+↓先按下 [ctrl] 不放, 再按下 w 后放开所有的按键,然后再按下 j (或向下方向键),则光标可移动到下方的窗口
[ctrl]+w+k [ctrl]+w+↑同上,不过光标移动到上面的窗口
[ctrl]+w+q:q 结束离开啦!结束下方窗口可以[ctrl]+w+↓ 移动到下方窗口后,按下 :q 即可离开, 也可以按下[ctrl]+w+q
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值