vi/vim高级技巧

来源:互联网 发布:淘宝海外买手直播申请 编辑:程序博客网 时间:2024/06/14 05:29

  • 号称vim圣经的 practical vim英文pdf网上有下载
  • 单个字符替换用r覆盖多个字符用R用多个字符替换一个字符用s整行替换用S
  • d text 删除从文本中出现 text中所指定字样的位置一直向前直到下一个该字样所出现的位置但不包括该字样之间的内容
  • vi替换使用规则
  • 标记文本
  • 要在文本前同样的字符加用
  • d
  • 用ctags命令对当前目录下的c源程序扫描生成tags文件
  • 如有一文件内容为
  • 切换大小写字母用
  • 重复最后一个修改操作例如你想把一篇文章中的所有four换成five可以
  • 数字加减 CTRL-A CTRL-X

全是复制过来的东西,后期整体格式

号称vim圣经的 《practical vim》,英文pdf网上有下载。

https://raw.githubusercontent.com/doomzhou/vlb/master/Practical-Vim-Edit-Text-at-the-Speed-of-Thought.pdf
简单看了一节。感觉是适合vim入门操作,已经达到熟练的人。

单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S

s 将当前字符替换为一个或多个字符
S 将当前行替换为一个或多个字符

d /text 删除从文本中出现“ text”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容

vi替换使用规则:

:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串

标记文本

  mchar   用字母char标记当前光标的位置
  `char   移至char所标记处
  ‘char   移至char标记所在行的开头处
  "     移至当前行上一次所在位置(在光标移动之后)――一个双引号
  ”    移至当前行上第一次所在位置的行的开头处(在光标移动之后)――两个单引号

要在文本前同样的字符加用

%s/^/要加的内容/g 要在文本后同样的字符加
%s/$/要加的内容/g

:g/$/s// ABC/g
:g/^/s//def /g
在文本每行的头和尾添加字符串.

:%d

是删除全文

用ctags命令对当前目录下的c源程序扫描,生成tags文件

$ ctags *.c
这样,在vi里通过命令
:ta fun_name
就可以直接打开函数fun_name所在的文件,并将光标置于函数开头

如有一文件,内容为:

333
222
334
444
111
553
554
233
运行命令:%!sort 文件内容为:
111
222
233
333
334
444
553
554

切换大小写字母用“~”

/ “.”,重复最后一个修改操作,例如你想把一篇文章中的所有four换成five,可以:

      |   /four,找到第一个four         |   cwfive,修改成five         |   n,找下一个four         |   .,重复修改操作         /   n,.   ......如此类推   

数字加减, CTRL-A, CTRL-X

1 0