vim visual block
来源:互联网 发布:网络支付清算平台概念 编辑:程序博客网 时间:2024/05/21 07:06
1.进入visual模式
visual模式有三种,一种是默认的visual模式,在normal模式下按下”v”就可以进入。一种是visual line模式,按下”V”可以进入。另一种是今天要讲的visual block模式,按下Ctrl-V进入。如果是在Windows下面的vim,则用Ctrl-Q进入。Windows下的vim有许多快捷键被替换掉了,在安装目录下的mswin.msi有详细的信息。
2.选择文本
进入visual模式后,按住shift键就可以上下左右移动选择文本,也可以使用数字+h/j/k/l来移动选择文本块;使用”$”和”^”可以将选择扩展到行尾或者行首。
3.插入
选择文本块后,键入”I”进入文本插入模式。键入你想输入的文本后,按下”Esc”,这样就会在你选择的文本块的每行的左边(选择文本的左边)全部插入你刚才输入的文本,如:
1
include
"/home/app/file1.h"
2
include
"/home/app/file2.h"
3
include
"/home/app/file3.h"
当你光标停在”file1″的”f”上时,按下Ctrl-Q进入visual模式,然后”2j”选择2行,键入”I”进入插入模式,输入”include/”后按下”Esc”,文本就会变成这样了:
1
include
"/home/app/include/file1.h"
2
include
"/home/app/include/file2.h"
3
include
"/home/app/include/file3.h"
注意:(i)如果要在选择的块的后面加入文本,将”I”替换成”A”(Append)即可,比如上例中光标停留在”file”前面的一个”/”上时,键入”Ainclude/”也可以达到相同效果。(ii)如果想使选择的文本块扩展到每行行尾,进入visual模式后,按下”$”即可。同理,扩展到行首使用”^”
4.替换
如果是想替换选中的文本,先选中需要替换的文本,然后键入”c”进入输入状态,键入文本后按下”Esc”键。如上例中,先选中”app”,然后键入”cinclude”,文本内容将变成:
1
include
"/home/include/file1.h"
2
include
"/home/include/file2.h"
3
include
"/home/include/file3.h"
如果想替换掉选中文本块到行尾的所有内容,使用C代替c,或者利用”$”先将选中扩展至行尾,再用c进行操作.
替换还有一下几个命令,在选择本文块后直接键入该命令即可:
~ 交换大小写
U 将小写变成大写
u 将大写变成小写
5.移动
使用”>”可以将选择的文本向右移动,空白部分以空格填充。使用”:set shiftwidth=n”(n为数字)命令可以定义移动的空格数。这在我们写程序时非常有用,比如有以下代码:
1
for
( i=0; i<10; i++ ) {
2
if
( ... ) {
3
......
4
}
5
if
( ... ) {
6
a = i * 2;
7
b = a--;
8
}
9
}
如果我们想在第一个if语句前再加一个for循环,就是做成两次for循环的嵌套,但是内部的程序段不变,加入后,显然程序的缩进被破坏,第一个if后的所有语句都要向右再缩进,这次,块移动操作就派上用场啦。先设置好你需要缩进的空白数,然后选中第一个if块的语句,然后键入”>”,缩进一下就完成了。可怜以前我都是一行又一行的去移啊移啊。。。
注意:”<”可以实现向左移动,但是如果左边没有足够的shift空间,那么该命令什么也不做。
6.连接
“J”命令可以是你选择的行全部连接成一行,行与行之间以一个空格代替所有的换行符和空白,在连接行的最后放置两个空格。如果想保留行的前导空白和后缀空白,使用”gJ”来代替”J”命令。
该命令在三种visual模式下均可操作。
转载自 http://xw2423.byr.edu.cn/blog/archives/232
- vim visual block
- vim visual block
- vim visual block模式
- vim visual block
- [vim] 块选择 (Visual Block)
- VIM每日一技(1)—visual block操作
- vim 块处理(visual block)常用命令总结
- vi/vim的VISUAL BLOCK使用方法(文字选取粘贴功能)
- VIM Visual mode
- vim:visual模式
- vim Visual Mode
- vim的visual模式
- vim的visual模式
- vim的visual模式
- vim visual操作备忘
- vim# visual mode
- vim visual model
- vim ----> visual studio
- 我的OpenCV学习笔记(五):给图像加上边框
- [Erlang 学习笔记]erlang behaviour小总结
- Asp.net页面的生命周期
- 【100题】第三十四 实现一个队列
- Linux svn 版本回滚的方法
- vim visual block
- 要特别注意这个坑爹的玩意HttpWebRequest.ServicePoint.ConnectionLimit
- delphi调用java代码
- Java 多线程——Thread类和Runable接口
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
- 2011-2012中国手机市场发展分析
- 第九周 任务四
- getRequestDispatcher()与sendRedirect()的区别
- Linux Epoll介绍和程序实例