在Notepad ++中,我可以使用Ctrl+ Shift+ Up/ Down来上下移动当前行.在Vim中有类似的命令吗?我看过无尽的向导,却一无所获.
如果没有,我怎么能将动作绑定到该组合键?
编辑:Mykola的答案适用于所有行,除了缓冲区的开头和结尾处.向上移动第一行或向下移动底线会删除该行,当向下移动底线时,它最初会跳转两个空格,就像一个棋子!任何人都可以提供任何改进吗?
我经常要在vim的新行上粘贴一些东西.我通常做的是:
o<Esc>p
Run Code Online (Sandbox Code Playgroud)
其中插入新行并将其置于插入模式,而不是退出插入模式,最后粘贴.
三次击键.不是很有效率.有更好的想法吗?
现在当我按下选项-b时,我会得到∫.我不需要输入特殊字符,需要将option-b映射到某些应用程序的快捷方式.有没有办法做到这一点?
我有兴趣在Vim for Python代码中启用代码折叠.我注意到有多种方法可以做到这一点.
有没有人有一个首选的方法在Vim中进行Python代码折叠?也就是说,
最近我发现我在Vim中"错误地使用了标签".我一直试图在Vim中使用缓冲区,因为通过MiniBufExplorer辅助,但我发现它很痛苦,因为从正常模式更改缓冲区需要多少次击键.使用选项卡,我可以在正常模式下执行gt或gT在选项卡之间来回跳转,我也NUMBERgt可以转到特定选项卡.
使用缓冲区,我要么必须使用:bn,:bp或者使用MiniBufExplorer 进入命令模式,使用Ctrl + k或Ctrl + Up跳到缓冲区窗口,使用h和向左或向右滚动l然后点击Enter以选择我想要的缓冲区.或者我可以做一些涉及领导序列的事情,但它总是需要从主行中移除多个手指.那是一个真正的痛苦.
如何在正常模式下获得等效的切换标签,以便在正常模式下切换缓冲区,这样我可以做gn/ gpfor :bn/ :bp和NUMBERgnfor :buf NUMBER?
我是很长时间的emacs用户学习Vim.Emacs允许我使用与任何其他缓冲区相同的导航键盘快捷键在迷你缓冲区(我发布Cx Cs等命令)中导航.例如,即使在迷你缓冲区中,我也可以使用Cf向前导航一个角色.我也可以使用箭头键,但它们太远了.
是否有任何键盘快捷键可以在Vim的命令模式(:)中导航,而不使用箭头键 - 相当于emacs Cf,Cb?谢谢.
我注意到iTerm2提供了非常方便的功能,使用"Option key as + ESC"(或者作为meta,但显然已经过时了).
我尝试了它们两个,选项键在Bash(set -o emacs模式)和Emacs中按预期工作,但在Vim中没有.因此,我不能使用任何"M-"绑定.我发现的是:
"M-"映射在MacVim(7.3.53)中完美运行,但这不是在控制台之外,而是在这个问题的范围内.
我对如何使这些映射在Vim,iTerm2或Terminal下运行感兴趣.
我的规格:
我想要做的调整窗口大小以vim同样我如何做到这一点的tmux.
随着我的tmux绑定(形式的bind -r J resize-pane -D 5,其中-r我能做的就是重复)<C-b>JJJ,这是相同的数字键和效果的vim的15<C-w>+,但要少得多的思想,因为我可以移动拆分,直到它看起来正确的,而不是决定提前多行/列.
另一个例子:我希望能够按下<C-w>++++--,并让它执行与按下相同的操作<C-w>+<C-w>+<C-w>+<C-w>+<C-w>-<C-w>-.(虽然我可能想再次将其重新映射为每次移动5行/列,而不是1).
vim绑定中是否可以使用这种重复/超时模式?
我的 .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 不起作用?