vim简介与手册

简介

在终端输入 vim <filename> 对文本进行编辑

注意终端下方,连按ESC就进入普通模式(normal mode),再按i进入插入模式(insert mode)

在插入模式下,就可以开始打字输入了,用方向键控制光标,或用鼠标控制光标,通过左右键进行复制粘贴,通过backspacedelete 进行删除。

ESC进入普通模式,输入 :w, 注意终端下方,按回车即可保存(write)

ESC进入普通模式,输入:wq,注意终端下方,按回车即可保存并退出(write and quit)

而按ESC进入普通模式,输入:q!,再按回车即可不保存强制退出

vimtutor

下面的知识,在终端输入vimtutor即可学习,一般1个小时就可以学完。
如果想熟悉使用光标定位符h,j,k,l,e,w,b,可以玩这个网页游戏 或者这个在线教程

插入模式下

ESC 进入普通模式
可以用方向键进行光标控制,Backspacedelete进行删除,鼠标右键进行粘贴(或者终端复制快捷键)。

普通模式下

  • 切换至插入模式

i insert的简写,在光标前插入
a append的简写,在光标后添加
A Append的简写,在行尾添加
o 在光标下插入一行
O 在光标上插入一行

  • 光标移动

h 左
j 下
k 上
l 右
$ 行尾,$也是各种正则表达式表示末尾的定位符
0^ 行首
G 文本尾
gg 文本首(打游戏中常用gg,暗示下一局,从零开始)
e end简写,单词尾
wW word简写,单词首
bB before的简写,上个单词首
ctrl+g 显示当前文件信息: 文件名,多少行,百分比位置
123G 跳转到123行
ctrl+i 恢复到历史之前的位置,在用完123G 之后,可以用ctrl+i 跳转回来
ctrl+o 恢复到历史之后的位置,在用完ctrl+i之后,可以用ctrl+o又跳转回来

  • 查找

:/findstr 从光标处向后查找findstr
:?findstr 从光标处向前查找findstr
n next,进行查找操作后,查找下一个
N 进行查找操作后,查找上一个

  • 替换

:s/old/new substitute的简写,进行一次替换
:s/old/new/g 进行一行的替换
:%s/old/new/g 进行全文的替换
:%s/old/new/gc 进行全文的替换并先确认
R replace简写,进入替换模式,进行单个字母替换; eg: night 经过 Rhello 将变成hello
r 进行一次单个字母替换 eg: night 经过rh 将变成 right

  • 删除

x 删除一个字符
dw delete 简写,删除一个单词,删除到下一个单词的开关 eg: hello |good nice 经过dw 变成 hello |nice ,|在这里表示光标位置
d3w 删除三个单词,可与各种数字,光标定位符(w,e,b,0,$),组合产生奇妙的化学反应
dd 删除一行
d5d 删除五行
de 删除一个单词,删除到这个单词的末尾 eg: hello |good nice 经过de 变成 hello | nice ,|在这里表示光标位置
d3e 删除三个单词
d$ 删除到行尾
d0 删除到行首
cw 删除一个单词,并进入插入模式,c与d一样,可与各种数字,光标定位符产生奇妙的化学反应
cc 删除一行并进入插入模式

  • 恢复

u undo的简写,恢复一个命令
U 恢复一行,vimtutor 原文是fix a whole line,实测是不断切换一行在编辑前后的状态
ctrl+R 撤销恢复操作

  • 复制粘贴

v visual 进入选择模式(一般叫做视图模式,因为vim下方会显示 Visual),再按h,j,k,l进行选择区域改变,然后按y就可以复制选定区域
p paste, 复制到光标的后面
P 复制到光标的前面
yy yank 复制当前行,可与各种光标定位符和数字产生奇妙的化学反应
y3y 复制当前3行,可以发现,vim对数字的支持很到位,可进行推理,会恢复,用错了也没事
"*p 复制系统缓冲区的内容
"+p 复制在其它程序中的复制内容,即系统粘贴板的内容

-设置

:set hls 设置查找时的高亮显示
:set nohls 设置查找时的无高亮显示
:!xxx 调用系统命令xxx

  • 保存退出

:w 保存
:wq 保存并退出
:q 退出
:q! 不保存,强行退出

vim 进阶

在正常模式下输入 :help

  • 切换模式

    • ESC 进入普通模式
    • i 进入插入模式
    • : 进入最后一行模式
    • vV 进入选择模式
    • :ter 打开终端(terminal)
  • 导航
    h,j,k,l,0,$,^,w,W,b,B,e,E,gg,G
    ctrl+g, ctrl+i, ctrl+o, ctrl+j, ctrl+p
    %,fx,tx,Fx,Tx 匹配跳转,%匹配[({,fx匹配字符x
    (,),{,},[[,]],[],][ 区域跳转,{}上下段,
    H,M,L 相对屏幕顶端、中部与底部

  • 导入
    :r [filename] 在光标后导入文件内容
    :r ![command] 在光标后导入命令输出

  • 匹配删除
    d + ),},gg,G,0,$,w等 但d]不能匹配删除

  • 多个粘贴板
    ["x]yy"2yy,把当前行复制到2号粘贴板
    ["x]p"5p,把5号粘贴板的内容复制到当前行下
    "*p 复制系统缓冲区的内容
    "+p 复制在其它程序中的复制内容,即系统粘贴板的内容

  • 书签
    m {a-z A-Z} 设置书签
    :marks 列出书签
    `{a-z A-Z} 跳转到书签
    `" 跳转到最后一次编辑的位置
    `. 跳转到最后一次改变的位置
    `0 跳转到上次退出的位置

  • 被选择文字修改
    ~ 更改大小写
    >< 左右移动
    ! 通过外部命令过滤

  • 保存
    :w new_name 用new_name保存
    :save file_name 另存为file_name
    :w !sudo tee % 采用sudo进行保存

  • 标签与命令
    :tabnew filename 在新标签页打开文件
    :tabn[ext], tabp[revious] 或者 gt, gT进行标签切换
    tabfirst, tablast 跳到第一个或最后一个标签
    :tabc[lose] 关闭当前标签
    :ju[mps] 列出所有跳转
    :changes 列出所有改变
    :set nu 显示行号
    :set hls 高亮显示搜索结果
    :set ru 显示光标的行列位置

  • 窗口
    ctrl + w + s/v 水平或垂直划分窗口
    ctrl + w + h/j/k/l 上下左右选择窗口

其它

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值