简陋的个人Vim使用命令
最近把Visual Studio 的编辑器改成了 Vim,感觉像发现了新世界,记录记录一些提高效率的Vim命令。
插入命令
i
在当前位置前插入
I
在当前行首插入
a
在当前位置后插入
A
在当前行尾插入
o
在当前行之后插入一行
O
在当前行之前插入一行
替换命令
ra
将当前光标所在的字符替换成 a
:s/old/new/
用 old 替换 new,替换当前行的第一个匹配。
:s/old/new/g
替换当前行的所有匹配
:%s/old/new/
替换所有行的第一个匹配
:%s/old/new/g
替换整个文件的所有匹配
:10,20 s/^/ /g
在第10行到第20行每行前面加四个空格,用于缩紧
ddp
交换光标所在行和其下紧邻的一行
(PS:
dd
删除当前行)
查找命令
/text
查找 text,按 n 键查找下一个,按 N 键查找前一个
?text
查找 text,反向查找,按 n 查找下一个, 按N 查找前一个
特殊字符的转义 .*[]^%/?~$
:set ignorecase
忽略大小写的查找
:set noignorecase
不忽略大小写的查找
查找很长的词,如果一个词很长,可以将光标移动到该词上,按*
或#
可以对单词进行搜索 *
相当于 /
,#
相当于?
这个还是挺有用的
:set hlsearch
高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配
:set nohlsearch
关闭高亮搜索显示
:nohlsearch
关闭当前的高亮显示,如果再次搜索或者按下 n 或者 N ,则会再次高亮
:set incsearch
逐步搜索模式, 对当前键入的字符进行搜索而不必等待键入完成
:set wrapscan
重新搜索,在搜索到文件头或者尾时,返回继续搜索,默认开启。
移动命令
h 左
, j 下
, k 上
, l 右
,这四个命令可以配合数字使用,比如 20j 就是向下移动20行,5h就是向左移动5个字符.
w
向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首,可替代 l
命令
b
向后移动一个单词
e
同 w
,只不过是光标停在单词尾部
ge
同 b
光标停在单词尾部
^
移动到本行第一个非空白字符上。
0
/ <HOME>
移动到本行的第一个字符上
$
移动到行尾
gg
/ [[
移动到文件头
G
/ ]]
移动到文件尾
f
命令也可以用于移动,fx
将找到光标后第一个为x的字符,3fd
将找到第三个为d的字符。 (本地试了试,没用)
F
同f
,反向查找。
跳到指定行,冒号+行号,回车,比如跳到240行就是 :240
回车。另一个方法是行号+G,比如230G
跳到230行。
向上滚动系列:
Ctrl + y
向上滚动一行
Ctrl + u
向上滚动半屏
Ctrl + b
向上滚动一屏
向下滚动系列:
Ctrl + e
向下滚动一行
Ctrl + d
向下滚动半屏
Ctrl + f
向下滚动一屏
撤销和重做
u
撤销(Undo)
U
撤销对整行的操作
Ctrl + r
重做(Redo),即撤销的撤销。
删除命令
x
删除当前字符
3x
删除当前光标开始向后三个字符
X
删除当前字符的前一个字符。X=dh
dl
删除当前字符, dl=x
dh
删除前一个字符
dd
删除当前行
dj
删除本行及下一行
dk
删除本行及上一行
10d
删除当前行开始的10行。
D
删除当前字符至行尾。D=d$
d$
删除当前字符之后的所有字符(本行)
kdgg
删除当前行之前所有行(不包括当前行)
jdG
(jd shift + g) 删除当前行之后所有行(不包括当前行)
:1,10d
删除1-10行
:11,$d
删除11行及以后所有的行
:1,$d
删除所有行
J(shift + j)
删除两行之间的空行,实际上是合并两行
退出命令
:wq
保存并退出
ZZ
保存并退出
:q!
强制退出并忽略所有更改
:e!
放弃所有修改,并打开原来文件。
窗口命令
:split或new
打开一个新窗口,光标停在顶层的窗口上
:split file或:new file
用新窗口打开文件
split
打开的窗口都是横向的,使用vsplit
可以纵向打开窗口。
Ctrl+ww
移动到下一个窗口
Ctrl+wj
移动到下方的窗口
Ctrl+wk
移动到上方的窗口
关闭窗口 :close
最后一个窗口不能使用此命令,可以防止意外退出vim。
:q
如果是最后一个被关闭的窗口,那么将退出vim。
ZZ
保存并退出。关闭所有窗口,只保留当前窗口
执行shell 命令
:!command
:!ls
列出当前目录下文件
:!perl -c script.pl
检查perl脚本语法,可以不用退出vim,非常方便。
:!perl script.pl
执行perl脚本,可以不用退出vim,非常方便。
:suspend
或Ctrl - Z
挂起vim,回到shell,按fg可以返回vim。
简陋的个人Vim使用命令的更多相关文章
- Vim常用命令总结
Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...
- vim基础命令
2015-06-04 by komilevim基础命令 打开一个文件 vim index.php 几种模式说明Normal Mode也就是最一般的普通模式,默认进入vim之后,处于这种模式.Inser ...
- vim常用命令(iOS)
iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...
- 实用手册:130+ 提高开发效率的 vim 常用命令
Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...
- vim常用命令汇总
vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...
- [转]vim常用命令
[转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...
- vim常用命令 vim键盘布局
vim键盘布局,vim快捷键 vim常用命令:
- vim替换命令
转载:http://blog.csdn.net/glorin/article/details/6317098 替換(substitute) :[range]s/pattern/string/[c,e, ...
- vim的命令集合
命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令.启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并 ...
随机推荐
- 北京工业大学耿丹学院2016下C作业学习总结
北京工业大学耿丹学院2016下C的班级地址在https://edu.cnblogs.com/campus/bjgygd/Sixteen-One . 第一次作业:两部分 第一部分:新建博客,书写第一篇随 ...
- Beta Scrum Day 2
听说
- 20162308 实验二《Java面向对象程序设计》实验报告
20162308 实验二<Java面向对象程序设计>实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 ...
- 团队作业7——第二次项目冲刺(Beta版本12.08-12.10)
1.当天站立式会议照片 本次会议内容:1:每个人汇报自己完成的工作.2:组长分配各自要完成的任务. 2.每个人的工作 黄进勇:项目整合,后台代码. 李勇:前台界面优化. 何忠鹏:数据库模块. 郑希彬: ...
- 《高级软件测试》云平台Jira的配置
首先点击进入以下网址: https://www.atlassian.com/ondemand/signup/form?product=jira-software.ondemand 填写好信息,Star ...
- nyoj 复杂度
复杂度 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) for(k=j+1;k ...
- CentOS搭建Git服务器及权限管理
声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...
- Linq GroupBy
//Linq //var result = from p in personList // group p by p.Id // into grouped // select new { Id = g ...
- Mysql数据库主从配置
一.为什么要使用数据库主从架构 一个网站损耗资源最厉害的就是数据库,最易崩溃的也是数据库,而数据库崩溃带来的后果是非常严重的.数据库分为读和写操作,在实际的应用中,读操作的损耗远比写操作多太多,因此读 ...
- Python内置函数(32)——all
英文文档: all(iterable) Return True if all elements of the iterable are true (or if the iterable is empt ...