简陋的个人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并 ...
 
随机推荐
- 集合源码(一)之hashMap、ArrayList
			
HashMap 一.HashMap基本概念: HashMap是基于哈希表的Map接口的实现.此实现提供所有可选的映射操作,并允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒 ...
 - 项目Beta预备
			
项目名称:城市安全风险管控系统 Beta预备: 讨论组长是否重选的议题和结论 项目组长可以说是一个团队的灵魂和核心.一个好的领导者可以激发团队成员的工作热情,提高开发效率,保质保量的完成工作.虽然在A ...
 - 那些在django开发中遇到的坑
			
1. 关于csrf错误 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或 ...
 - NetFPGA-1G-CML从零开始环境配置
			
NetFPGA-1G-CML从零开始环境配置 前言 偶得一块NetFPGA-1G-CML,跟着github对NetFPGA-1G-CML的入门指南,一步步把配置环境终于搭建起来,下面重新复现一下此过程 ...
 - OpenGL中怎么把世界坐标系变成屏幕坐标系
			
对这个3D坐标手动进行OpenGL的四个变换,得到的结果就是屏幕上的像素坐标.前三个变换(Model, View, Projection)都是4x4矩阵,操作对象是四维向量,所以需要把(100, 10 ...
 - python之路--day6---文件处理
			
一.文件 1.文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件, 可以将自己的数据永久保存下来. 2.操作流程 #1. 打开文件,得到文件句柄并赋值给一个变量--f = o ...
 - mui对话框事件
			
mui.confirm('生成成功,是否跳转到订单页面?','',['跳转','取消'],function(e){ if(e.index==0){ //点击跳转 }else if(e.index==1 ...
 - Python扩展模块——调用WindowsAPI(pywin32的简单使用)
			
这块使用的比较少,只用到了模拟键盘按键, 调用鼠标比较费事,是通过像素坐标实现的,如果没有特殊需求或万不得已不建议使用 import win32con import win32api win32api ...
 - android 运行时异常捕获
			
1,将运行时异常捕获并存到手机SD卡上 可以直接使用logcat 命令Runtime.getRuntime().exec("logcat -f "+ file.getAbsolut ...
 - 深度学习之 rnn 台词生成
			
深度学习之 rnn 台词生成 写一个台词生成的程序,用 pytorch 写的. import os def load_data(path): with open(path, 'r', encoding ...