相关疑难解决方法(0)

Vim中的remap,noremap,nnoremap和vnoremap映射命令有什么区别?

Vim中的remap,noremap,nnoremap和vnoremap映射命令有什么区别?

mapping vim command

1045
推荐指数
4
解决办法
18万
查看次数

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

我想知道Vim中是否有任何键映射允许我缩进某些代码行(是否在可视模式下选择了这些行,或者当前光标位置上方/下方的n行).

所以基本上可以转换以下内容

def my_fun(x, y):
    return x + y
Run Code Online (Sandbox Code Playgroud)

#def my_fun(x, y):
#    return x + y
Run Code Online (Sandbox Code Playgroud)

我可以使用任何一个#"""用于评论相关的行.理想情况下,如果给定的行已被注释掉,我也希望使用相同的键映射来取消注释行.

python vim editor

183
推荐指数
11
解决办法
10万
查看次数

Vim:如何以可视块模式插入?

在Vim中处于可视块模式(通过按ctrl-V)时如何插入?

vim

117
推荐指数
5
解决办法
9万
查看次数

在Vim中评论/取消注释ruby代码块的最优雅方式是什么?

在VIM中,我需要注释掉一段Ruby代码:

  • 我导航到我要注释掉的行的第一列
  • 我按CTRL-v进入可视区块模式
  • 我向下导航到我想要结束操作的地方
  • r<space>如果我想取消注释代码或者r#我想将其注释掉,我会输入.

这个工作流程对我来说似乎没问题,有没有办法改进这个过程?是否有任何其他技巧可以在vim中评论或取消注释ruby代码部分?

vim

38
推荐指数
6
解决办法
2万
查看次数

您最喜欢在Vim中评论几行的方式是什么?

我经常在Vim中同时评论几行,这种情况经常发生.我所知道的方法并不像TextMate那样快速地评论行.

你最喜欢的方式是什么?

我目前使用:

方法1:

  • 转到第一行的char并使用blockwise visual mode(ctrl- v)
  • 向下/向上,直到选择要注释掉的每一行的第一个字符
  • 使用shift- i然后输入你的评论字符(#对于Ruby)
  • 用于esc将注释字符插入每一行

方法2:

  • 使用线性可视模式选择需要注释掉的行(shift- v)
  • 类型:,它提供了一个:'<,'>可以扩展到的提示:'<,'>s/^/#/

方法3:

  • 转到要注释的第一行
  • 制作书签,例如打字 mm
  • 转到要注释掉的最后一行
  • 类型 :'m,.s/^/#/

我最喜欢方法1,但我仍然希望有更好的方法.

vim comments commenting

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

插入字符而不进入插入模式?

有时我想插入一个 #注释掉一行并快速测试.目前我这样做:

i#ESC:w

我能做些什么吗?

vim keymapping shortcut

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

Vim响应很慢

如果我打开一个包含5,000行代码的文件并继续输入,我发现我的vim变得非常慢,它在大约1秒后显示我的输入.

在我开始之后,它甚至不会变得更好--noplugin.但在切换我的.vimrc文件后,一切都恢复 正常.该.vimrc文件由我自己编写,经过一段时间的检查,我仍然无法找到错误.我已清除所有关键地图,但问题仍然存在.

所以你能给我任何建议或告诉我如何在vim中调试吗?我发现有一个调试选项,但无法获得如何工作.

vim editor

10
推荐指数
4
解决办法
1万
查看次数

在Logstash配置文件中阻止注释

我刚刚开始使用Logstash,并想知道是否有办法在logstash配置文件中指定块注释?当我使用跨越多行的长grok模式进行测试时,它将非常有用.

block-comments logstash logstash-configuration

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

如何在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中向多行添加注释?

我知道如何在VIM中注释多行,但是如果我想在每行的末尾添加注释呢?例如:

function dir.ls(path)
    local i,files = 0,{}
    local pfile = io.popen('ls "'..path..'"')
    for fname in pfile:lines() do
        i = i + 1
        fpath = path..fname
        files[i] = fpath
    end
    pfile:close()
    return files
end
Run Code Online (Sandbox Code Playgroud)

现在添加评论:

function dir.ls(path)
    local i,files = 0,{}
    local pfile = io.popen('ls "'..path..'"')
    for fname in pfile:lines() do
        i = i + 1
        fpath = path..fname  -- your comment goes here
        files[i] = fpath -- your comment goes here
    end
    pfile:close() -- your comment …
Run Code Online (Sandbox Code Playgroud)

vim

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