我在vi中打开了一个Ruby代码文件,有一些注释掉的行#
:
class Search < ActiveRecord::Migration
def self.up
# create_table :searches do |t|
# t.integer :user_id
# t.string :name
# t.string :all_of
# t.string :any_of
# t.string :none_of
# t.string :exact_phrase
#
# t.timestamps
# end
end
def self.down
# drop_table :searches
end
end
Run Code Online (Sandbox Code Playgroud)
假设我想取消注释第一def ... end
部分中的所有行.在Vim中这样做的有效方法是什么?
一般来说,我正在寻找一种简单流畅的方式来评论和取消注释.在这里,我正在处理Ruby代码,但它可能是JavaScript(//
)或Haml(-#
).
CMS*_*CMS 2322
对于那些任务,我使用大部分时间块选择.
将光标放在第一个#
字符上,按CtrlV(或CtrlQ对于gVim),然后向下直到最后一个注释行并按x,这将#
垂直删除所有字符.
对于评论文本块几乎是相同的:
VISUAL BLOCK
模式.INSERT
模式,然后按#.这将向第一行添加哈希.#
在所有其他选定的行上插入一个字符.对于debian/ubuntu默认附带的精简版vim,请输入: s/^/#
第三步.
这是两个用于视觉参考的小屏幕录音.
ame*_*lia 776
%
如果要选择多个字符,请使用一个或组合这些方法:
Mag*_*nus 312
有时候我被绑在一个远程盒子里,我的插件和.vimrc无法帮助我,或者有时候NerdCommenter错了(例如嵌入HTML中的JavaScript).
在这些情况下,一种低技术替代方案是内置norm
命令,它只在指定范围内的每一行运行任意vim命令.例如:
评论 #
:
1. visually select the text rows (using V as usual)
2. :norm i#
Run Code Online (Sandbox Code Playgroud)
这会在每行的开头插入"#".请注意,当您键入时:范围将被填充,因此它看起来确实如此:'<,'>norm i#
取消注释 #
:
1. visually select the text as before (or type gv to re-select the previous selection)
2. :norm x
Run Code Online (Sandbox Code Playgroud)
这将删除每行的第一个字符.如果我使用了诸如//之类的2-char注释,那么我只是:norm xx
删除两个字符.
如果评论在OP的问题中缩进,那么您可以锚定您的删除,如下所示:
:norm ^x
Run Code Online (Sandbox Code Playgroud)
这意味着"转到第一个非空格字符,然后删除一个字符".请注意,与块选择不同,即使注释具有不均匀的缩进,此技术也可以工作!
注意:由于norm
字面上只是执行常规vim命令,因此您不仅限于注释,还可以对每一行进行一些复杂的编辑.如果您需要将转义字符作为命令序列的一部分,请键入ctrl-v然后点击转义键(或者更简单,只需记录一个快速宏,然后使用norm在每一行上执行该宏).
注意2:如果你发现自己经常使用,你当然也可以添加一个映射norm
.例如,把下面的行的〜/ .vimrc允许您键入ctrl-n
,而不是:norm
让你的视觉选择后
vnoremap <C-n> :norm
Run Code Online (Sandbox Code Playgroud)
注3:Bare-bones vim有时没有norm
编译到其中的命令,所以一定要使用增强版本,即通常是/ usr/bin/vim,而不是/ bin/vi
(感谢@Manbroski和@rakslice对此答案的改进)
Man*_*ron 171
我使用NERD Commenter脚本.它可以让您轻松评论,取消注释或切换代码中的注释.
如评论中所述:
对于任何对使用感到困惑的人,默认的领导者是"\"所以10\cc将评论十行,10\cu将取消注释这十行
jqn*_*qno 115
我有以下内容.vimrc
:
" Commenting blocks of code.
autocmd FileType c,cpp,java,scala let b:comment_leader = '// '
autocmd FileType sh,ruby,python let b:comment_leader = '# '
autocmd FileType conf,fstab let b:comment_leader = '# '
autocmd FileType tex let b:comment_leader = '% '
autocmd FileType mail let b:comment_leader = '> '
autocmd FileType vim let b:comment_leader = '" '
noremap <silent> ,cc :<C-B>silent <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR>
noremap <silent> ,cu :<C-B>silent <C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR>
Run Code Online (Sandbox Code Playgroud)
现在,您可以键入,cc
注释一行并,cu
取消注释一行(在正常模式和可视模式下都可以).
(我多年前从某个网站偷了它,所以我不能完全解释它是如何工作的:).有一个评论说明.)
小智 110
指定要在vim中注释的行:
显示行号:
:set number
Run Code Online (Sandbox Code Playgroud)
然后
:5,17s/^/#/ this will comment out line 5-17
Run Code Online (Sandbox Code Playgroud)
或这个:
:%s/^/#/ will comment out all lines in file
Run Code Online (Sandbox Code Playgroud)
Mar*_*cin 56
我是这样做的:
转到要注释掉的第一行的第一个字符.
命中Ctrl+ q在GVIM或Ctrl+ v在VIM,然后再往上选择行第一个字符注释掉.
然后按c,并添加注释字符.
取消注释以相同的方式工作,只需键入空格而不是注释字符.
小智 31
我已经提出了一个简单的添加到我的.vimrc文件,该文件非常好用,并且可以轻松扩展.您只需向comment_map及其评论标题添加新的文件类型即可.
我添加了正常和可视模式的映射,但您可以重新映射到您喜欢的任何内容.我更喜欢只有'切换'风格的功能.一个人有多个映射等.
let s:comment_map = {
\ "c": '\/\/',
\ "cpp": '\/\/',
\ "go": '\/\/',
\ "java": '\/\/',
\ "javascript": '\/\/',
\ "lua": '--',
\ "scala": '\/\/',
\ "php": '\/\/',
\ "python": '#',
\ "ruby": '#',
\ "rust": '\/\/',
\ "sh": '#',
\ "desktop": '#',
\ "fstab": '#',
\ "conf": '#',
\ "profile": '#',
\ "bashrc": '#',
\ "bash_profile": '#',
\ "mail": '>',
\ "eml": '>',
\ "bat": 'REM',
\ "ahk": ';',
\ "vim": '"',
\ "tex": '%',
\ }
function! ToggleComment()
if has_key(s:comment_map, &filetype)
let comment_leader = s:comment_map[&filetype]
if getline('.') =~ "^\\s*" . comment_leader . " "
" Uncomment the line
execute "silent s/^\\(\\s*\\)" . comment_leader . " /\\1/"
else
if getline('.') =~ "^\\s*" . comment_leader
" Uncomment the line
execute "silent s/^\\(\\s*\\)" . comment_leader . "/\\1/"
else
" Comment the line
execute "silent s/^\\(\\s*\\)/\\1" . comment_leader . " /"
end
end
else
echo "No comment leader found for filetype"
end
endfunction
nnoremap <leader><Space> :call ToggleComment()<cr>
vnoremap <leader><Space> :call ToggleComment()<cr>
Run Code Online (Sandbox Code Playgroud)
注意:
我没有对文件类型/加载使用任何回调或挂钩,因为我发现它们比.vimrc
静态函数/映射更慢地减慢了Vim的启动速度,但这只是我的偏好.我也试图保持简单和高效.如果您确实使用自动命令,则需要确保将它们放在自动命令组中,否则回调会在每个文件加载时多次添加到文件类型,并导致大量性能下降.
Fla*_*che 31
如果你需要的是拨动意见我会跟宁愿去commentary.vim通过tpope.
病原:
cd ~/.vim/bundle
git clone git://github.com/tpope/vim-commentary.git
Run Code Online (Sandbox Code Playgroud)
VIM插头:
Plug 'tpope/vim-commentary'
Run Code Online (Sandbox Code Playgroud)
Vundle:
Plugin 'tpope/vim-commentary'
Run Code Online (Sandbox Code Playgroud)
将其添加到.vimrc文件中: noremap <leader>/ :Commentary<cr>
您现在可以通过按Leader
+ 来切换注释/
,就像Sublime和Atom一样.
inn*_*naM 16
这是我的一部分.vimrc
:
"insert and remove comments in visual and normal mode
vmap ,ic :s/^/#/g<CR>:let @/ = ""<CR>
map ,ic :s/^/#/g<CR>:let @/ = ""<CR>
vmap ,rc :s/^#//g<CR>:let @/ = ""<CR>
map ,rc :s/^#//g<CR>:let @/ = ""<CR>
Run Code Online (Sandbox Code Playgroud)
在正常和可视模式下,这可以让我按下,ic以插入注释并,rc删除注释.
And*_*ndy 13
我使用vim 7.4,这对我有用.
假设我们正在评论/取消注释3行.
评论:
如果行的开头有没有标签/空间:
ctrl + V
那么jjj
然后shift + I (cappital i)
再//
然后esc esc
,如果行有标签/空间在开始的时候你仍然可以做上面或交换为c
:
ctrl + V
然后jjj
再c
然后//
再esc esc
取消注释:
如果线必须在开始时没有标签/空间:
ctrl + V
然后jjj
再ll (lower cap L)
然后c
如果线必须在开始选项卡/空间,那么你的空间一个过来,esc
ctrl + V
然后jjj
再ll (lower cap L)
然后c
再space
然后esc
mat*_*est 12
我结合了 Phil 和 jqno 的回答,并用空格取消了评论:
autocmd FileType c,cpp,java,scala let b:comment_leader = '//'
autocmd FileType sh,ruby,python let b:comment_leader = '#'
autocmd FileType conf,fstab let b:comment_leader = '#'
autocmd FileType tex let b:comment_leader = '%'
autocmd FileType mail let b:comment_leader = '>'
autocmd FileType vim let b:comment_leader = '"'
function! CommentToggle()
execute ':silent! s/\([^ ]\)/' . escape(b:comment_leader,'\/') . ' \1/'
execute ':silent! s/^\( *\)' . escape(b:comment_leader,'\/') . ' \?' . escape(b:comment_leader,'\/') . ' \?/\1/'
endfunction
map <F7> :call CommentToggle()<CR>
Run Code Online (Sandbox Code Playgroud)
这个怎么运作:
让我们假设我们使用#-comments。
第一个命令s/\([^ ]\)/# \1/
搜索第一个非空格字符[^ ]
并将其替换为#
+ itself
。自身替换由\(..\)
搜索模式和\1
替换模式中的 完成。
第二个命令s/^\( *\)# \?# \?/\1/
搜索以双注释开头的行^\( *\)# \?# \?
(在注释之间接受 0 或 1 个空格)并简单地用非注释部分替换那些行\( *\)
(意味着前面的空格数相同)。
有关 vim 模式的更多详细信息,请查看这里。
我喜欢使用tcomment插件:http://www.vim.org/scripts/script.php? script_id = 1173
我已经映射了gc和gcc来评论一行或突出显示的代码块.它检测文件类型并且工作得很好.
如何在vi中取消注释以下三行:
#code code
#code
#code code code
Run Code Online (Sandbox Code Playgroud)
将光标放在左上角的#
符号上,然后按CtrlV.这使您处于可视阻止模式.按向下箭头或J三次以选择所有三条线.然后按D.所有评论都消失了.要撤消,请按U.
如何在vi中评论以下三行:
code code
code
code code code
Run Code Online (Sandbox Code Playgroud)
将光标放在左上角,按CtrlV.这使您处于可视阻止模式.按↓或J三次以选择所有三条线.然后按:
I//Esc
这是资本I,//和Escape.
按下时ESC,所有选定的行都将获得您指定的注释符号.
在我之前有30个答案,我将尝试提供一个更简单的解决方案:#
在行的开头插入一个.然后沿着一条线按下dot(.
).要重复,做j
,.
,j
,.
,等...要取消注释,删除#
(你能打到x
过#
),并使用反向做k
,.
等...
是的,这个问题已经有33个(主要是重复的)答案.
这是另一种如何在Vim中评论线条的方法:运动.基本思想是使用与通过键入yip
或删除2行来删除段落相同的方法来注释或取消注释行dj
.
这种方法可以让你做到这样的事情:
ccj
评论接下来的2行,并cuk
取消注释;
cci{
评论一个块,并cui{
取消注释;
ccip
评论整个段落,并cuip
取消注释.
ccG
将所有内容评论到最后一行,并cugg
取消注释到第一行的所有内容.
您只需要2个在运动中运行的功能,以及每个功能的2个映射.首先,映射:
nnoremap <silent> cc :set opfunc=CommentOut<cr>g@
vnoremap <silent> cc :<c-u>call CommentOut(visualmode(), 1)<cr>
nnoremap <silent> cu :set opfunc=Uncomment<cr>g@
vnoremap <silent> cu :<c-u>call Uncomment(visualmode(), 1)<cr>
Run Code Online (Sandbox Code Playgroud)
(参见有关g@
运算符和operatorfunc
变量的手册.)
而现在的功能:
function! CommentOut(type, ...)
if a:0
silent exe "normal! :'<,'>s/^/#/\<cr>`<"
else
silent exe "normal! :'[,']s/^/#/\<cr>'["
endif
endfunction
function! Uncomment(type, ...)
if a:0
silent exe "normal! :'<,'>s/^\\(\\s*\\)#/\\1/\<cr>`<"
else
silent exe "normal! :'[,']s/^\\(\\s*\\)#/\\1/\<cr>`["
endif
endfunction
Run Code Online (Sandbox Code Playgroud)
修改上面的正则表达式,以满足您#
应该在哪里的品味:
一些常规的 Vim 命令不适用于我在 Windows 上的设置。 Ctrl + v是Ctrl + q其中的一些人。后来我发现以下方法可以取消注释行。
给定
一些缩进的评论
# Practice in Vim
# Practice in Vim
# Practice in Vim
# Practice in Vim
# Practice in Vim
# Practice in Vim
# Practice in Vim
Run Code Online (Sandbox Code Playgroud)
以下方法删除#
符号并保留缩进。
方法
将光标移至第一个注释(箭头或h, j, k, l)。然后应用以下技术之一:
视觉块模式(更快)
代换
:s/#//
将哈希值替换为空:s/# //
包含空格(可选):norm
命令
在 VISUAL 模式下突出显示文本:Shift + v
输入命令+:
:norm ^x
删除第一个非空白字符:norm ^xx
包含空格(可选)Enter
g
模式
:g/#/norm! ^x
。:g/#/norm! ^xx
包含空格(可选)dgn
\#
Enterdgn
......
结果
Practice in Vim
Practice in Vim
Practice in Vim
Practice in Vim
Practice in Vim
Practice in Vim
Practice in Vim
Run Code Online (Sandbox Code Playgroud)
也可以看看
+:
在视觉模式下输入并创建:'<,'>
提示。
有这个改变生活的插件tpope
叫做vim-commentary
https://github.com/tpope/vim-commentary
这个插件提供:
用法:
:<,'>
:<,'>Commentary
并按Enter。我使用EnhancedCommentify.它评论我需要的一切(编程语言,脚本,配置文件).我使用它与视觉模式绑定.只需选择要评论的文本,然后按co/cc/cd即可.
vmap co :call EnhancedCommentify('','guess')<CR>
vmap cc :call EnhancedCommentify('','comment')<CR>
vmap cd :call EnhancedCommentify('','decomment')<CR>
Run Code Online (Sandbox Code Playgroud)
"comment (cc) and uncomment (cu) code
noremap <silent> cc :s,^\(\s*\)[^# \t]\@=,\1# ,e<CR>:nohls<CR>zvj
noremap <silent> cu :s,^\(\s*\)# \s\@!,\1,e<CR>:nohls<CR>zvj
Run Code Online (Sandbox Code Playgroud)
您可以使用 # 注释/取消注释单行或多行。要执行多行,请选择行,然后键入 cc/cu 快捷方式,或键入一个数字,然后键入 cc/cu,例如 7cc 将注释光标处的 7 行。
我从What's the most beautiful way of commenting / uncommenting block of ruby code in Vim?上的人那里得到了原始代码。并做了一些小更改(更改了快捷键,并在#后面添加了一个空格)。
从这里答案中的想法开始,我启动了自己的评论功能。它可以打开和关闭评论。它可以处理诸如//print('blue'); //this thing is blue
切换第一条评论之类的事情。此外,它在第一个非空白所在的位置添加注释和一个空格,而不是在行的开头。此外,它不会不必要地复制空格,而是在注释和缩进行时使用缩放(:h \zs 以获得帮助)来避免这种额外的工作。希望它能帮助一些极简主义者。欢迎提出建议。
" these lines are needed for ToggleComment()
autocmd FileType c,cpp,java let b:comment_leader = '//'
autocmd FileType arduino let b:comment_leader = '//'
autocmd FileType sh,ruby,python let b:comment_leader = '#'
autocmd FileType zsh let b:comment_leader = '#'
autocmd FileType conf,fstab let b:comment_leader = '#'
autocmd FileType matlab,tex let b:comment_leader = '%'
autocmd FileType vim let b:comment_leader = '"'
" l:pos --> cursor position
" l:space --> how many spaces we will use b:comment_leader + ' '
function! ToggleComment()
if exists('b:comment_leader')
let l:pos = col('.')
let l:space = ( &ft =~ '\v(c|cpp|java|arduino)' ? '3' : '2' )
if getline('.') =~ '\v(\s*|\t*)' .b:comment_leader
let l:space -= ( getline('.') =~ '\v.*\zs' . b:comment_leader . '(\s+|\t+)@!' ? 1 : 0 )
execute 'silent s,\v^(\s*|\t*)\zs' .b:comment_leader.'[ ]?,,g'
let l:pos -= l:space
else
exec 'normal! 0i' .b:comment_leader .' '
let l:pos += l:space
endif
call cursor(line("."), l:pos)
else
echo 'no comment leader found for filetype'
end
endfunction
nnoremap <Leader>t :call ToggleComment()<CR>
inoremap <Leader>t <C-o>:call ToggleComment()<CR>
xnoremap <Leader>t :'<,'>call ToggleComment()<CR>
Run Code Online (Sandbox Code Playgroud)
您可以通过 tpope ( https://github.com/tpope/vim-commentary )使用 vim-commentary ,您可以按如下方式使用它:
按进入可视模式
'v'
Run Code Online (Sandbox Code Playgroud)
然后按
'j' repeatedly or e.g 4j to select 4 row
Run Code Online (Sandbox Code Playgroud)
现在您所要做的就是输入键进行选择:
'gc'
Run Code Online (Sandbox Code Playgroud)
这将注释掉所有选择,以取消注释重复键:
'gc'
Run Code Online (Sandbox Code Playgroud)
如果您无法安装插件但仍希望注释字符遵循现有的缩进级别,则此答案最有用。
这个答案在这里是为了 1) 显示正确的代码粘贴到 a.vimrc
中vim 7.4+
以进行块注释/取消注释,同时在可视模式下使用 1 个快捷方式保持缩进级别和 2) 解释它。这是代码:
let b:commentChar='//'
autocmd BufNewFile,BufReadPost *.[ch] let b:commentChar='//'
autocmd BufNewFile,BufReadPost *.cpp let b:commentChar='//'
autocmd BufNewFile,BufReadPost *.py let b:commentChar='#'
autocmd BufNewFile,BufReadPost *.*sh let b:commentChar='#'
function! Docomment ()
"make comments on all the lines we've grabbed
execute '''<,''>s/^\s*/&'.escape(b:commentChar, '\/').' /e'
endfunction
function! Uncomment ()
"uncomment on all our lines
execute '''<,''>s/\v(^\s*)'.escape(b:commentChar, '\/').'\v\s*/\1/e'
endfunction
function! Comment ()
"does the first line begin with a comment?
let l:line=getpos("'<")[1]
"if there's a match
if match(getline(l:line), '^\s*'.b:commentChar)>-1
call Uncomment()
else
call Docomment()
endif
endfunction
vnoremap <silent> <C-r> :<C-u>call Comment()<cr><cr>
Run Code Online (Sandbox Code Playgroud)
这个怎么运作:
let b:commentChar='//'
: 这会在 vim 中创建一个变量。在b
这里指的是范围,在这种情况下被包含到缓冲区,这意味着当前打开的文件。您的评论字符是字符串,需要用引号括起来,引号不是切换评论时将被替换的内容的一部分。
autocmd BufNewFile,BufReadPost *...
:自动命令在不同的事情上触发,在这种情况下,这些是在新文件或读取的文件以某个扩展名结束时触发。一旦触发,执行以下命令,这允许我们commentChar
根据文件类型更改。还有其他方法可以做到这一点,但它们对新手(像我一样)来说更容易混淆。
function! Docomment()
: 函数以 开头function
和结尾声明endfunction
。函数必须以大写开头。所述!
,该函数将覆盖定义为任何先前的功能,确保Docomment()
与此版本的Docomment()
。如果没有!
,我会出错,但这可能是因为我通过 vim 命令行定义了新函数。
execute '''<,''>s/^\s*/&'.escape(b:commentChar, '\/').' /e'
: 执行调用命令。在这种情况下,我们正在执行substitute
,它可以采用一个范围(默认情况下这是当前行),例如%
整个缓冲区或'<,'>
突出显示的部分。^\s*
是正则表达式以匹配行的开头,后跟任意数量的空格,然后附加到(由于&
)。在.
这里用于字符串连接,因为escape()
不能用引号包裹。escape()
让你逃脱字符commentChar
的参数匹配(在这种情况下,\
并/
通过与前面加上它们)\
。在此之后,我们再次连接到我们的substitute
字符串的末尾,它具有e
旗帜。这个标志让我们默默地失败,这意味着如果我们在给定的行上没有找到匹配项,我们就不会大喊大叫。总的来说,这一行让我们在第一个文本之前放置一个注释字符,后跟一个空格,这意味着我们保持缩进级别。
execute '''<,''>s/\v(^\s*)'.escape(b:commentChar, '\/').'\v\s*/\1/e'
: 这类似于我们上一个巨大的长命令。与此不同的是,我们有\v
,它确保我们不必逃避我们的()
, and 1
,它指的是我们用我们的()
. 基本上,我们匹配一行以任意数量的空格开头,然后是我们的注释字符,后跟任意数量的空格,我们只保留第一组空格。同样,e
如果该行没有注释字符,让我们静默失败。
let l:line=getpos("'<")[1]
: 这设置了一个变量,就像我们对注释字符所做的一样,但l
指的是局部作用域(对于这个函数是局部的)。getpos()
在这种情况下,获取突出显示开始的位置,以及[1]
我们只关心行号,而不关心列号等其他内容的方式。
if match(getline(l:line), '^\s*'.b:commentChar)>-1
: 你知道如何if
运作。match()
检查第一件事是否包含第二件事,所以我们抓住我们开始突出显示的那一行,并检查它是否以空格开头,后跟我们的注释字符。如果未找到匹配项match()
,-1
则返回此为 true 的索引。由于if
评估所有非零数字为真,我们必须比较我们的输出以查看它是否大于 -1。比较vim
返回 0 如果为 false,如果为 true,则返回 1,这是if
要正确评估的结果。
vnoremap <silent> <C-r> :<C-u>call Comment()<cr><cr>
:vnoremap
表示在可视模式下映射以下命令,但不要递归映射(意思是不要更改可能以其他方式使用的任何其他命令)。基本上,如果您是 vim 新手,请始终使用noremap
以确保您不会破坏东西。<silent>
意思是“我不想要你的话,只想要你的行动”并告诉它不要在命令行打印任何东西。<C-r>
是我们要映射的东西,在这种情况下是 ctrl+r(注意,在此映射的正常模式下,您仍然可以正常使用 Cr 进行“重做”)。C-u
有点令人困惑,但基本上它可以确保您不会忘记您的视觉突出显示(根据这个答案,它使您的命令从'<,'>
我们想要的开始)。call
这里只是告诉vim执行我们命名的函数,<cr>
指的是点击enter
按钮。我们必须点击它一次才能实际调用该函数(否则我们只是call function()
在命令行上输入,我们必须再次点击它才能让我们的替代品一直通过(不确定为什么,但无论如何)。
无论如何,希望这会有所帮助。这将采用v
, V
, 或突出显示的任何内容C-v
,检查第一行是否被注释,如果是,请尝试取消注释所有突出显示的行,如果没有,则为每行添加额外的注释字符层。这是我想要的行为;我不只是想让它切换块中的每一行是否被注释,所以在问了 关于这个主题的多个问题后,它对我来说非常适合。
视觉,Shift-I
并没有为我工作。
没有任何插件的最简单的工作是
选择块 -V
然后j
或k
或任何相关动作(不要使用箭头键):)
然后点击:
它提示命令:'<,'>
评论
Using # - `s/^/#/`
Using `//` - `s/^/\/\//`
Run Code Online (Sandbox Code Playgroud)
取消注释
Using # - `s/^#//`
Using `//` - `s/^\/\//`
Run Code Online (Sandbox Code Playgroud)
说明——
'<,'>
- 适用于视觉块
s
- 代替
^
- 以。。开始
在这种情况下为转义/
添加字符后#
\/\/
//
归档时间: |
|
查看次数: |
828344 次 |
最近记录: |