vi 常用命令整理

vi 命令整理

vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

总而言之vi是Linux平台中的一款强大的编辑器。从刚刚入门、上手vi, 到完全熟悉vi,再到能熟练的使用vi编写程序,超过其他编辑器编写的速度还是需要不断的练习vi的快捷命令。

在这里我把vi命令做了简单的分类,因为很多时候需要完成的任务不同,使用的命令集也完全不同。类似在word, gedit下编辑也有不同的(ctrl+?)的快捷操作。

如过你不用vi 那你可以先尝试看下最简单的教程,如果觉得还是不好用,那可以看看我给你的分类

How to reach a higher level(Total Acceleration) ?

1 Moving of the cursor

1.1 基本移动

h : 左移一格
j : 下移一格
k : 上移一格
l : 右移一格

常用操作

(数字n+ 命令)

5 h : 左移5格
5 j : 下移5格
5 k : 上移5格
5 l : 右移5格


1.2 移动到指定字符

(f + 字母('c'))
(F + 字母('c'))

该命令移动光标至本行下一个字母(’c’)处

(t + 字母('c'))
(T + 字母('c'))

该命令移动光标至本行下一个字母(’c’)之前

;

该命令可以重复上一次移动光标命令

eg.

fa: 移动到下一个a处
fb: 移动到下一个b处
; 移动到下一个b处
Fk:移动到上一个k处
; 移动到上一个k处
Ta:移动到下一个b处


1.3 移动到行首位

0

该命令移动光标到行首

^

该命令移动光标到行首(有字符处)

$

该命令移动光标到行尾


1.4 本页中的行移动
注意大小写

    (数字n+ H)

移动光标到本页正数第 n 行

    (数字n+ H)

移动到本页倒数第 n 行

    M

移动到本页中间行

    zz

使光标所在处置于页中部

    zb

使光标所在处置于页底(bottom)部

   zt

使光标所在处置于页顶(top)部


1.5 全文本内移动

   gg

使光标所在处置于全文本顶部

    G

使光标所在处置于全文本底部

   (数字n+G)
   或(冒号:+ 数字n)

使光标所在处置于全文本第n行

   (ctrl+f)

移动至下一页,移动后光标置于页顶部

   (ctrl+b)

移动至下一页,移动后光标置于页底部

``

后退至光标跳转前所在位置

以上命令是很常用的vi光标移动命令,还有一部分不常用的,或者是符合大多数人思考习惯的就没有列出


2 Words Searching & Replacing

2.1 全文查找

('/' + 文字)

查找指定文字

/include

查找全文中的include:
得出结果后有命令:

n

下一个结果

N

上一个结果

多次查找后可用命令

/+上下键

和cmd操作类此,翻看上一条查找


2.2 单行替换

(冒号:+ s + / + word1 + / + word2 +/)

替换本行中的第一个 word1 为 word2
eg.

:s/include/import/

替换光标行处的第一个include 为import

(冒号:+ s + / + word1 + / + word2 +/ + g)

替换本行中的所有 word1 为 word2


2.3 多行替换

(冒号:+ 数字n + 逗号, + $ +s + / + word1 + / + word2 +/ + g)

替换本行中的所有 word1 为 word2

eg.

:0, $s/include/import/g

替换从第0行到结束(也就是全文)的include为import

tips
若想要先搜索word1再将其替换为word2可以直接在无word1的行使用单行替换

s:/word1/word2

命令会搜索word1 然后可以用n, N移动至想要替换的地方使用命令

冒号:

即可

代替了ctrl+f的功能,操作起来也很方便


3 Words Competing

插入模式下

3.1 自动补全

Ctrl+P
Ctrl+N

从缓存中调出可补全的单词,此时仍用这两条命令可以上下选择

3.2 智能补全(Python)
类似IDE的补全功能,配置上需要按照语言来区分。这里给出了Python智能补全的方法链接:

python的智能补全教程

其他语言的补全我会慢慢的放到文章中


4 Common Operation

4.1 单行操作

数字n + x

删除光标后n个字符

d0

删除本行光标前所有内容

d$

删除本行光标后所有内容


4.2 多行操作

:n1,n2 co n3

将n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3

将n1行到n2行之间的内容移至到第n3行下

:n1,n2 d

将n1行到n2行之间的内容删除

数字n + yy

复制从所在行开始的n行

数字n + dd

剪切从所在行开始的n行

    p

从所在行的下一行开始粘贴


4.3 撤销操作

  u

撤销上一步

ctrl +r

取消上一个撤销

4.4 Visual 模式

v

在普通模式下进入Visual模式——类似鼠标拖动选中

选好以后可以进行如 d, y ,p 等单行操作

4.5 Visual Block 模式

Ctrl + v

然后类似鼠标框选选中,选中的区域可以进行d(删除)操作,
(大写I)多行插入,插入操作后esc退出Visual Block模式后可以看到效果。这个也很常用


以上也基本是vi快速操作的一些必备(背)的命令,vi还有很多很多的操作和命令,但是很多命令在实践中运用机会比较少,如果想要看更多的vi命令可以参考

vi命令大全

常用vi命令

这里写得更加详细,但是想成为vi高级编程者,不是把这些命令全部背下来,而是要熟练应用其中的一部分完成高效和快速的编程

当然我也在努力熟练中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值