我喜欢vim和它给我的速度.但有时,我的手指太快了,我发现自己打字:WQ
而不是:wq
.(在德国的键盘,你必须按下Shift得到冒号:
.)然后Vim会抱怨说,WQ
是Not an editor command
.
有没有办法制作W
和Q
编辑命令?
在VIM,我想缩短:tabnew
到:tn
,:tabp
到:th
,:tabn
到:tl
我的地方.vimrc
.知道如何重新映射这样的命令吗?
我是vim的新用户(在Windows中使用gvim),并且发现缩写节省了很多时间 - 但是如果我能够有时停止尾随空格,它们会更好.
我有一些我经常使用的目录,所以我在我的_vimrc中添加了一些缩写/路径对:
:ab diR1 C:/dirA/dira/dir1/
:ab diR2 C:/dirA/dirb/dir2/
Run Code Online (Sandbox Code Playgroud)
等......
现在,当我输入时,diR1 <space>
我得到C:/dirA/dira/dir1/[]|
了空格所代表的位置[]
,而光标就是|
字符.我想摆脱[]
==空白.
这是一个小小的抱怨:但是你似乎能够在Vim中定制其他内容,所以我想我会问 - 当在vim中使用缩写时是否可以避免尾随空格?
在Vim中使用的另一个工具是一个很好的答案 - 我的目标是保存重新键入常用的目录结构,但是让光标很方便,因为我几乎总是会添加一些东西到底,例如myFile.txt
.
space
在添加myFile.txt
到结尾之前我退回的尾随空白区域(无疑由于触发缩写的事实而言)比反复输入整个东西更不烦人,但如果我能避免这样做,那将是理想的. .
在vim中,在我的.vimrc中,如何将命令(即:e)重新定义为其他内容?我想重新定义:e *
为:tabe *
.
:help
Vim中的默认行为在水平拆分中打开帮助.
我需要重新映射:help
到执行:tab help
,以便始终在新选项卡中打开帮助.
如何重新映射此命令?
让我们假设,我总是忘记命令:vsplit
,并且总是认为这是命令:vdivide
.
有没有一种方法来映射(我不确定这是否是正确的称呼它,因为它是一个命令)一个到另一个?
众所周知,我们可以:source
当前缓冲:so %
.
但有时我想:source
只是缓冲区的一部分,而不是整个缓冲区.说,我刚给我添加了一些内容.vimrc
,并希望获取该部分,但我不想重新提供所有其他内容.
我尝试了选择文本和:so
(实际:'<,'>so
),但它报告不允许范围.那么,怎么办呢?
当然,我可以将所需的部分保存到临时文件并获取它,但它显然很烦人.
我使用Vim插件ack.vim,但我不明白为什么命令是:Ack
用大写的"A"(有点烦人持有shift).
是否有可能将其重新映射到:ack
?
我想重新映射q
和q!
.这是我正在尝试的:
cnoremap q :call TabCloseLeft('q') cnoremap q! :call TabCloseLeft('q!')
这适当地重新映射:q
但不捕获:q!
.我已经阅读了各种帮助部分,但我显然忽略了一些东西.
我经常使用:sf <filename>
,vim
水平分割并在新窗口中编辑所述文件.
我想知道同样的命令是什么做同样的但是垂直分割而不是水平分割?
:vne
似乎是我能找到的最接近的,但帮助说它不会像搜索那样搜索文件:sf
.
我发现我的目录中散布着名为;
(分号)的文件,因为我一直:w;
不小心按下。防止这种情况最简单的方法是什么?