vim快速入门

首先要属性vim有3种模式。

操作

前言

vim有大量的操作,需要掌握一些规律后,再去执行。

shift 规律

掌握一些基本的规律,比如d D 、a A 、i I 这些,在shift的加持下,其实,仍具有相同的命令,但是效果略有差别。

动+介+名格式。

数字+操作格式。

10.

简单入门

最基本基本的操作

# 打开文件
vim index.php

# 编辑文件  直接输入字符i,剩下的,基本上利用上下左右箭头+输入命令,即可文件文件编辑
i

# 保存退出  先输入Esc
:wq!

上面的操作,只需要1分钟,就能掌握。当时,如果仅仅掌握上面的命令,根本发挥不了,vim是编辑器之神的称号。

复制、粘贴

dd  # 删除1行
yy  # 复制1行
p   # 粘贴1行

比如复制几行。9,11y
shift v 按行选择后,再复制。

v 选择模式。
普通选择 v
按行选择 shift V
按列复制 ctrl v 比如删除多个行首的空格,复制多行ascii字符画时等。

查找、替换

# 全部替换
:%s///g

# 替换前验证
:%s///gc

# 范围说明
# %全部   1,3 从1至3行  

动介名

介词。

动词 + 介词 + 位置描述。原理,正交原理,好处,表达能力强。
动词可是是 d v y
介词 i in a around t till
位置 t tag ‘ ’‘ )等。

例子 修改kafak 单引号的内容。 di’ 快速删除。
vib 块编辑
dte 快速删除到单词的最后。

d2d 删除两行。

vfe 查找到e。 f/F 正向、反向查找。

多窗口

tmux

窗口分隔

vsplit hsplit ctrl+w

缓存区

可以利用缓存区打开多个文件。

ls b1 e vi 多个文件

标签页

tab 好用还是 buffer好用?

tabNew 标签页。
:tabn 到下一个tab
:tabe 新的tab页中打开指定文件
:tabclose 关闭当前tab
:tabm 移动标签,从0开始。 tabm 0移动当前tab标签到最左边的位置
gt 到下一个tab,循环跳转
gT 到上一个tab,循环跳转
Ngt 到第N个tab,从1开始
:tabp 到上一个tab
:tabn 到下一个tab
:tabe 新的tab页中打开指定文件
:tabclose 关闭当前tab
:tabm 移动标签,从0开始。 tabm 0移动当前tab标签到最左边的位置
gt 到下一个tab,循环跳转
gT 到上一个tab,循环跳转
Ngt 到第N个tab,从1开始

多窗口复制

多个窗口,相互剪切,在同一个vim中,可直接复制操作。不在同一个vim中,保存到临时文件w。再读取r。
选区复制
:’<,’>w! /tmp/aa

:r /tmp/aa

:’<,’> 表示一个选区。
简单的快速补全 ctrl p

快速跳转或移动 除了hjkl wb 0$ 也可以试试搜索。/

临时退出

ctrl z 临时切出vim fg再回来。非常有用

选区

v模式。v 普通的模式,V 行模式。 ctrl v 块模式。

V 复制、粘贴的时候。当然,也可以用:1,3y这种方式来复制。

块模式:常用批量删除一块内容。

批量缩进

https://blog.csdn.net/zgxp_666/article/details/110941165

录制宏,然后批量操作。或者直接使用.来重复操作。

执行命令

https://www.jianshu.com/p/3082c00e70f8


!ls

r !ls

:起始行号,结束行号 !command(改变编辑的内容)
:起始行号,结束行号 w !command(不改变编辑的内容)

配置

换行配置。 https://blog.csdn.net/u013511885/article/details/122369033

set smartindent 
set tabstop=4
set shiftwidth=4
set expandtab

常用场景

交互两行顺序

ddp

插件

插件
nerdtree 文件浏览工具
ycm youcompleteme 比较挑vim的版本
jedi python

ranger 安装

python
pip3 install ranger-fm
apt install ranger