实用好记的Vim命令
命令4: 宏命令 录制命令 qa [do_some_routine_job_in_this_line_and_move_to_next_line] q 执行上一步录制的命令 [n]@a qa中的a代表将录制的命令放置于哪个寄存器中,对应于[n]@a 中的a。所以,a也可以换成b,c,d... [n]@a中的n代表执行该录制命令的次数,省略n即执行1次 宏命令非常适合执行一些针对每一行都执行有规律的的操作,重点在于,首先,按下qa进入录制模式,然后在第一行针对该行进行有规律的操作,最终移到下一行,按下a退出录制模式,使用[n]@a对余下的所有行进行批量处理 例子: 假设有如下的文本行,每一行代表一个用户名,现在需要对该用户名进行密码重置为123456,简单起见,假设只有5行: user1 user2 user3 user4 user5 光标置于第一行某个位置处,在“Normal mode” 模式下按顺序按 qaIalter user_table set password='123456' where username='<Esc>A';<Esc>ja 好了,录制命令完毕,执行命令4@a,即把剩下的4行处理为与第一行相同的结果了 执行结果如下: alter user_table set password='123456' where username='user1'; alter user_table set password='123456' where username='user2'; alter user_table set password='123456' where username='user3'; alter user_table set password='123456' where username='user4'; alter user_table set password='123456' where username='user5'; 命令5: 代码自动缩进 = (1) 光标移到某个位置,然后,使用 vi{ 选择要自动缩排的代码块{ code },最后,按= (2) 按下大写V进入行选择模式,使用 jk 上下移动选择要自动缩排的行集, 最后,按 = (3) 最懒的方式, gg到第一行, VG 选择该文件所有行,最后,按 =,格式化所有代码 命令6: 倒置文本 :g/^/m0 让第一行成为最后一行,第二行成为倒数第二行,最后一行成为第一行。 作者:DayByDay 出处:http://www.cnblogs.com/DayByDay (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |