Vim 操作命令不完全汇总
.
命令:“重复上次修改”;x
命令:删除光标下的字符;u
命令:撤销上次修改;dd
命令:删除整行;>G
命令:增加从当前行到文档末尾处的层级缩进;$
命令:把光标移至行尾;a
命令:在光标之后添加内容;A
命令:在当前行的结尾添加内容;f{char}
命令:让Vim查找下一处指定字符出现的位置,如果找到了,就直接把光标移到那里;;
命令:重复查找上次f命令所查找的字符;*
命令:光标会调到下一个匹配项上,所有出现这个词的地方都会被高亮显示出来;n
命令:跳到下一个匹配项;cw
命令:删除从光标位置到单词结尾见的字符,并进入插入模式;理想的模式:用一键移动,另一键执行。
停顿时请移开画笔
普通模式是Vim的自然放松状态,在普通模式中,我们有众多工具可以使用。
把撤销单元切成块
在Vim中,我们自己可以控制撤销的粒度。
o
命令: 另起一行并进入插入模式。
---
构造可重复的修改
db
命令:删除从光标起始位置到单词开头的内容;
dw
命令:删除整个单词;
daw
命令:删除一个文本对象;
---
能够重复,就别用次数
d2w
命令:删除两个单词; is not better than dw .
命令;
操作符 + 动作命令 = 操作
操作符命令 动作命令
c
修改 l
一个字符
d
删除 aw
一个完整单词
y
复制到寄存器 ap
一个段落
g~
反转大小写
gu
转换为小写
gU
转换为大写
>
增加缩进
<
减少缩进
=
自动缩进
!
使用外部程序过滤{motion}所跨越的行
在插入模式中可即时更正错误
<C-h>
删除前一个字符
<C-w>
删除前一个单词
<C-u>
删除至行首
---
返回普通模式
<ESC>
切换到普通模式
<C-[>
切换到普通模式
<C-o>
切换到插入-普通模式
zz
重绘屏幕
不离开插入模式,粘贴寄存器中的文本
<C-r>{register}
粘贴单词
随时随地做运算
<c-r>=
访问及表达式寄存器
用字符编码插入非常用字符
<C-v>{code}
以十进制字符编码插入字符
<C-v>u{code}
以十六进制字符编码插入字符
<C-v>{nondigit}
按原义插入非数字字符
<C-k>{char1}{char2}
插入以二合字母{char1}{char2}表示的字符
---
用替换模式替换已有文本
R
进入替换模式
gR
进入虚拟替换模式,会把制表符当做一组空格进行处理 ;在此替换模式中,我们是按屏幕上实际显示的宽度来替换字符的,而不是按文件中所保存的字符进行替换。这会减少意外情况的发生。
r{char}
单次替换模式
gr{char}
单次虚拟替换模式
Vim具有3种不同的可视模式,分别用于操作字符文本、行文本或块文本。
选择高亮选区
- 激活可视模式
v
激活面向字符的可视模式;
V
激活面向行的可视模式;
<C-v>
激活面向列块的可是模式;
gv
重选上次的高亮选区;
- 切换选区的活动端
b
跳转单词词首
e
跳转单词词尾
o
切换活动的端点
:
进入命令行模式
:[range]delete [x]
删除指定范围的行 [到寄存器x中]
:[range]yank [x]
复制指定范围的行 [到寄存器x中]
:[line]put [x]
在指定行后粘贴寄存器x中的内容
:[range]copy {address}
把指定范围内的行拷贝到{address}所指定的行之下
:[range]move {address}
把指定范围内的行移动到{address}所指定的行之下
:[range]join
连接指定范围的行
:[range]normal {commands}
对指定范围内的每一行执行普通模式命令 {commands}
:[range]subsitute/{pattern}/{string}/[flags]
对指定范围内出现{pattern}的地方替换为{string}
[range]global/{pattern}/[cmd]
对指定范围内匹配{pattern}的所有行,在其上执行Ex命令{cmd}
在一行或多个连续行上执行命令
用地址指定一个范围
:{start},{end}
.
代表当前行的地址
%
代表当前文件中的所有行
1
文件的第一行
$
文件的最后一行
0
虚拟行,位于文件第一行上方复制行,移动行
:6t
把第6行复制到当前行下方
:t6
把当前行复制到第6行下方
:t.
为当前行创建一个副本
:t$
把当前行复制到文本结尾
’<, ‘>to
把高亮选中的行复制到文件开头
:[range]move {address}
Vim 操作命令不完全汇总的更多相关文章
- vim操作命令备忘
vim操作命令备忘 查找/替换 :%s/keyword//gn //搜索匹配的关键词数量 :%s/keywords/target //替换关键词 待续……
- 尚学linux课程---12、vim操作命令2
尚学linux课程---12.vim操作命令2 一.总结 一句话总结: 要看不同的视频,每个视频的关键点都不一样,不如之间的的视频就没讲到vim中set nu是什么意思 学了的内容一定要练,不然真的是 ...
- 尚学linux课程---11、vim操作命令1
尚学linux课程---11.vim操作命令1 一.总结 一句话总结: 要看不同的视频,每个视频的关键点都不一样,不如之间的的视频就没讲到vim中set nu是什么意思 1.Vi有三种基本工作模式? ...
- vim操作命令-笔记
显示行号:在vim命令行模式下输入 :set nu 或 :set number 取消显示行号:在vim命令行模式下输入 :set nonu 或 :set nonumber 查看文件编码格式: :set ...
- vim指令,快捷键汇总
Vim 命令.操作.快捷键全集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vi ...
- vim 操作命令大全(转)
1. 关于Vim vim是我最喜欢的编辑器,也是Linux下第二强大的编辑器. 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效. 如果是初学vi,运行一下vimtu ...
- vim 操作命令大全
转子:https://www.cnblogs.com/yangjig/p/6014198.html 和 https://blog.csdn.net/u010956473/article/detail ...
- vim 折叠代码技巧汇总
以下命令输入的方式: 如zo命令,先按z键,松开后按o键即可展开折叠. 一.打开.关闭折叠 zo 展开折叠,只展开最外层的折叠. zO 对所在范围内所有嵌套的折叠点展开,包括嵌套折叠. zc 折叠,只 ...
- vim操作命令
一,命令模式下 文件顶部: gg 文件底部: G 删除当前行:dd 删除当前行,并进入INSERT模式: cc 取消删除:u
随机推荐
- stringstream读入每行数据
做了下阿里的编程测试题,就30分钟,不是正常的输入输入,直接给一个数组作为输入. 于是带想题和处理数据花了20分钟,最后10分钟搞一个dij模版, 竟然只过了66%,应该是我数组开小了. 题目数据量没 ...
- UVa 568 - Just the Facts
这道题和这几段牛代码让我见识了精简与高效.好好学习! http://blog.csdn.net/lyhvoyage/article/details/9307009
- js部署中如何提高页面加载速度
1.合并js文件,减少http请求数量. 2.对js文件进行压缩 3.以gzip的形式提供js 4.使js文件可缓存 5.使用CDN
- JavaWeb温习之HttpServletResquest对象
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息. 1 ...
- Linux学习(四)档案与目录管理
1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关于执行文件路径的变量: $PATH2. 档案与目录管理 2.1 档 ...
- hihocoder [Offer收割]编程练习赛14 小Hi和小Ho的礼物
题目1 : 小Hi和小Ho的礼物 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 某人有N袋金币,其中第i袋内金币的数量是Ai.现在他决定选出2袋金币送给小Hi,再选2袋 ...
- centos7上安装iptables
centos7上安装iptables的步骤 注意:CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #安装iptables ...
- Windows Phone 在读取网络图片之前先显示默认图片
1.新建一个控件WindowsPhoneControl1 WindowsPhoneControl1.xaml <UserControl x:Class="DefaultImage.Wi ...
- Android自定义控件实战——仿淘宝商品浏览界面
转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38656929 用手机淘宝浏览商品详情时,商品图片是放在后面的,在第一个Scr ...
- java如何随机生成定长的字符串
小数,字符串.时间等示例代码 String base = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 public c ...