相关疑难解决方法(0)

在Vim中上下移动整条线

在Notepad ++中,我可以使用Ctrl+ Shift+ Up/ Down来上下移动当前行.在Vim中有类似的命令吗?我看过无尽的向导,却一无所获.

如果没有,我怎么能将动作绑定到该组合键?

编辑:Mykola的答案适用于所有行,除了缓冲区的开头和结尾处.向上移动第一行或向下移动底线会删除该行,当向下移动底线时,它最初会跳转两个空格,就像一个棋子!任何人都可以提供任何改进吗?

vi vim

301
推荐指数
13
解决办法
13万
查看次数

如何使用vim粘贴到新行?

我经常要在vim的新行上粘贴一些东西.我通常做的是:

o<Esc>p
Run Code Online (Sandbox Code Playgroud)

其中插入新行并将其置于插入模式,而不是退出插入模式,最后粘贴.

三次击键.不是很有效率.有更好的想法吗?

vim editor

125
推荐指数
8
解决办法
5万
查看次数

如何在Mac OS X中按选项键时禁用键入特殊字符?

现在当我按下选项-b时,我会得到∫.我不需要输入特殊字符,需要将option-b映射到某些应用程序的快捷方式.有没有办法做到这一点?

macos

120
推荐指数
6
解决办法
4万
查看次数

对Python代码使用Vim折叠的推荐方法是什么?

我有兴趣在Vim for Python代码中启用代码折叠.我注意到有多种方法可以做到这一点.

有没有人有一个首选的方法在Vim中进行Python代码折叠?也就是说,

  • 你有一个特定的Vim插件吗?
  • 您是否使用手动折叠或在评论中放置标记?
  • 在Vim中为Python做代码折叠的其他任何推荐方法?

python vim folding

106
推荐指数
6
解决办法
4万
查看次数

在Vim正常模式下快速切换缓冲区

最近我发现我在Vim中"错误地使用了标签".我一直试图在Vim中使用缓冲区,因为通过MiniBufExplorer辅助,但我发现它很痛苦,因为从正常模式更改缓冲区需要多少次击键.使用选项卡,我可以在正常模式下执行gtgT在选项卡之间来回跳转,我也NUMBERgt可以转到特定选项卡.

使用缓冲区,我要么必须使用:bn,:bp或者使用MiniBufExplorer 进入命令模式,使用Ctrl + kCtrl + Up跳到缓冲区窗口,使用h和向左或向右滚动l然后点击Enter以选择我想要的缓冲区.或者我可以做一些涉及领导序列的事情,但它总是需要从主行中移除多个手指.那是一个真正的痛苦.

如何在正常模式下获得等效的切换标签,以便在正常模式下切换缓冲区,这样我可以做gn/ gpfor :bn/ :bpNUMBERgnfor :buf NUMBER

vim

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

在Vim的命令模式下导航

我是很长时间的emacs用户学习Vim.Emacs允许我使用与任何其他缓冲区相同的导航键盘快捷键在迷你缓冲区(我发布Cx Cs等命令)中导航.例如,即使在迷你缓冲区中,我也可以使用Cf向前导航一个角色.我也可以使用箭头键,但它们太远了.

是否有任何键盘快捷键可以在Vim的命令模式(:)中导航,而不使用箭头键 - 相当于emacs Cf,Cb?谢谢.

vi vim text-editor

55
推荐指数
4
解决办法
9597
查看次数

在iTerm2/Terminal上的vim中的"M-"绑定不起作用

我注意到iTerm2提供了非常方便的功能,使用"Option key as + ESC"(或者作为meta,但显然已经过时了).

我尝试了它们两个,选项键在Bash(set -o emacs模式)和Emacs中按预期工作,但在Vim中没有.因此,我不能使用任何"M-"绑定.我发现的是:

  • 如果我将选项设置为"+ ESC",vim只能理解ESC +键,并且不知道我实际上是指Meta键.
  • 如果我将选项设置为"meta",则使用"option"修改的键的行为与没有修饰符的行为一样(不知道如何正式测试vim从我正在键入的键组合中理解的内容).

"M-"映射在MacVim(7.3.53)中完美运行,但这不是在控制台之外,而是在这个问题的范围内.

我对如何使这些映射在Vim,iTerm2或Terminal下运行感兴趣.

我的规格:

  • MAC OS X Lion 10.7.2
  • iTerm2 1.0.0.20111020
  • vim @ 7.3.107_0 + python26 [虽然是MacPorts]

vim iterm osx-lion

17
推荐指数
2
解决办法
7173
查看次数

vim:我可以让多键绑定的最后一个键重复命令吗?

我想要做的调整窗口大小以vim同样我如何做到这一点的tmux.

随着我的tmux绑定(形式的bind -r J resize-pane -D 5,其中-r我能做的就是重复)<C-b>JJJ,这是相同的数字键和效果的vim15<C-w>+,但要少得多的思想,因为我可以移动拆分,直到它看起来正确的,而不是决定提前多行/列.

另一个例子:我希望能够按下<C-w>++++--,并让它执行与按下相同的操作<C-w>+<C-w>+<C-w>+<C-w>+<C-w>-<C-w>-.(虽然我可能想再次将其重新映射为每次移动5行/列,而不是1).

vim绑定中是否可以使用这种重复/超时模式?

vim

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

vimrc 中使用 Alt 的任何映射都不起作用

我的 .vimrc 中有一些带有 ALT 的映射。他们是:

nnoremap <A-J> :m .+1<CR>==
nnoremap <A-K> :m .-2<CR>==
Run Code Online (Sandbox Code Playgroud)

预期行为:这两个映射应该上下移动一行。但他们没有工作。我什至没有收到任何错误或警告。但当我使用班次时,它们工作正常。下面给出了工作映射。

nnoremap <A-J> :m .+1<CR>==
nnoremap <A-K> :m .-2<CR>==
Run Code Online (Sandbox Code Playgroud)

为什么 ALT 不起作用?

vim

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

标签 统计

vim ×8

vi ×2

editor ×1

folding ×1

iterm ×1

macos ×1

osx-lion ×1

python ×1

text-editor ×1