相关疑难解决方法(0)

什么是在Vim中评论/取消注释行的快速方法?

我在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(-#).

vim comments

1081
推荐指数
28
解决办法
83万
查看次数

在vim中轻松评论(C++)代码

我看过以下问题:

如何在Vim中注释掉一段Python代码

但这似乎对我不起作用.如何在不诉诸插件/脚本的情况下轻松评论代码?

c++ vim

12
推荐指数
3
解决办法
2万
查看次数

如何在Vim for Python代码中切换注释和取消注释

我希望有一个命令来切换 python代码的行/块中的注释.

我在我的.vimrc文件中使用以下代码:

" (un-)commenting
" comment line, selection with Ctrl-N,Ctrl-N
au BufEnter *.py nnoremap ,c mn:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR>:noh<CR>`n
au BufEnter *.py inoremap ,c <C-O>mn<C-O>:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR><C-O>:noh<CR><C-O>`n
au BufEnter *.py vnoremap ,c mn:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR>:noh<CR>gv`n
"
" " uncomment line, selection with Ctrl-N,N
au BufEnter *.py nnoremap ,u mn:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR>:s/^#$//ge<CR>:noh<CR>`n
au BufEnter *.py inoremap ,u <C-O>mn<C-O>:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR><C-O>:s/^#$//ge<CR><C-O>:noh<CR><C-O>`n
au BufEnter *.py vnoremap ,u mn:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR>gv:s/#\n/\r/ge<CR>:noh<CR>gv`n
Run Code Online (Sandbox Code Playgroud)

(改编自此StackOverflow条目)

但是,你是一种进行切换的方法,也就是说,如果它被注释,则使用相同的快捷方式进行注释,如果它被注释,则取消注释?

python vim comments edit code-comments

1
推荐指数
1
解决办法
1480
查看次数

标签 统计

vim ×3

comments ×2

c++ ×1

code-comments ×1

edit ×1

python ×1