分类
vim

vim 寄存器 与系统剪切板互通

mac OSX 系统,按 v 选择选区,将选区内容写入 pbcopy 里

:w !pbcopy

从剪切板插入到文档,定位到想要插入的行,系统剪切板的文字会插入到当前行后面

:r !pbpaste

http://vim.wikia.com/wiki/Accessing_the_system_clipboard

分类
vim

vim window横竖切换

当 vim 将屏分割开之后,有时想将当前 window 横竖切换

按 ctrl + w + ( h j k l ) 定位到需要复制的 window

当前 window 扩展到最宽

ctrl + w + K 

当前 window 扩展到最高

ctrl + w + H 

参考:
https://stackoverflow.com/a/1269631

分类
vim

vim macro

vim 自动处理文字的时候,要用到 macro ,设置 macro 名 ,使用 @ 调用 macro 名实现一堆操作。

在 normal 模式下, 按 q 再加上 a (或其他字母) 开始记录。

比如进行如下操作,在一行尾部加一个分号跳到下一行

$ #跳到行尾
a #追加模式
; #写一个分号
ESC #回到 normal 模式
j #跳到下一行

按 q 结束 macro

现在找到其他行,想进行操作时,按 @a 在当前行执行一次 macro 的内容。
按 10@a 执行 10 次 macro 的内容
按 @@ 执行上一次 macro

分类
vim

vim marks and jumps

对文档进行光标位置进行标记,记录在 a 里

ma

跳到 a 标记所在位置

 `a 

跳到 a 标记行首

 'a 

大写字母为全局 mark, 小写字母只在本文件中生效
显示所有 marks

:marks

跳到最后一次修改的位置

`. 

跳到最后一次修改的行首

'.

跳到上次关闭会话时的位置

'"

跳到上一次 jump 之前的位置

``

jumps 显示跳转轨迹,同时显示有没有关联 marks

Ctrl-o 从 jump 0 位置向上跳

n + Ctrl-o 从 jump 0 位置向上跳 n 个

Ctrl-i 从 jump 0 位置向下跳

n + Ctrl-i 从 jump 0 位置向下跳 n 个

https://medium.com/@kadek/understanding-vims-jump-list-7e1bfc72cdf0

分类
vim

vim buffer 查看及操作

vim 编辑的时候都是将文件放到 buffer 里

同时编辑多个文件

vim file1 file2

查看 buffer,显示正在编辑的文件及行数

:ls
  1 #    "file1"                        line 1
  2 %a   "file2"                        line 1

切到下一个文件

:bn

切到上一个文件

:bp