vim选择命令

来源:互联网 发布:tcpip协议 默认端口号 编辑:程序博客网 时间:2024/06/03 09:02

最近在做一些无聊的客户化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,隔开字符。

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