vim 有用的命令(补充)

原创 2012年03月24日 18:49:02

--------------------------------------------------------------------------------
甲:vim 删除空行:

--------------------------------------------------------------------------------

方法1: 用vim 的 d 命令, 并配合g 修饰符

:g/^$/d

用途: 我常用它删除 编译器预处理输出 .i 文件中的空行, 好处是让代码紧凑点。


方法2:用连续两个或多个换行替换为一个换行。vim 中替换符要用\r
::%s/\n\n/\r/
::%s/\n*\n/\r/

当然,如果一个空行也不留,用方法1就行了,简单.

方法2则稍显复杂。但如果将多个连续的空行删除为一个空行。

则可以如下操作

:%s/\n*\n/\r\r/

用途: 规格化c/c++ 代码. 例如有的代码行之间或函数和函数间有太多的空行时。


--------------------------------------------------------------------------------

乙:vim 格式化c/c++ 头文件中的参数。

--------------------------------------------------------------------------------

例如: 令各参数中分隔符, 有且只有一个空格。

先选中预格式化的函数头,执行选择块替换, 就达到目的了。

'<,'>s/, */ /gc


有助于16进制编辑的vim 命令

--------------------------------------------------------------------------------
丙: 定位命令(go)

--------------------------------------------------------------------------------

我们知道gg 到文件首,G 到文件尾, 30G 到第30行, :30 也到第30行。
但是还有更多!
1."ga"命令可以来查明当前光标下字符的本来面目"
2.g CTRL-G "可以获知光标所在字符在整个文件中详细位置,第几行,第几列,第几个词,第几个字节"
3.123go "转到第123个字节去"


--------------------------------------------------------------------------------
丁: xxd外部 命令

--------------------------------------------------------------------------------

1 用":%!xxd"进行十六进制格式的转储
2 编辑完毕后使用":%!xxd -r"反向转换,(小心,编辑时最好只是替换,而不要添加和删除)


--------------------------------------------------------------------------------

戊:去掉所有的“/* */”注释:

--------------------------------------------------------------------------------

%s!/\*\_.\{-}\*/! !g
可以替换为空格,或简单的去掉。
解释:
这个略有点复杂了,用到了几个不太常用的 Vim 正则表达式特性。 help pattern 有解释
“\_.”匹配包含换行在内的所有字符;
“\{-}”表示前一个字符可出现零次或多次,但在整个正则表达式可以匹配成功的前提下,匹配的字符数越少越好;(非贪婪匹配)
标志“g”表示一行里可以匹配和替换多次。


重新复习了一遍多行匹配:

vim:  c 多行注释匹配
1. 查找命令
可以高亮显示多行注释
/\/\*\_.\{-}\*\/     --> c 多行注释匹配
\_.      --> 匹配回车及任意字符(多行匹配)
\{-}    --> 非贪婪匹配

2. 替换命令
例如删除多行注释, 带确认
%s/\/\*\_.\{-}\*\///c
进一步用%s###简化为:
%s#/\*\_.\{-}\*/##c


--------------------------------------------------------------------------------
己:临时高亮文字。使用match, 2match, 3match

--------------------------------------------------------------------------------

功能更强大的高亮可以用插件。
例如: 高亮空格, 目的是观察Tab 中有无空格。
match  Search /\s\+/

match 的用法: match {highlight group} /{pattern}/


--------------------------------------------------------------------------------
庚:vim errorformat

--------------------------------------------------------------------------------

errorformat 可以帮助我们定位错误。

最简单的设置可以为: set efm=%f:%l:%m

含义: 格式为 文件:代码行:信息

其中文件是包含路径的,以当前文件为基本路径。

android 的mm 命令由于是shell 脚本,其信息输出在stberr 中,
而由于种种原因vim 不能收集它为errfile, 此时可以
在控制台上收集出错信息存为一个文件。
例如: mm 2>err.txt
然后用vim cfile err.txt 来加载错误文件。利用vim 的quickfix 功能定位错误行


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

一些不起眼但非常有用的 Vim 命令

英文:xmodulo 来源:linux.cn - wangjiezhe 链接:linux.cn/article-4669-1.html 如果我的关于这个话题的最新...

Vim 命令记录贴————记录点有用的命令,好用哟。

注:这些东西主要是为了查找方便记的,所以没有例子。如果要看例子,还不如看手册。   如果你要重复键入一个短语或一个句子, 也有一种快捷的方 法。Vim有一种记录宏的机制。你键入"qa"开始把一段...

vim 内部常用命令(不断补充)

启动or退出vim     在终端输入 vimtutor+回车 进入vim 帮助文档 vimtutor     :q! : 不保存当前文档就退出     :wq! :  保存当前正在编辑的文档然后退...

rails有用的命令

  • 2013-01-15 10:04
  • 24KB
  • 下载

对中级 Linux 用户非常有用的 20 个命令

也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令 的一个延伸。 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户。在这里你将学会如何进行自...

Ubuntu常见命令,很有用的

  • 2010-10-17 20:58
  • 697KB
  • 下载

对 Linux 专家非常有用的 20 个命令

41. 命令: ifconfig ifconfig用来配置常驻内核的网络接口信息。在系统启动必要时用来设置网络适配器的信息。之后,它通常是只需要在调试时或当系统需要调整时使用。 检查活动网络适配器 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)