Linux 【Vim命令】文本编辑器

Vim 是从 vi 发展出来的一个文本编辑器;代码补全、编译及错误跳转等方便编程的功能特别丰富。

#下载安装
yum  -y  install  vim

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。

以下是普通模式常用的几个命令:

  • i -- 切换到输入模式,在光标当前位置开始输入文本。
  • x -- 删除当前光标所在处的字符。
  • : -- 切换到底线命令模式,以在最底一行输入命令。
  • a -- 进入插入模式,在光标下一个位置开始输入文本。
  • o:在当前行的下方插入一个新行,并进入插入模式。
  • O -- 在当前行的上方插入一个新行,并进入插入模式。
  • p(小写) -- 粘贴剪贴板内容到光标下方。
  • P(大写)-- 粘贴剪贴板内容到光标上方。
  • u -- 撤销上一次操作。
  • Ctrl + r -- 重做上一次撤销的操作。
  • :w -- 保存文件。
  • :q -- 退出 Vim 编辑器。
  • :q! -- 强制退出Vim 编辑器,不保存修改。

若想要编辑文本,只需要启动 Vim,进入了命令模式,按下 i 切换到输入模式即可。

命令模式只有一些最基本的命令,因此仍要依靠底线命令行模式输入更多命令。

ctrl+v     #进入可视块模式
shift+v    #进入可视行模式
#可视模式下,d:删除;y:复制;p:粘贴

输入模式

在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下 :(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • :w:保存文件。
  • :q:退出 Vim 编辑器。
  • :wq:保存文件并退出 Vim 编辑器。
  • :q!:强制退出Vim编辑器,不保存修改。

按 ESC 键可随时退出底线命令模式。

#全局替换:s:swich:替换;g:全局
#语法:范围 s/原内容/新内容/选项

#1到5行,把所有 a_str 替换成 b_str
:1,5  s/a_str/b_str/g

#替换行内关键字;%表示替换所有行,没有g只替换每行第一个
:%s/a_str/b_str/

#i不区分大小写
s/a_str/b_str/gi

#将文件另存(另存为):覆盖另存
:w 文件路径
#把当前文件 另存为/tmp下的a.txt
:w /tmp/a.txt
#把当前文件的第2-5行 另存为/tmp下的a.txt
:2,5 w /tmp/a.txt

光标移动:

[Ctrl] + [f]

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

[Ctrl] + [b]

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

[Ctrl] + [d]

屏幕『向下』移动半页

[Ctrl] + [u]

屏幕『向上』移动半页

0 或功能键[Home]

这是数字『 0 』:移动到这一行的最前面字符处

$ 或功能键[End]

移动到这一行的最后面字符处(常用)

H

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

M

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

L

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

G

移动到这个档案的最后一行(常用);数字G:移动到第几行

gg

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

搜索替换:

/string

向光标之下寻找一个名称为 string 的字符串。

?string

向光标之上寻找一个字符串名称为 string 的字符串。

n

这个 n 是英文按键。代表重复前一个搜寻的动作。

N

这个 N 是英文按键。为『反向』进行前一个搜寻动作。

全局替换:s:swich 

#语法:范围 s/原内容/新内容/全局
:1,5  s/a_str/b_str/g
#1到5行,把a_str替换成b_str,g:全局

删除复制:

命令模式:下方的删除命令,都带有剪切的意思,可以通过p复制已删除的内容。

x 或 X

x 为向后删除一个字符 (相当于 [del] 按键),

X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)

nx

n 为数字,连续向后删除 n 个字符。

dd

剪切游标所在的那一整行(常用),用 p/P 可以粘贴。

ndd

n 为数字。剪切光标所在的向下 n 行。

d1G

删除光标所在到第一行的所有数据

dG

删除光标所在到最后一行的所有数据

d$

删除游标所在处,到该行的最后一个字符

d0

那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符

yy

复制游标所在的那一行(常用)

nyy

n 为数字。复制光标所在的向下 n 行。

例如 20yy 则是复制 20 行

p 或 P

p 为将已复制的数据在光标下一行贴上;

P 则为贴在游标上一行。

y1G

复制游标所在行到第一行的所有数据

yG

复制游标所在行到最后一行的所有数据

y0

复制光标所在的那个字符到该行行首的所有数据

y$

复制光标所在的那个字符到该行行尾的所有数据

J

将光标所在行与下一行的数据结合成同一行

c

重复删除多个数据,例如向下删除 10 行,[ 10cj ]

u

复原前一个动作。(常用)

[Ctrl]+r

重做上一个动作。(常用)

.

小数点!意思是重复前一个动作的意思。

重复删除、重复贴上等等动作,按下小数点『.』就好了!

环境更变:

:set nu

显示行号

:set nonu

与 set nu 相反,为取消行号

:set list

显示控制字符

:noh取消高亮显示
  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值