VIM实用技巧
也许是Vim的帮助已经很详细,关于VIM的书籍比较少, ————————————————————– 文本对象 可在文本对象前添加动作命令 di( di) dib 删除内含 '(' ')' 块, 保留括号
da( da) dab 删除一个 '(' ')' 块
di{ di} diB 删除内含 '{' '}' 大块, 保留括号
da{ da} daB 删除一个 '{' '}' 大块
di[ di] 删除内含 '[' ']' 块, 保留括号
da[ da] 删除一个 '[' ']' 块
di> di< 删除内含 '<' '>' 块, 保留括号
da> da< 删除一个 '<' '>' 块
dat 删除标签内容
dit 删除标签内容,不含标签本身
di" 删除当前的第一个字符串,保留引号 da" 删除当前的第一个字符串,不保留引号
di’ 删除当前的第一个字符串,保留引号
da’ 删除当前的第一个字符串,不保留引号
dap 删除一个段落
cab 修改()中的内容
dit 删除标签中的内容
ci" 修正字符串内容
————————————————————–
复制专用默认寄存器名为0,其他寄存器为a~z 普通模式: 例如,使用a寄存器复制当前行 例如,插入模式时计算23小时的秒数: ————————————————————– 对Tab等进行替换时,如果想保持格式不变化,可以使用gR替换R, ————————————————————– 例如,注释文件的所有内容 @: 重复上一次执行的Ex命令, @@用来重复上一次的命令(和宏一样) ————————————————————–
————————————————————– F{char} 反向查找字符 例如增加/usr/include路径作为检索路径 ————————————————————–
“0为复制专用寄存器,d/c/s命令不会覆盖它的内容,只有y会。 ————————————————————– 普通的p/P在复制后,光标被置于复制行的首位,复制多行时不方便。 ————————————————————– vim的正则表达式对特殊字符如+*.等默认转义和主流语言不太一样, 例如,查找附着在行尾的空白符 应用魔术模式v,会将_,大小写字母,数字以外的字符均视为特殊字符。 相反的V(原义开关)将会把 以外的所有字符视为普通字符 ————————————————————– 补全整行文本
根据正在编辑文件内容补全
根据tag文件补全
文件名补全(根据vim的当前工作路径)
工作路径可以通过:cd命令进行变更 上下位置调整可以用 ————————————————————– :global命令允许在某个指定模式的所有匹配行上运行Ex命令 默认range为整个文件%,默认命令为print 例如,删除以#开头的行 例如,将#开头的行都复制到文件末尾 例如,将#开头的行都复制寄存器a vglobal是global的反向操作 ————————————————————– :vim[grep][!] /{pattern}/[g][j] {file} ...
在文件 {file} ... 里搜索模式 {pattern},并用匹配结果设
置错误列表。
如果没有 'g' 标志位,每行只加一次。
如果有 'g',每个匹配都被加入。
:vim[grep][!] {pattern} {file} ...
同上,但不用非 ID 的字符包围模式,而只用空白分隔。该模
式必须以 ID 字符开头。
上面命令1的g如果没有指定,每行只匹配一次 :copen 20 打开quickfix窗口,20行高度
:cn
:cp
@: 重复上一次Ex命令(:cn或:cp)
@@ 重复上一次Ex命令
例如,在下层目录中搜索所有c和文件 查看 移动 重复移动(先@:,再@@) 另外,vimgrep的输出是quickfix,但quickfix只有一个。 另外,输出内容还可以追加 比如还是刚才的例子: 在 Unix、Win32、Mac OS/X 和一些其它系统上,可以扩展 “**”。它允许你在目录树里搜 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |