最近在做一些无聊的客户化OSD,发现结合vim的一些命令更简单。

1、全选:ggVG(V:shift+v)

解释是:gg 让光标移到首行,在vim才有效,vi中无效;V 是进入Visual(可视)模式;G  光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d  删除选中内容
y  复制选中内容到0号寄存器
"+y  复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用

也可以用ggdG将文件所有内容清空;ggyG将所有内容复制;

2、对齐:gg=G

将所有内容自动对齐,当然只是整体上,还需要调试。

Ctrl+v进入VISUAL BLOCK模式,按上下左右即可选择。选择好了,再用shift+>shift+<可进行缩进或反缩进。

3、提取字符。

做OSD时需要将strings里的字符提取出来,如:

  1 <?xml version="1.0" encoding="utf-8"?>
2
3 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
4 <string name="settings_label">"System Settings"</string>
5 <string name="network_label_text">"Network"</string>
6 <string name="display_label_text">"Display"</string>
7 <string name="sound_label_text">"Sound"</string>
8 <string name="others_label_text">"Others"</string>
9
10 <string name="wifi_list_title">"Wireless network list"</string>
11 <string name="scanning_ap">"Scanning network,please wait..."</string>
12 <string name="wifi_connected">"Wireless network connected"</string>
13 <string name="wifi_disconnected">"Wireless network disconnected"</string>

首先,在VIM中打开,进入命令模式,

用:%s/^\s+\/把每行的空格去掉(如果有);

用:%s/<string name="/把每行的<string name="去掉

用:%s/">"/\t\t\t\t把中间的">"替换成table,隔开字符。

再用前面说的选择,复制,就出来了!

vim选择命令的更多相关文章

  1. vim常用命令(iOS)

    iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...

  2. vim常用命令总结 (转)

    vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V    从光标 ...

  3. [转]vim常用命令

    [转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...

  4. VIM编辑命令的技巧

    vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V    从光标 ...

  5. vim的命令集合

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令.启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并 ...

  6. vim常用命令总结 (转)

      在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format ...

  7. vi/vim高级命令集粹

    vi/vim高级命令集粹 (ctrl +v过来 留着以后看) 1.交换两个字符位置 xp 2.上下两行调换 ddp 3.把文件内容反转 :g/^/m0/ (未通过) 4.上下两行合并 J 5.删除所有 ...

  8. 神器Vim之命令介绍

    前天晚上看casa直播项目的组件化,不仅了解了如何快速对现有项目进行组件化,以及进一步不断迭代,实现完全组件化的过程:同时,也被casa的vim技能的熟练程度所震撼.早就听说,vim是unix系统上文 ...

  9. Linux—vim常用命令

    vim常用命令: 1. 键入i进入编辑模式2. esc进入命令模式3. a,进入编辑模式3. b,光标移动到单词前,end,光标移动到行尾4. home光标移动到行首5. cc,删除当前行,并进入编辑 ...

随机推荐

  1. 3.Springboot之修改启动时的默认图案Banner

    一.SpringBoot的默认启动图案 在SpringBoot启动的时候,默认的会展示出一个spring的logo,这个图案我们用户是可以自定义的 二.自定义启动图案 方法一: Application ...

  2. 读取文件和输入——read 脚本命令

    Linux之read命令使用 read命令: read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 1)read后面的变量var可以只有一个,也可以有多个,这时如果输入 ...

  3. python图片处理和matlab图片处理的区别

    作者:波布兰链接:https://www.zhihu.com/question/28218420/answer/39904627来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  4. SQL中的left outer join,inner join,right outer join用法详解

    这两天,在研究SQL语法中的inner join多表查询语法的用法,通过学习,发现一个SQL命令,竟然涉及到很多线性代数方面的知识,现将这些知识系统地记录如下: 使用关系代数合并数据1 关系代数合并数 ...

  5. GreenPlum学习笔记:split_part与string_to_array字符截取

    偶遇一个需求:想按某个指定符号分割之后,提取字符. 例如:tag = '休闲,娱乐,运动,玩耍',想提取"休闲"这个词. 方法一:string_to_array select st ...

  6. apachebench对网站进行并发测试

    ,安装apache ,打开cmd进入apache安装目录的bin目录(有ab.exe) ,执行ab命令 格式:ab -n -c http://localhost:80/test/test.php 说明 ...

  7. 关于RundownProtect到底是什么东西

    RundownProtect这个字段相信只要是读过WRK源码的都会看过这个东西,这个字段在进程和线程的结构中都存在.最典型的例子就是对进程要进行什么操作的时候会先引用这个字段进行加保护,等操作结束后再 ...

  8. Zabbix监控websphere和weblogic

    本节内容 zabbix java gateway 配置和运行java gateway 配置zabbix server使用java gateway 调整java gateway的日志级别 监控weblo ...

  9. Owin 自定义中间件

    /// <summary> /// 自定义的中间件 /// </summary> public class CustomMiddleware : OwinMiddleware ...

  10. hdu 1007 N个点中输出2点的最小距离的一半

    分治法 Sample Input20 01 121 11 13-1.5 00 00 1.50 Sample Output0.710.000.75 # include <iostream> ...