Vim - 取消注释使用“//”注释掉的代码块

Vim - Uncomment block of code that's using '//' to comment out

如何取消对使用“//”进行注释的代码块的注释?

我知道使用 Ctrl-Vx 会删除一行“/”,但是如何在不重复此命令两次的情况下在一个命令中执行此操作?

示例:

//var myAppControllers = angualr.module('myAppCOntrollers',[]);
//
//myAppControllers.controller('ListController', ['$scope', '$http', function($scope, $http){ 
//    $http.get('js/data.json).success(function(data){
//        $scope.artists = data;
//        $scope.orderBy = 'name';
//    });
//}]);

是什么阻止您使用视觉块 (Ctrl-V) 模式删除两行?您可以在可视块模式下 select 个矩形。从评论字符的左上角开始,进入可视块模式,将其移动到评论字符的右下角。

如果不能水平扩展选择,视觉块选择有什么用?

<C-v>ljjjjjjjx

Ctrl-V > l > 8j > x

现在解释: Ctrl-V 开始视觉块。 Vim 的主要特点之一让我爱上了它。

l 作用同向右箭头,即向右展开方块。 8j 向下跳转 8 行,因此将选择 9 行的前 2 列。以类似的方式,您可以根据需要制作任意多列或多行的可视块。您可以使用箭头键或 hjkl.

移动

然后用xd

删除它们

我会使用 s 命令。

Select 您要取消注释的块并使用 :s/^\/\///

如果您不反对插件,tpope/vim-commentary 已经涵盖了。轻松注释和取消注释行。甚至可以处理禁止嵌套注释的语言中的嵌套注释,例如 XML.