pix*_*eat 704
有关更多信息和阅读,请查看vim wiki上的相关文章.
Tom*_*lak 179
这将用"//" 替换每行的开头:
:%s!^!//!
Run Code Online (Sandbox Code Playgroud)
这将用"//" 替换每个选定行的开头(使用可视模式选择):
:'<,'>s!^!//!
Run Code Online (Sandbox Code Playgroud)
需要注意的是gv(正常模式)恢复上次视觉选择,这个就派上用场了,不时.
cyb*_*onk 81
搜索和替换的一般模式是:
:s/search/replace/
Run Code Online (Sandbox Code Playgroud)
用当前行的'replace'替换第一次出现的'search'
:s/search/replace/g
Run Code Online (Sandbox Code Playgroud)
将所有出现的'search'替换为当前行的'replace','g'是'global'的缩写
此命令将仅针对当前行替换每次出现的'search'和'replace'.%用于搜索整个文件.要以交互方式确认每个替换,请附加"c"以进行确认:
:%s/search/replace/c
Run Code Online (Sandbox Code Playgroud)
交互式确认将"搜索"替换为整个文件的"替换"
您可以使用行号范围代替%字符(请注意,'^'字符是行首的特殊搜索字符):
:14,20s/^/#/
Run Code Online (Sandbox Code Playgroud)
在第14-20行的开头插入一个'#'字符
如果要使用其他注释字符(如//),请更改命令分隔符:
:14,20s!^!//!
Run Code Online (Sandbox Code Playgroud)
在第14-20行的开头插入一个'//'字符序列
或者你总是可以逃脱//字符:
:14,20s/^/\/\//
Run Code Online (Sandbox Code Playgroud)
在第14-20行的开头插入一个'//'字符序列
如果您没有在编辑器中看到行号,只需键入以下内容即可
:set nu
Run Code Online (Sandbox Code Playgroud)
nin*_*rid 35
对于新手来说可能更容易的另一种方式:
some?
code
here
Run Code Online (Sandbox Code Playgroud)
将光标放在第一行,例如
: 1 Enter
并键入以下内容以进入插入模式并添加您的文本:
I / / Space
// ?some
code
here
Run Code Online (Sandbox Code Playgroud)
按Esc返回命令模式并使用有向图:
j . j .
// some
// code
//?here
Run Code Online (Sandbox Code Playgroud)
j是一个动作命令,向下移动一行并.重复您最后编辑的命令.
Yew*_*wge 25
另一种方式:
小智 19
这会#在每行的开头添加:
:%s/^/#/
Run Code Online (Sandbox Code Playgroud)
人们会停止抱怨你缺乏正确的评论脚本.
Luc*_*man 15
如果你想了解它,请将它放在你的.vimrc中:
vmap \c :s!^!//!<CR>
vmap \u :s!^//!!<CR>
Run Code Online (Sandbox Code Playgroud)
然后,只要在可视化模式,你可以打\c至ç omment块,并\u以ü ncomment它.当然,您可以将这些快捷键击更改为任何内容.
Bri*_*per 10
另一种方式:
:'<,'>g/^/norm I//
Run Code Online (Sandbox Code Playgroud)
/^/只是一个匹配每一行的虚拟模式. norm允许您运行后面的正常模式命令. I//表示在将光标跳到行的开头时进入插入模式,然后插入以下文本(两个斜杠).
:g 在多行上执行复杂操作通常很方便,你可能想要在多种模式之间跳转,删除或添加行,移动光标,运行一堆宏等等.你可以告诉它只在行上运行匹配模式.