VIM之常用命令

新入手vim编辑器可以说是非常痛苦了,将各式各样的命令汇总集合一下

特别注意

  • CTRL+S 不是保存,而是锁定并无法编辑,CTRL+Q解锁。
  • 命令行模式下,中文输入法无法键入命令

三种编辑模式

1.命令模式(ESC)
    是vi 的入口
    通过命令对文件进行常规操作:定位、翻页、复制、粘贴、删除......

2.末行模式(:)
    末行模式是vi 的出口

3.编辑模式(i)
    正常的编写和使用vi

末行模式命令:

注意要键入“:”哦

命令单词功能
:wwrite保存
:qquit退出,不允许未保存
:q!quit强制退出,允许未保存
:wqwrite&quit保存并退出
:x 保存并退出

命令模式

重复次数:数字 + 命令 = 重复执行的次数

1.移动(基本)
    1) 上下左右

hleft左移光标
jdown右移光标
kup上移光标
lright下移光标

    2)    行内移动

w

word向后移动一个单词
bback向前移动一个单词
0 行首
^ 行首,第一个不是空白字符的位置
$ 行尾

    3)    行数移动

gggo文件顶部
Ggo文件末尾
数字gggo移动到 数字 对应的行数
数字Ggo移动到 数字 对应的行数
:数字go移动到数字对应的行数

    4)屏幕移动

 CTRL+b back 向上翻页
 CTRL+fforward向下翻页
Hhead 屏幕顶部
Mmiddle屏幕中间
Llow屏幕底端

2.移动(程序)
    1)段落移动

    vi中使用 空行 来区分段落
    在程序开发时,通常 一段功能相关代脉会在一起    --    之间没有空行

{上一段
}下一段

    2)括号切换
    ()    []    {}    使用频率极高,而且都是成对出现的

%括号匹配及切换

    3)标记
    在开发时,某一段代码可能需要稍后处理,例如:编辑查看    此时先使用 m 增加一个标记,这样可以 在需要时快速地跳转回来 或 执行其他编辑操作
    标记名称可以是 a~z 或 A~Z 之间的任何一个字母
    添加了标记的 行如果被删除,标记同时被删除
    如果在其他行添加了同名的标记,之前添加的标记也会被替换调

mxmark添加标记 x,x是 a~z 或者 A~Z 之间的任意一个字母,只能是一个字母!
'x 直接定位到标记x所在的位置 

3.选中文本(可视模式)
    vi 要选中文本,需要使用visual 命令切换到可视模式,有三种可视模式可供选择

v可视模式从光标位置开始按照正常模式选择文本
V可视行模式选中光标经过的完整行
CTRL+V可视块模式垂直方向选中文本

    可视模式下,可以和移动命令连用

4.撤销和恢复撤销

uundo撤销撒上次的命令
CTRL+rredo恢复撤销的命令

5.删除文本

xcut删除光标所在字符,或者选中文字    nx也是删除多个
ddelete删除移动命令对应的内容            需要结合移动命令进行
dddelete删除光标所在行,可以ndd复制多行
Ddelete删除至行为

    如果可视模式已经选中了一段文本,那么无论使用 d、x 都可以删除文本
    删除命令可以和移动命令连用

6.复制粘贴
    vi 中提供一个被复制文本的缓冲区
    复制命令会将选中的文本保存在缓冲区中
    删除命令删除的文笔也将保存在缓冲区中
    在需要位置,使用粘贴命令,可以将缓冲区的文字插入光标的位置

y(移动命令) copy赋值
yycopy复制一行,可以nyy复制多行
ppaste粘贴

    命令 d、x     类似于图形界面 的剪切        CTRL+X
    命令 y        类似于图形界面 的复制        CTRL+C
    命令 p        类似于图形界面 的粘贴        VTRL+V

    vi的文本缓冲区 和 系统的剪切板 不是同一个
    所以,其他软件通过 CTRL+C    复制的内容不可以在vi中使用 p 进行复制,但可以右键粘贴

7.替换命令

rreplace替换当前字符            命令模式    单一字符替换
Rreplace替换当前行光标后的字符    替换模式    类似与编辑中 替换模式(insert 切换的那个)

    R命令可以进入 替换模式,按下ESC可以回到命令模式
    替换命令的作用就是不用进入编辑模式,对文本进行轻量级修改

8.缩进和重复执行

>>向右增加缩进
<<向左减少缩进
.重复上次命

    在可视模式下,缩排命令只需要使用一个 > 或 <

9.查找命令
    1)常规快速查找

/str查找str
n查找下一个
N查找上一个

    2)单词快速匹配

*向后查找当前光标所在的单词
#向前查找当前光标所在的单词

    都会移动到另一个单词的位置
    
10.查找与替换
    vi 中查找和替换命令需要在 末行模式 下执行
        记忆命令格式    :%s///g    
    1)全局替换
    一次性替换文件中的 所有出现的旧文本
        命令格式                :%s/旧文本/新文本/g
    
    2)可视区域替换
    前提:选中要替换的文字范围
        命令格式                :s/旧文本/新文本/g

    3)确认替换
    如果把末尾的 g 改成 gc 替换时,会有提示!推荐使用
        命令格式                :s%/last/new/gc

yyes替换
nno不替换

a

all替换所有
qquit退出替换
llast最后一个,并把光标移动到行首
^E 向下滚屏
^Y 向上滚屏

11.插入命令
    进入编辑模式的方式

iinsert在当前字符前插入文本
Iinsert在行首插入文本
aappend在当前字符后添加文本
Aappend在行末插入文本
o 在当前行后面插入一行空行
O 在当前行前面插入一行空行

                O
    I     i    a               A
    Hello this is a instance
                o

一些技巧:
编辑模式和数字连用:    用于输入重复的内有

一次性增加注释:在可视化模式下通过 垂直选中,并通过 I 在首行输入注释符号!!上述的两种方式完成条件都是在完成输入后摁下 ESC 切换会命令模式时才会显示

在插入模式下并不会进行刷新显示

12.末行拓展命令
    末行命令主要是 针对文件进行操作的:保存、退出、保存&退出、搜索&替换、另存、新建、浏览文家

:eedit打开内置文件浏览器,浏览当前目录下的文件            .表示当前目录,也可以输入文件名
:nnew新建文件
:wwrite另存为,但是切换文件之前,必须保证该文件已经被保存

    w 命令可以方便的实现 阶段备份

13.分屏命令
    使用分屏命令,可以同时编辑和查看多个文件

:sp[文件名]split 横向增加分屏    也可以传入 .打开目录
:vsp[文件名]vertical split 纵向增加分屏

    1)切换分屏窗口
    分屏窗口都是基于CTRL+W这个快捷键的 w->window

wwindow切换到下一个窗口
rreverse互换窗口
cclose关闭当前窗口,但是不能关闭最后一个窗口
qquit退出当前窗口,如果是最后一个窗口,则退出vi
oother关闭其他窗口

    窗口的管理第一部就是摁下CTRL+W!无论进行什么操作第一步都是摁下 CTRL+W

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值