vim

1. 批量注释与反注释

在使用 vim 编写代码的时候,经常需要用到批量注释与反注释一段代码。下面简要介绍其操作。

1.1 块选择模式

插入注释:

  • 用 v 进入 virtual 模式

  • 用上下键选中需要注释的行数

  • 按 Control+v(win 下面 ctrl+q)进入列模式

  • 按大些“I”进入插入模式,输入注释符“#”或者是"//",然后立刻按下 ESC(两下)

取消注释:

  • Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按 d 即可删除注释

1.2 替换命令

批量注释:

  • :起始行号,结束行号 s/^/注释符/g

取消注释:

  • :起始行号,结束行号 s/^注释符//g

实例演示:

在 27 - 30 行添加 // 注释
:27,30s#^#//#g

在 27 - 30 行删除 // 注释
:27,30s#^//##g

在 10 - 20 行添加 # 注释
:10,20s/^/#/g

在 10 - 20 行删除 # 注释
:10,20s/^/#/g

注意例子中正则的分割符使用的是相反的符号,如果匹配// 那么使用 #作分隔符这样不需要对/作转义处理,节省输入次数。

2. 复制粘贴

Vim 中如何全选并复制?(区分大小写!!!)

  • 全部删除:按 esc 键后,先按 gg(到达顶部),然后 dG
  • 全部复制:按 esc 键后,先按 gg,然后 ggyG
  • 全选高亮显示:按 esc 键后,先按 gg,然后 ggvG 或者 ggVG
  • 单行复制:按 esc 键后,然后 yy
  • 单行删除:按 esc 键后,然后 dd
  • 粘贴:按 esc 键后,然后 p

vim 只能粘贴 50 行的问题:

在当前用户主目录(~)编辑~/.vimrc(如果不存在,新建这个文件),添加一行

:set viminfo='1000,<500

至于为什么要输入输入’1000,这个其实不重要,最主要的是输入<500,它是设置寄存器保存的行数的,即最大值为 500。

3. 格式化

1,gg 跳转到第一行

2,shift+v 转到可视模式

3,shift+g 全选

4,按下神奇的 =

4. 批量替换

%s/原变量名/要修改后的变量名/g

加个 c 就有 u 修改确认提示

%s/原变量名/要修改后的变量名/gc

如果是替换一个函数中的变量名,可以用 v 命令选中函数,然后替换;如果是替换若干文件中的变量(或函数)名,需要先选定 args 列表,然后用 argdo %s//new_name/g | w 来修改加保存。

5. 查询关键字

/key

不需要

n 下一个,N 上一个