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快捷指令 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1724511611h753476.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论