linux下vim编辑器高阶(五) 区块选择,错误恢复

  • A+

vi编辑器是所有Unix及Linux系统下标准的编辑器,对Unix及Linux系统的任何版本,vi编辑器是完全相同的。vim是vi的升级版,增加了一些功能,对vi命令是完全兼容的。在一些基本命令上两者应该是一样的。

一.vim区块选择

  • vim区块选择,在vim中大多数操作都是以行为单位,使用如下命令可以选择一个区块,类似于鼠标操作

    命令 命令功能 使用度
    v 字符选择,会将光标经过的地方反白选择 高频
    V 列选择,会将光标经过的列反白选择 高频
    [Ctrl]+v 在光标所在行的下面插入新的一行。光标停在空行的行首,等待输入文本 高频
    r 将反白的地方替换成指定字符 高频
    y 将反白的地方复制起来 高频
    d 将反白的地方删除掉 高频
    p 将刚刚复制的区块,在光标所在处贴上 高频

二.错误恢复

  • 当我们编辑名为filename文件的时候,系统会生成一个.filename.swp的暂存盘,写入我们对filename的编辑动作;正常退出编辑器,这个文件会被删除;当非正常退出,或多人同时编辑的时候,再次打开此文件时就会出现如下提示:

    (1) Another program may be editing the same file.  If this is the case,
        be careful not to end up with two different instances of the same
        file when making changes.  Quit, or continue with caution.
    (2) An edit session for this file crashed.
        If this is the case, use ":recover" or "vim -r passwd.vi"
        to recover the changes (see ":help recovery").
        If you did this already, delete the swap file ".passwd.vi.swp"
        to avoid this message.
    
    Swap file ".passwd.vi.swp" already exists!
    [O]pen Read-Only, (E)dit anyway, (R)ecover,  (D)elete it,(Q)uit, (A)bort:
  • [O]pen Read-Only:按下o以只读的方式打开文件。
  • (E)dit anyway:打开源文件不会载入暂存盘里的改变。谨慎使用这个功能,可能下次编辑的时候会覆盖上次的修改。
  • (R)ecover:加载暂存盘里的修改,当正常编辑退出后,需要手动删除.filename.swp暂存盘。
  • (D)elete it:在打开文件之前,删除暂存盘,进入正常编辑,通常我们是这么做的。
  • (Q)uit, (A)bort:退出此次编辑和忽略此次编辑行为,都是退出到命令行
zhangfeng

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: