《Vim 实用技巧》读书笔记(第二部分)

本文接上一篇文章 ,本章节主要记录《Vim 适用技巧》第二部分文件相关操作的学习笔记。

  1. 缓冲区、缓冲区列表
    缓冲区是文件在内存中的映射,Vim 编辑的是缓冲区的内容,在使用 :wirte 等命令时将缓冲区的内容写入文件中。Vim 允许一次打开多个文件,这些文件的缓冲区形成了 Vim 的缓冲区列表,:ls 查看缓冲区列表,结果中 % 表示当前可视缓冲区,# 代表轮换文件,使用 <C-^>可以快速在缓冲区列表中切换。使用 :bnext 和 :bprev 在缓冲区列表中切换,:bfirst,:blast 等命令顾名思义既可。使用 :ls 显示的缓冲区列表中有一个编号和名字,可以凭借 :buffer {number} 或 :buffer {name} 直接精确跳转。:bdelete
    {number} 可以删除指定的缓冲区,如果缓冲区内容修改后没有保存到文件中则会有保存或者放弃的提示。

  2. 参数列表
    :args 显示缓冲区列表

  3. 工作区切分成窗口
    s 水平切分,等效区 :split
    v 垂直切分,等效区 :vsplit
    {h|j|k|l} 对切换活动窗口,如 j 代表切换到下面的窗口
    使用 :only 关闭处活动窗口以外其他窗口,:close 或 :q 关闭活动窗口

  1. 标签页
    标签页可以理解为容纳一系列窗口的容器。
    :tabedit [filename] 在新标签中打开文件
    :tabclose 关闭当前标签页
    gt 切换到下一个标签页 等效与 :tabn
    gT 切换到上一个标签页 等效与 :tabp
    tabmove 移动标签页

  2. 使用 netwr 管理文件和目录
    :edit . 等效于 :e. 打开文件管理器,并显示当前工作目录
    :Explore 等效与 :E 打开文件管理器,并显示活动缓冲区所在的目录
    :Vexplore 垂直分割窗口并显示缓冲区所在的目录
    :Sexplore 水平分割窗口并显示缓冲区所在的目录
    :netrw-d 创建目录
    :netrw-rename 重命名
    :netrw-del 删除
    当edit {path/file} 目录不存在时,我们试图把缓冲区写入磁盘 时,Vim 会显示一条出错信息。在这种情况下,我们可以调用外部的 mkdir 程序 对此做出补救:

    1
    :! mkdir -p %:h
  3. 使用普通用户读取 root 用户文件强制保存的方法

    1
    2
    3
    4
     :w !sudo tee % > /dev/null
    解释:
    :w !{cmd} 缓冲区的内容作为 shell 命令的标准输入
    sudo tee [buffer] /path/filename > /dev/null

未完待续……

本文标题:《Vim 实用技巧》读书笔记(第二部分)

文章作者:Pylon, Syncher

发布时间:2018年05月10日 - 19:05

最后更新:2023年03月11日 - 17:03

原始链接:https://0x400.com/experience/practice/linux-reading-note-of-practical-vim-II/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。