0%

VIM Snippet

列模式操作

删除列

  1. 光标定位到要操作的地方。
  2. CTRL+v 进入“可视 块”模式,选取这一列操作多少行。
  3. d 删除。

插入列

插入操作的话知识稍有区别。例如我们在每一行前都插入”() “:

  1. 光标定位到要操作的地方。
  2. CTRL+v 进入“可视 块”模式,选取这一列操作多少行。
  3. SHIFT+i(I) 输入要插入的内容。
  4. ESC 按两次,会在每行的选定的区域出现插入的内容。

调整分割窗口的大小

  1. :resize +5 横向调整
  2. :vertical resize +5 纵向调整

复制、剪贴

https://www.zhihu.com/question/19863631

vim快速选中、删除、复制、修改引号或括号内的内容

分别更改这些配对标点符号中的文本内容

ci’、ci”、ci(、ci[、ci{、ci< -

分别删除这些配对标点符号中的文本内容

di’、di”、di(或dib、di[、di{或diB、di< -

分别复制这些配对标点符号中的文本内容

yi’、yi”、yi(、yi[、yi{、yi< -

分别选中这些配对标点符号中的文本内容

vi’、vi”、vi(、vi[、vi{、vi< -

Vim中的复制、粘贴、删除

Vim 中的复制、删除的内容都会被存放到默认(未命名)寄存器中,之后可以通过粘贴操作读取默认寄存器中的内容。
寄存器是完成这一过程的中转站,Vim 支持的寄存器非常多,其中常用的有 a-zA-Z0-9+“。其中:0-9:表示数字寄存器,是 Vim 用来保存最近复制、
删除等操作的内容,其中 0 号寄存器保存的是最近一次的操作内容。a-zA-Z:表示用户寄存器,Vim 不会读写这部分寄存器”(单个双引号):
未命名的寄存器,是 Vim 的默认寄存器,例如删除、复制等操作的内容都会被保存到这里。+:剪切板寄存器,关联系统剪切板,保存在这个寄存器中的内容可以被系统其他程序访问,也可以通过这个寄存器访问其他程序保存到剪切板中的内容。
通过下面命令可以查看所有寄存器中的内容,也可以只查看指定寄存器的内容(将寄存器名称作为参数):reg [register_name]

与系统剪贴板的交互

有了上面的基础知识后,要实现题主”将 Vim 剪贴板里面的东西粘贴到 Vim 之外的地方?”就很明了,只需要将内容复制到剪切板寄存器(+)中即可,其他程序便可以访问到了。

"+yy  // 复制当前行到剪切板
"+p // 将剪切板内容粘贴到光标后面
"ayy // 复制当前行到寄存器 a
"ap // 将寄存器 a 中的内容粘贴到光标后面

Vim 有12个粘贴板依次编号为:0、1、2、…、9、a、”、+,其中 + 号为系统粘贴板,” 为临时粘贴板。系统剪切板中的内容可在其他程序中使用。上面的复制指令都可以配合剪切板进行操作。

"nyw 复制当前单词到 n 号剪切板(双引号开始) 
"np 粘贴 n 号剪切板内容到当前位置后
"+Y 复制当前行到系统剪切板
"+ny 复制当前行加下面 n 行到系统剪切板
"+p 粘贴系统剪切板内容到当前位置后

当然,与系统剪贴板的交互还有更加方便的方法,安装 sudo apt install vim-gnome

NERDTree

常用的NERDTree操作

  • o 在已有窗口中打开文件、目录或书签,并跳到该窗口
  • go 在已有窗口 中打开文件、目录或书签,但不跳到该窗口
  • t 在新 Tab 中打开选中文件/书签,并跳到新 Tab
  • T 在新 Tab 中打开选中文件/书签,但不跳到新 Tab
  • i split 一个新窗口打开选中文件,并跳到该窗口
  • gi split 一个新窗口打开选中文件,但不跳到该窗口
  • s vsplit 一个新窗口打开选中文件,并跳到该窗口
  • gs vsplit 一个新 窗口打开选中文件,但不跳到该窗口