vim 2024年学习笔记

每行超过80个的字符用下划线标示

au BufRead,BufNewFile *.asm,*.c,*.cpp,*.java,*.cs,*.sh,*.lua,*.pl,*.pm,*.py,*.rb,*.hs,*.vim 2match Underlined /.\%81v/

寄存器

寄存器就是存储文本的地方。常用的「复制」操作就是把文本存储到寄存器,「 粘贴」 操作就是把文本从寄存器中读出来。顺便,在 Vim 中复制的快捷键是 y,粘贴的快捷键是 p。

Vim 为我们提供了如下的寄存器:

类型 标识 读写者 是否为只读 包含的字符来源
Unnamed " vim 最近一次的复制或删除操作 (d, c, s, x, y)
Numbered 09 vim 寄存器 0: 最近一次复制。寄存器 1: 最近一次删除。寄存器 2: 倒数第二次删除,以此类推。对于寄存器 19,他们其实是只读的最多包含 9 个元素的队列。这里的队列即为数据类型 queue>)
Small delete - vim 最近一次行内删除
Named az, AZ 用户 如果你通过复制操作存储文本至寄存器 a,那么 a 中的文本就会被完全覆盖。如果你存储至 A,那么会将文本添加给寄存器 a,不会覆盖之前已有的文本
Read-only :.% vim :: 最近一次使用的命令,.: 最近一次添加的文本,%: 当前的文件名
Alternate buffer # vim 大部分情况下,这个寄存器是当前窗口中,上一次访问的缓冲区。请参阅 :h alternate-file 来获取更多帮助
Expression = 用户 复制 VimL 代码时,这个寄存器用于存储代码片段的执行结果。比如,在插入模式下复制 <c-r>=5+5<cr>,那么这个寄存器就会存入 10
Selection +* vim *+剪贴板 寄存器
Drop ~ vim 最后一次拖拽添加至 Vim 的文本(需要 “+dnd” 支持,暂时只支持 GTK GUI。请参阅 :help dnd:help quote~
Black hole _ vim 一般称为黑洞寄存器。对于当前操作,如果你不希望在其他寄存器中保留文本,那就在命令前加上 _。比如,"_dd 命令不会将文本放到寄存器 "1+*
Last search pattern / vim 最近一次通过 /?:global 等命令调用的匹配条件

技巧

1,:%normal A;可以让所有行后都加入分号, 类似的, 可借用这个模式, 输入行后都是., 如:%normal A.
2, 在使用 v 或者 V 选择某段文字后,可以用 o 或者 O 按键跳至选择区域的开头或者结尾。

参考

[1] vim 从入门到精通

CMakeLists Eigen FCPX GNU Gazebo Git Interest KDL Life Linux Matrix ODE ROS Ros UML Ubuntu VcXsrv algorithm algorithms axis-angle bode calibration chrome control cpp data_struct dots figure gdb latex launch life linux mac math matlab memory motor moveit operator optimal algorithm python robot robotics ros ros2 rtb simulation stl thread tools twist urdf velocity vim web work wsl
知识共享许可协议