常用 Vi 命令 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
1536011373
V2EX    Linux

常用 Vi 命令

  •  
  •   1536011373 2017-09-18 22:22:00 +08:00 5446 次点击
    这是一个创建于 3034 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Vi 编辑器有编辑模式和命令模式两种,顾名思义编辑模式可以完成对文本的编辑功能,命令模式下可以执行对文件的操作命令。通过“ vi filename ”打开文件会默认进入命令模式。从命令模式切换到编辑模式使用” A ”,” O ”,” I ”键(不区分大小写)。从编辑模式切换到命令模式按键盘左上角“ Esc ”键。
    下面整理了常用的几个 Vi 命令(注意大小写):
    Ctrl+u 向文件首翻半屏
    Ctrl+b 向文件首翻一屏
    Ctrl+d 向文件尾翻半屏
    Ctrl+f 向文件尾翻一屏
    Esc 从编辑模式切换到命令模式
    ZZ 命令模式下保存当前文件所做的修改后退出 Vi
    dd 删除光标所在行整行
    P (注意大写)粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方
    p (注意小写)粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方
    u 撤销上一个编辑操作
    Ctrl+r 恢复即回退前一个命令
    :wq 执行保存退出
    :w 执行保存
    :w! 执行强制保存
    :q 执行退出 Vi
    :q! 执行强制退出 Vi
    :set number 最左端显示行号
    :set nonumber 最左端不显示行号

    原文地址: https://mp.weixin.qq.com/s?__biz=MzUzMzE1ODIxMw==&mid=2247483763&idx=1&sn=39eec3ec8f44f257d0d3084f40d10e12&chksm=faa90159cdde884f7b630840534f8ec9d300f7bd69207a9b8928e88432142dfdf7cfc38812d3#rd
    26 条回复    2017-10-02 21:44:09 +08:00
    nyse
        1
    nyse  
       2017-09-18 22:27:43 +08:00
    我。。。常年只用:

    I ESC : W Q 方向键 回车
    rogwan
        2
    rogwan  
       2017-09-18 22:46:27 +08:00
    :wq!

    基本都是靠这条结束 233333
    ynyounuo
        3
    ynyounuo  
       2017-09-18 22:47:52 +08:00
    额 - - 好水
    16500682
        4
    16500682  
       2017-09-18 23:06:07 +08:00 via Android
    v2 什么时候有这些内容了
    1536011373
        5
    1536011373  
    OP
       2017-09-18 23:07:06 +08:00
    哈哈不喜勿喷,求放过
    AEANWspPmj3FUhDc
        6
    AEANWspPmj3FUhDc  
    2017-09-18 23:54:28 +08:00
    水的不够高级。
    我比较喜欢这条命令。
    :!shutdown /s /t 0
    akiakiseofficial
        7
    akiakiseofficial  
       2017-09-19 00:14:53 +08:00 via Android
    这....也太水了吧
    sola97
        8
    sola97  
       2017-09-19 00:16:47 +08:00
    我比较喜欢这条命令。
    sudo rm -rf /
    wellsc
        9
    wellsc  
       2017-09-19 00:24:09 +08:00
    * `cw`: 替换从光标所在位置后到一个单词结尾的字符
    * `g_`: 到本行最后一个不是 blank 字符的位置。
    * `e` : 到下一个单词的结尾。
    * `.` : (小数点) 可以重复上一次的命令
    * `%` : 匹配括号移动,包括 `(`, `{`, `[`.
    * `gU`: (变大写)
    * `gu`: (变小写)
    * `3fa`: 在当前行查找第三个出现的 `a` 。
    * `dt"`: 删除所有的内容,直到遇到双引号 `"` 。
    * 自动提示,在 Insert 模式下,你可以输入一个词的开头,然后按 `<C-n>` 或 `<C-p>` 就行了
    * 可视化选择模式 `<C-v>` 的自动给缩进: `=` ,左右缩进: `<` 或 `>` , 把所有的行连接起来变成一行: `J`
    * 分屏: `:split` 和 `vsplit`
    EmmaSwan
        10
    EmmaSwan  
       2017-09-19 03:34:22 +08:00
    楼主只是来展示头像的,可你们谁也没在意
    aheadlead
        11
    aheadlead  
       2017-09-19 07:25:16 +08:00
    @wellsc 这些命令的确好用 每天都不可或缺
    aheadlead
        12
    aheadlead  
       2017-09-19 07:29:27 +08:00   1
    @wellsc 针对那个 3fa 想提一下 bash 里面的类似操作(可能 emacs 就是这么操作的吧)

    先按 ctrl-],再按 a
    等同于找下一个 a

    先按 esc, 再按 ctrl-],再按 a
    等同于找前一个 a

    在上面的“连击必杀技”前面还可以加上这个:
    先按 esc,再按一个数字 N (可以多位数)
    表示随后的操作重复 N 次
    yongSir
        13
    yongSir  
       2017-09-19 09:00:19 +08:00
    我靠 是 V 站啊 我以为走错了

    目测一大堆 emacs 党要来了
    linxl
        14
    linxl  
       2017-09-19 09:24:29 +08:00
    qwer 一套带走
    bintianbaihua
        15
    bintianbaihua  
       2017-09-19 09:30:04 +08:00
    感觉好水
    ZddPub
        16
    ZddPub  
       2017-09-19 09:34:05 +08:00
    想写文章的心是--好的
    angusun
        17
    angusun  
       2017-09-19 09:38:31 +08:00
    还有 visual 模式.
    Immortal
        18
    Immortal  
       2017-09-19 09:41:11 +08:00
    推荐 vim 实用技巧 一书
    1536011373
        19
    1536011373  
    OP
       2017-09-19 09:44:19 +08:00
    @EmmaSwan 被你发现了,最近尝试着写文章,欢迎大家扫描我的头像关注我,让我能坚持写下去哈哈
    kkxxxxxxx
        21
    kkxxxxxxx  
       2017-09-19 11:10:55 +08:00
    看一遍忘一遍
    Jakesoft
        22
    Jakesoft  
       2017-09-19 12:14:18 +08:00 via iPhone
    竟然有 12 收藏,你们的“被动学习”能力是不是太强了?

    好歹来点 virtual mode,:vsp, :noh, sudo tee, 查找,替换吧
    另外 :set nu,:set non 是设置 /取消行号的简写
    wenbinwu
        23
    wenbinwu  
       2017-09-19 13:46:41 +08:00
    ggdG
    seers
        24
    seers  
       2017-09-19 15:37:20 +08:00
    我比较喜欢 O,o,dd,gg,:%s,和 “ . ”
    Xrong
        25
    Xrong  
       2017-09-19 15:51:11 +08:00   1
    复制光标所在的单词:yaw,使用前面复制的单词替换当前光标所在的单词:viwp
    breakwall
        26
    breakwall  
       2017-10-02 21:44:09 +08:00 via iPhone
    无非 w q r dd p i
    还有光标定位 jkhl

    别的我也没用过

    不过越用越喜欢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2703 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 13:56 PVG 21:56 LAX 05:56 JFK 08:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86