vim技巧 - visual block

简介:

  1.进入和退出visual模式
 visual模式有三种,

    一种是默认的visual模式,在normal模式下按下"v"就可以进入。

    一种是visual line模式,按下"V"可以进入。

    另一种是visual block模式,按下Ctrl-V进入。

    如果是在Windows下面的vim,则用Ctrl-Q进入。Windows下的vim有许多快捷键被替换掉了,在安装目录下的mswin.msi有详细的信息。

退出:esc

     2.选择文本
     进入visual模式后,按住shift键就可以上下左右移动选择文本,也可以使用数字+h/j/k/l来移动选择文本块;使用"$"和"^"可以将选择扩展到行尾或者行首。

     3.插入
     选择文本块后,键入"I"进入文本插入模式。键入你想输入的文本后,按下"Esc",这样就会在你选择的文本块的每行的左边(选择文本的左边)全部插入你刚才输入的文本,如:

include "/home/app/file1.h"

include "/home/app/file2.h"

include "/home/app/file3.h"

     当你光标停在"file1"的"f"上时,按下Ctrl-Q进入visual模式,然后"2j"选择2行,键入"I"进入插入模式,输入"include/"后按下"Esc",文本就会变成这样了:

include "/home/app/include/file1.h" 

include "/home/app/include/file2.h" 

include "/home/app/include/file3.h"

     注意:(i)如果要在选择的块的后面加入文本,将"I"替换成"A"(Append)即可,比如上例中光标停留在"file"前面的一个"/"上时,键入"Ainclude/"也可以达到相同效果。(ii)如果想使选择的文本块扩展到每行行尾,进入visual模式后,按下"$"即可。同理,扩展到行首使用"^"

     4.替换
     如果是想替换选中的文本,先选中需要替换的文本,然后键入"c"进入输入状态,键入文本后按下"Esc"键。如上例中,先选中"app",然后键入"cinclude",文本内容将变成:

include "/home/include/file1.h" 

include "/home/include/file2.h" 

include "/home/include/file3.h"

     如果想替换掉选中文本块到行尾的所有内容,使用C代替c,或者利用"$"先将选中扩展至行尾,再用c进行操作.
     替换还有一下几个命令,在选择本文块后直接键入该命令即可:
     ~ 交换大小写
     U 将小写变成大写
     u 将大写变成小写

     5.移动
     使用">"可以将选择的文本向右移动,空白部分以空格填充。使用":set shiftwidth=n"(n为数字)命令可以定义移动的空格数。这在我们写程序时非常有用,比如有以下代码:

for ( i=0; i<10; i++ ) {
    if ( ... ) {

      ......

         if ( ... ) {
            a = i * 2;
            b = a--;
          }
    }
}

     如果我们想在第一个if语句前再加一个for循环,就是做成两次for循环的嵌套,但是内部的程序段不变,加入后,显然程序的缩进被破坏,第一个if后的所有语句都要向右再缩进,这次,块移动操作就派上用场啦。先设置好你需要缩进的空白数,然后选中第一个if块的语句,然后键入">",缩进一下就完成了。可怜以前我都是一行又一行的去移啊移啊。。。
     注意:"<"可以实现向左移动,但是如果左边没有足够的shift空间,那么该命令什么也不做。

     6.连接
     "J"命令可以是你选择的行全部连接成一行,行与行之间以一个空格代替所有的换行符和空白,在连接行的最后放置两个空格。如果想保留行的前导空白和后缀空白,使用"gJ"来代替"J"命令。
     该命令在三种visual模式下均可操作。



本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/795084,如需转载请自行联系原作者

相关文章
|
人工智能 Linux 开发工具
linux 对文件内容的查看、归档 及 vim基本操作
linux 对文件内容的查看、归档 及 vim基本操作
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
小程序 Linux 开发工具
【Linux】Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
【Linux】Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
338 8
|
存储 Linux Shell
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
|
搜索推荐 Linux 开发工具
|
Linux Shell 持续交付
Linux下vim的配置
本文介绍了如何对vim进行基础配置,如行号显示、缩进设置等,并推荐了一种自动化部署方案,通过链接下载预配置的vim环境脚本,简化了配置过程,提升开发效率。
489 3
Linux下vim的配置
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
266 0
|
Linux Shell 开发工具
Linux Vim批量注释和自定义注释
在Vim中,快速批量注释和取消Shell脚本的多行可以使用替换命令。例如,用`:1,10s/^/#/g`在第1到10行行首加`#`注释,`:1,10s/^#//g`则移除这些行的行首`#`。定义快捷键如`:map^P l#&lt;Esc&gt;`(需用Ctrl+V+P生成^P)能一键在当前行添加`#`注释。要取消注释,可以定义`:map^B 0x`来删除行首字符。通过`.vimrc`保存快捷键设置,可使它们在每次启动Vim时生效。
419 6
|
Ubuntu Unix Linux
Linux Vim最全面的教程
Linux Vim最全面的教程