在vim中进入ex模式的更快方式是什么?

5

有没有一种比较正统的方法可以更快地进入 ex 模式,而不是按下 shift-; 来输入 ':'?为什么会选择这个字符作为经常访问模式的标识呢?我经常会不小心错过 shift 键,开始输入 ex 命令,然后发现需要撤销很多内容,这真的很烦人。感谢您的建议。 :)

5个回答

11

设置自己的映射。例如:

nmap <Space> :

现在,在普通模式下按空格键会带您到命令行。不过就我个人而言,我觉得敲打 : 并不困难。在使用 Vim 几个月后你会习惯的。


这似乎是最好的解决方案 - 我想我不想对除 ':' 以外的另一种方法太习惯,只是希望另一个字符被选择,哈哈 ;) - CMB
有时候只用左手,按Shift+q => Q更容易。 - eomeroff
cough nnoremap - D. Ben Knoble

4

与其创建一个快速宏只是为了输入冒号(:),你可能希望自动化你经常急于完成的任务。这类小技巧会累积起来。

我认为双斜杠是一个易于使用的前缀符。(很多插件将单个反斜杠映射为此)

例如,我有如下映射:

nnoremap \\t :vert stag <-- 在垂直窗口中打开当前单词标记

nnoremap \\g :vimgrep **/* <-- 在代码树中搜索当前光标下的单词

nnoremap \\w :w

等等


根据您的建议,我创建了以下映射,并将添加更多常用的操作:nnoremap ;w :w<CR>谢谢。 - CMB
映射的唯一问题是它已经具有左右移动的一些方便功能,你最终会学到。查看:he f并向下阅读。阅读:he map-which-keys建议使用,和_。想想看,我有一个,w映射,但从未使用 :) - michael

4

输入冒号(:)不会让你进入ex模式,而是进入命令模式。我不确定这是否是默认的键绑定,但按下“Q”可以让我进入ex模式。

至于更快地进入命令模式,没有比单个按键更快的了。我建议花点时间适应它。


1
没错。这是Vim中令人困惑的术语。在命令行模式下,您可以运行Ex命令,但您不在Ex模式下。 - Brian Carper
我认为:是速度和助记符适用性之间的完美平衡。我不希望ex命令像某些移动命令(例如;)一样快,而且由于SHIFT在左手上,而:在右手上,因此它与一个按键一样快。我认为我真正不喜欢的唯一默认映射是^R表示redo。我总是将其映射到U,这样我就可以通过u撤消,U重做来快速跟踪更改历史记录。 - NeilG

2

我把分号字符和冒号字符交换了。

noremap : ;

noremap ; :

现在,要进入命令模式,我只需要按下;(不需要Shift),然后输入:(Shift+;)以重复向前搜索ft


0

芬兰键盘在一个键上有, ;,另一个键上有符号. :。我有以下映射,使使用它们变得更加容易:

noremap , :
noremap : ;
noremap ; ,

if has('terminal')
    tnoremap <C-W>, <C-W>:
endif

这样我就可以简单地按下,进入命令行模式,然后使用shift-,shift-.来移动到下一个/上一个f的搜索结果。

Finnish keylayout


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接