admin 管理员组

文章数量: 887021

普通模式—>插入模式

i:插入到当前光标的前面(insert)
a:插入到光标的后面(append)
o:插入到下一行
I:插入到行首
A:插入到行尾
O:插入到前一行
H:行首
L:页的最后一行的行首
W:光标跳到下一个单词词首
b:上一个单词
gg:文件的开始
G:文件的末尾
[n]-:往前走n行
[n]+:往后走n行
ctrl + f:下一页 forward
ctrl + b:上一页 backward
ctrl + u:上半页 up
ctrl + d:下半页 down
set nu 指令显示行号

命令模式下编辑文本

删除(相当于Windows上面的剪切,会把对应删除数据剪切到剪切板):
x:删除一个字符
dd:删除一行 
u:恢复删除内容
[n]dd/d[n]d: 删除n行
:x,y d 删除从x到y行
d^:删除到行首
d$或D:删除到行尾
dw:删除一个单词
[n]dw:删除n个单词
d[n]w:删除n个单词
dt):删除到)
dt":删除到”

p: 粘贴(paste)
u: 撤销修改(undo)
ctrl + r: 恢复修改(recover)

拷贝:
yy:拷贝一行(yank)
[n]yy或y[n]y:拷贝n行
:x,y y 拷贝x行到y行
yw:拷贝一个单词
[n]yw或y[n]w:拷贝n个单词
查找和替换
查找:
/regex

n:下一个匹配项
N:上一个匹配项

替换:
:s/regex/substitue/选项
只会替换一行的第一个匹配项
选项:g -->替换这一行的所有匹配项
:x,ys/regex/subsitute/g 替换从x行到y行的所有匹配项
:%s/regex/subsitute/g 替换文件中所有匹配项

/\<d[^ ]*r\>查找以d字母开头以r结尾的单词,中间的[^ ]是为了确定是单个单词,标注出如果查找的字符串中不能出现空格

视图模式

作用选择范围

行优选  -->行选 v
竖优选  -->竖选 ctrl+v

选择范围 y(拷贝)
	    d(删除)

批量注释和批量删除注释
1.将光标移动到要注释的第一行
2.CTRL + v进入竖选
3.I
4.输入//
5.[esc]

全文代码对齐:gg = G

对文件的操作
:w 保存
ctrl + s 僵死状态,僵死状态下不能移动光标,不能再使用vim,也不能使用vim的常命令
ctrl + q 退出僵死状态
:q 退出
:q! 不保存修改退出
:wq 保存并退出

多窗口(上下分屏)
:new filename 在一个新窗口打开filename文件
:split filename 功能也是再新窗口打开filename文件
:sp filename 功能也是再新窗口打开filename文件

多窗口(左右分屏)
:vnew filename
:vsplit filename
:vsp filename

切换窗口
ctrl + w

退出当前窗口
:q

退出所有窗口
:qa

多标签
:tabnew

多标签切换
gt 下一个
gT 上一个

配置vim

再我们使用vim进行代码编写时,我们发现像上面的set nu展示行号的指令,只会再当前文件并且当前编辑时才会生效,当我们第二次打开文件时,就不会展示行号如果vim可以帮我们提前填写好这些内容那么会大大加快我们的开发效率
首先进入vimic

cd ~ //回到家目录
vim .vimrc

syntax on //会根据语言的不同来给关键字显示高亮
set hlsearch //当我们进行查找时,会将查找的结果进行高亮展示
set tabstop=4 //设置table键的空格数为四个,如果不设置,那么则为8个
set autoindent //自动缩进,会根据上一行的缩进自动进行本行的缩进
set number //展示行数

vim练习手册
vimtutor

查看网络端口为1234的进程netstat -an|grep 1234

vimdiff file1 file2对比两个文件是否一致

本文标签: 指令 快捷 vim