博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vim的常用命令
阅读量:6046 次
发布时间:2019-06-20

本文共 1353 字,大约阅读时间需要 4 分钟。

平常最多是用vim来编辑单个文件,看看源码。就是写几k行代码时也没有用一些其他的插件,只是设置了高亮等一些自带的属性。这样的好处是,换到任何一台新机上都能立马使用。

网上流传了大量的“vim命令合集”,“把vim打造成一个IDE”之类的文章,我觉得至少对我来说意义不大。我觉得把以下这些命令用熟的话,vim已经算是一个非常好用的工具,足够日常使用了。

打开/退出

vim -R file1 只读打开:qall 退出所有文件:wq 写入并退出:q! 强制退出

插入

i 在当前位置生前插入I 在当前行首插入a 在当前位置后插入A 在当前行尾插入o 在当前行之后插入一行O 在当前行之前插入一行

移动

h 左移一个字符l 右移一个字符k 上移一个字符j 下移一个字符

以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符。

删除

dd 删除当前行dj 删除当前行和上一行dk 删除当前行和下一行10dd 删除当前行开始的共10行D 删除当前字符至行尾

跳转

gg 跳转到文件头G 跳转到文件尾gg=G自动缩进 (非常有用)Ctrl + d 向下滚动半屏Ctrl + u 向上滚动半屏Ctrl + f 向下滚动一屏Ctrl + b 向上滚动一屏冒号+行号,跳转到指定行;比如:120,跳转到120行;$ 跳转到行尾0 跳转到行首

编辑

u 撤销Ctrl + r 重做yy 复制当前行按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制任意部分p 粘贴在当前位置另外,删除在vim里面就是剪切的意思,所以dd就是剪切当前行,可以用v或V选择特定部分再按d就是任意剪切了

查找

/text  查找text,按n健查找下一个,按N健查找前一个?text  查找text,反向查找,按n健查找下一个,按N健查找前一个:set ignorecase  忽略大小写的查找:set noignorecase  不忽略大小写的查找

替换

:s/old/new/ 用old替换new,替换当前行的第一个匹配:s/old/new/g 用old替换new,替换当前行的所有匹配:%s/old/new/ 用old替换new,替换所有行的第一个匹配:%s/old/new/g 用old替换new,替换整个文件的所有匹配也可以用v或V选择指定行,然后执行

多文件操作

vim file1 file2 file3 ... 同时编辑多个文件:split 将窗口分成上下两个子窗口,对应两个不同的文件:vsplit 将窗口分成左右两个子窗口,对应两个不同的文件:open file4 打开新文件:bn 切换到下一个文件(当前窗口):bp 切换到上一个文件(当前窗口)Ctrl-w h    移动到窗口左边Ctrl-w j    移动到窗口下边Ctrl-w k    移动到窗口上边Ctrl-w l    移动到窗口右边

部分摘自:

http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html

转载于:https://www.cnblogs.com/linyx/p/4131699.html

你可能感兴趣的文章
第六章
查看>>
golang+es 爬取网易云音乐评论
查看>>
Math Constants
查看>>
Ajax.BeginForm的异步提交数据 简介
查看>>
Oracle 11g不能导出空表的三种解决方法
查看>>
Wordpress 文章添加副标题
查看>>
21 段实用便捷的 PHP 代码
查看>>
包子凑数
查看>>
CocosStudio文件解析工具CsdAnalysis
查看>>
python 网络通信编程之tcp套接字socket
查看>>
Sql语句批量更新数据(多表关联)
查看>>
设置密码到期的天数
查看>>
Matlab M文件“程序块”注释方法
查看>>
当当网首页——html代码
查看>>
使用JDBCTemplate实现与Spring结合,方法公用 ——共用实现类(BaseImpl)
查看>>
asp.net mvc 实战化项目之三板斧
查看>>
使用stream类型的Result实现Ajax
查看>>
自己重新编译VLFeat
查看>>
Scrapy简介
查看>>
在本地计算机无法启动world wide web Publishing 服务或者安装iis5无法启动iis默认网站...
查看>>