vi/vim

作者: 春天的蜜蜂 | 来源:发表于2017-04-27 16:16 被阅读0次

linux vi vim

vim 命令合集

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)插入模式(Insert mode)底线命令模式(Last line mode)

vi/vim 按键说明

除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。

第一部份:一般模式可用的光标移动、复制粘贴、搜索替换等

移动光标的方法

h 或 向左箭头键(←)光标向左移动一个字符

j 或 向下箭头键(↓)光标向下移动一个字符

k 或 向上箭头键(↑)光标向上移动一个字符

l 或 向右箭头键(→)光标向右移动一个字符

如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!

[Ctrl] + [f]屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)

[Ctrl] + [b]屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)

[Ctrl] + [d]屏幕『向下』移动半页

[Ctrl] + [u]屏幕『向上』移动半页

+光标移动到非空格符的下一行

-光标移动到非空格符的上一行

n那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。

0 或功能键[Home]这是数字『 0 』:移动到这一行的最前面字符处 (常用)

$ 或功能键[End]移动到这一行的最后面字符处(常用)

H光标移动到这个屏幕的最上方那一行的第一个字符

M光标移动到这个屏幕的中央那一行的第一个字符

L光标移动到这个屏幕的最下方那一行的第一个字符

G移动到这个档案的最后一行(常用)

nGn 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)

gg移动到这个档案的第一行,相当于 1G 啊! (常用)

nn 为数字。光标向下移动 n 行(常用)

第二部份:一般模式切换到编辑模式的可用的按钮说明

进入插入或取代的编辑模式

i, I进入插入模式(Insert mode):

i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个非空格符处开始插入』。 (常用)

a, A进入插入模式(Insert mode):

a 为『从目前光标所在的下一个字符处开始插入』, A 为『从光标所在行的最后一个字符处开始插入』。(常用)

o, O进入插入模式(Insert mode):

这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处插入新的一行』; O 为在目前光标所在处的上一行插入新的一行!(常用)

r, R进入取代模式(Replace mode):

r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)

上面这些按键中,在 vi 画面的左下角处会出现『--INSERT--』或『--REPLACE--』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔!

[Esc]退出编辑模式,回到一般模式中(常用)

第三部份:一般模式切换到指令行模式的可用的按钮说明

指令行的储存、离开等指令

:w将编辑的数据写入硬盘档案中(常用)

:w!若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!

:q离开 vi (常用)

:q!若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。

注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~

:wq储存后离开,若为 :wq! 则为强制储存后离开 (常用)

ZZ这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!

:w [filename]将编辑的数据储存成另一个档案(类似另存新档)

:r [filename]在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面

:n1,n2 w [filename]将 n1 到 n2 的内容储存成 filename 这个档案。

:! command暂时离开 vi 到指令行模式下执行 command 的显示结果!例如

『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

vim 环境的变更

:set nu显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu与 set nu 相反,为取消行号!

特别注意,在 vi/vim 中,数字是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。

举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前,如我要向下移动 20 行呢?那就是『20j』或者是『20↓』即可。

相关文章

  • vim编辑器——Linux神器的操作手册

    目标 01. vi 简介 1.1 学习 vi 的目的 1.2 vi 和 vim vi vim vim = vi i...

  • Vim

    Vim Vim和Vi 在Linux发行版中, 直接把Vi做成Vim的软连接 Vi Vi是Visual Interf...

  • 编辑器之神 - vi/vim

    01. vi/vim 简介 1.1 vi 和 vim 在很多 Linux 发行版中,直接把 vi 做成 vim 的...

  • vi工具

    vi、vim是什么,有什么区别? vi、vim是Linux在命令界面下的文本编辑器,vim是vi的高级版本,vim...

  • vim的相关命令及使用

    vi 和 vim 在很多Linux发行版中,直接把 vi 做成 vim 的软链接。 vi vi 是 Visual ...

  • vim基础操作

    vim: filetype=markdown vi / vim 基本操作 vi/vim 共分为三种模式:分别是命令...

  • vim编辑器

    vi(vim)简介 vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。...

  • vim使用详细说明

    vim 介绍: vim的前身是 vi(Visual Interface), 文本编辑器。 vi/vim只能编辑文本...

  • vim使用笔记

    vim 介绍: vim的前身是 vi(Visual Interface), 文本编辑器。 vi/vim只能编辑文本...

  • vim操作

    vi: Visual Interface vim: VI iMproved 全屏编辑器, vim模式: 编辑模式(...

网友评论

      本文标题:vi/vim

      本文链接:https://www.haomeiwen.com/subject/qesvzttx.html