vim 笔记

VIM 操作

 ^/$:跳到行首/行尾
diw :删除光标所在的单词

 

替换

:[scope] s/[befor]/[after]/[flags] 

befor: 被替换的文本
after: 要替换成的文本
flags: 标记位 g:替换全部 n:查询 c:确认
scope: 范围          %: 全部   1,10:1到10行

举例: 

       :1,6 s/self//n 查询1-6行中 self出现的次数
            :% s/self/this/g 替换self为this
            :% s/\<self\>/this/g 精准替换self为this to_self不会被替换

 

 

多文件操作

 

Buffer(文件缓冲区, 就是vim左下角显示的文件名那一块) 

Buffer是指打开的一个文件缓冲区,
窗口是Buffer可视化的分割区域
Tab 可以组织窗口为一个工作区

:ls 列举当前缓冲区,然后使用:b n跳转到第n个缓冲区
快捷: :bpre :bnext :bfirst :blast

:b buffer_num 可以跳转对应id的buffer
:b buffer_name 加上tab补全来跳转
:e [file_name] 在vim命令中使用vim打开其他文件

 

Window窗口

:sp  水平分割

:vs       竖直分割

 

<Ctrl w> w:窗口间切换

<Ctrl w> h/j/k/l : 窗口 左下上右

 

Txet文本对象

i:inner

a:around

viw: 选中单词

vaw: 选中单词和周围的空格

举例: 删除3个单词   :3 daw   ciw: 删除单词并且进入插入模式

  选中双引号中的内容: vi"   选中双引号中的内容,包括双引号 va"

 

 

插入模式粘贴代码缩进混乱

:set paste

然后复制

:set nopaste

 

寄存器 normal模式下

 "ayiw  : 复制一个单词到寄存器a中。

 "bdd.  : 删除当前行到寄存器b中。

 reg a  : 查看a寄存器中的内容。

 "ap    : 粘贴a寄存器中的内容。

 "bp    :粘贴b寄存器中的内容。

 "0      : 复制专用寄存器, 使用y复制的文本也会被拷贝到0寄存器。

 "+.     : 系统剪切板 复制的内容也可以区别的地方粘贴了。  比如V选择两行, 然后 "+ 就可以复制到系统剪切板。

 "%.    : 当前文件名

 ".       : 上次插入的文本

 

使用q来录制,同时也是q结束录制。

使用q[register]选择要保存的寄存器, 把录制的命令保存其中。

@[register] 回放寄存器中保存的一系列命令。

 

举例 给文本句子加上双引号

1. 先给一行加上双引号,然后再回放到其他所有行。

2. 先使用q开始录制, 给一行加上双引号, 之后使用q退出。

3. 在剩下的所有行中进行回访录制的宏。

 

补全 常用的

ctrl = C

Cn Cp: 普通关键字补全、单词

Cx Cf: 补全文件名

Cx Co: 全能补全, 需要开启文件类型检查 安装插件。

 

配色

:colorcheme 显示配色

:colorscheme <C-d> 显示所有配色

:colorscheme [配色名称] : 切换配色

 

折叠 python

set foldmethod=indent

打开单个折叠 zo

关闭单个折叠 zc

打开所有折叠 zr

关闭所有折叠 zm

 

格式化

Plug 'sbdchd/neoformat'

:Neoformat! python

 

注释

vim-commentary

gc

 

跳转回退

文件内:   

  gd: 跳转到定义  Ctrl-o: 回退

ctags: ctrl-]:跳转到声明     Ctrl-t: 回退

 

posted @ 2022-08-23 13:55  DRQ丶  阅读(52)  评论(0编辑  收藏  举报