vim选择命令

最近在做一些无聊的客户化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/">"/ 把中间的">"替换成table,隔开字符。

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



原文地址:https://www.cnblogs.com/javawebsoa/p/3243759.html